Архитектура:

Xen - Dom0(backend), domU(frontend) - libvirt - XAPI, QEMU

HVM, PV, PVHM

Xenserver - не linux, dom0 -linux

 

Основные команды:

xsconsole   -консоль управления XenServer

xentop  -top для гостевых ВМ

xe host-list  -просмотр хостов в пуле

xe pool-list  -просмотр данных о пулах

xe pool-list params=uuid,master  -узнать мастера в пуле

xe pool-designate-new-master host-uuid=<uuid>  -указать мастера в пуле

xe vm-list  -список VM

-----------------------------+

xe pool-list -данные о пулах

xe sr-list    - перечень SR

xe pbd-list  - перечень PBD

ls -l /dev/disk/by-id  

xe host-list   -перечень хостов в пуле

xe pbd-create sr-uuid=(UUID of the SR) device-config:device=/dev/disk/by-id/scsi-some-long-ID host-uuid=(UUID of host)   -добавить PDB

++++++++++++-

 Посмотреть список хранилищ:

# xe sr-list

Провести сканирование и поиск данных в хранилище:

# xe sr-scan uuid=<SR-UUID>

 

При удалении снимков с помощью XenServer 6.5 с пакетом обновления 1 все выделенное пространство, выделенное для SRS на основе LVM,

автоматически исправляется, и перезагрузка VM не требуется; это называется Online Coalescing.

 

Для ручного запуска слияния снэпшотов (при запуске команды VM будет остановлена):

 

# xe host-call-plugin host-uuid=<host-UUID> plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<VM-UUID>

# xe host-call-plugin host-uuid=<UUID of the pool master Host> plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<uuid of the VM you want to coalesce>

Рекомендуется вручную остановить VM до начала слияния.

 

++++++++++++-++++++++++++-++++++++++++-

Проблема добавления диска в виртуальную машину решается следующим образом.

 

Смотрим UUID VM:

# xe vm-list name-label="centos7 test"

Смотрим какие диски есть у VM на данный момент:

# xe vm-disk-list vm="centos7 test"

По названию ищем диск который не можем добавить:

# xe vdi-list name-label="centos7_test12"

Далее выполняем команду:

# xe vbd-create vm-uuid=UUID device=2 vdi-uuid=UUID bootable=false mode=RW type=Disk

где:

vm-uuid=UUID VM, к которой добавляем диск

device - каким номером будет добавлен диск

vdi-uuid=UUID - это номер диска centos7_test12

 

В результате выполнения команды нам будет показан UUID созданного VBD диска, который мы указываем выполняя команду:

xe vbd-unplug uuid=f9688e0b-d9cb-2818-7179-cc9edfe6

https://blog.zespre.com/2015/02/01/add-virtual-disk-from-xe-cli.html

++++++++++++-++++++++++++-++++++++++++-

Для замены диска в software RAID необходимо после копирования разметки с живого диска на новый, скопировать загрузчик:

# dd if=/usr/share/syslinux/gptmbr.bin of=/dev/sda

где /dev/sda - новый диск.

++++++++++++-++++++++++++-++++++++++++-

Если сбой в пуле:

cat /etc/xensource/pool.conf

xe pool-emergency-transition-to-master

xe pool-recover-slaves

vi /etc/xensource/pool.conf

service xapi restart

xe-toolstack-restart

-----------------------+

xe pool-param-set uuid=uuidVM other-config:auto_poweron=true  -включить автостарт на уровне пула

xe vm-param-set uuid=uuidVM other-config:auto_poweron=true   -включить автостарт для VM
xe sr-create name-label=ISO  type=iso device-config:location=/mnt/isosr device-config:legacy_mode=true content-type=iso    -создать iso хранилище
xe sr-create host-uuid=хоста content-type=user type=lvm device-config:device=/dev/sdd shared=false name-label="VM Storage 1"    -создать LVM хранилище на диске sdd

xe sr-create host-uuid=хоста content-type=user type=ext device-config:device=/dev/sdc shared=false name-label="VM Storage 2"   -создать EXT хранилище на диске sdc

на EXT хранилище виртуальные машины на нем хранятся в виде файлов, например как на NFS.

xe vm-memory-limits-set uuid=uuidVM static-min=8489271296 static-max=8489271296 dynamic-min=8489271296 dynamic-max=8489271296  -устновить 8Gb оперативной памяти для VM

---------------------------------+

Remove SR:

- xe sr-list name-label=<Name of the SR>

- xe pbd-list sr-uuid=<UUID of SR>

- xe pbd-unplug uuid=<UUID(RO) of PBD>

- xe sr-forget uuid=<UUID of SR>

 

Конфиги:

/etc/multipath.conf

 

Логи:

/var/log/xensourse.log   -данные о работе XAPI

/var/log/audit.log    -данные о работе XAPI

/var/log/xha.log   -logs daemon xhad  on dom0

/etc/xensource/xhad.log       -logs daemon xhad  on domU

/var/log/xensource.log    -logs daemon xenopsd

/var/log/xcp-rrdd-plugins.log   -logs daemon xcp-rrdd

/var/log/SMlog     -logs daemon SM

/var/log/daemon.log  -logs daemon mpathalert

/var/log/messages  -logs daemon mpathalert

/var/log/secure   -logs daemon stunnel

/var/log/xenstored-access.log   -logs daemon xenstored

/var/log/squeezed.log   -logs daemon squeezed

 

Демоны:

xhad   -демон HA  (для высокой доступности рекомендуется минимум 3 хоста в пуле)  (logs /var/log/xha.log, /etc/xensource/xhad.log)

xenopsd   -демон управления ВМ domU (logs /var/log/xensource.log)

xcp-rrdd   -демон метрик ВМ domU   (logs /var/log/xcp-rrdd-plugins.log, /var/log/xensource.log)

xcp-networkd   -мониторинг сетевых интерфейсов Xenserver

SM   -диспетчер систем СХД (logs /var/log/SMlog)

perfmon  -мониторинг производительности dom0

mpathalert   -мониторинг проблем  (logs /var/log/daemon.log, /var/log/messages)

snapwatchd   -демон снапшотов ВМ (logs /var/log/SMlog)

stunnel    -шифрование трафика ВМ

xenconsoled   -протоколирование операций в консоли dom0, domU (logs /var/log/daemon.log, /var/log/xen/)

xenstored   -БД в dom0, драйверы и вирт. устройства для ВМ (logs /var/log/xenstored-access.log, /var/log/messages, /var/log/xensource.log)

squeezed   -динамическое управление памятью в Xenserver  (logs /var/log/squeezed.log, /var/log/xensource.log, /var/log/xenstored-access.log)

 

 

XenServer storage

- XenServer Host

- Physical Block Devices (PBDs) - это интерфейс между железом и SRs

- Storage repositories (SRs) - пул для хранения VDI дисков

- Virtual Disk Image (VDI)  - аналог HDD для VM

- Virtual Block Devices (VBDs)  -коннекторы VDI к VM

Virtual Disk Data Formats: Logical Volume-based VHD on a LUN /  File-based VHD on a filesystem

 

XenServer network dom0:

NIC / network

network - количество сетевых интерфейсов XenServer

- network{1..n} - пробросы реальных сетевых интерфейсов

Type:

+ Single-Server Private network  -внутренняя сеть без gateway, только для связи между виртуалками

+ Cross-Server Private network  -внутренняя сеть для пула, но без выхода наружу

+ External network  -мост между физическим интерфейсом и виртуальной машиной

+ Bonded network  -объединение нескольких интерфейсов

 

- bond 0+1 - объединение сетевых интерфейсов в следующие виды:

 + active-active - трафик идет по всем интерфейсам, автоматически закрывая нерабочий интерфейс

 + active-passive - трафик идет только по одному интерфейсу и автоматически переключается на другой интерфейс при потере связи

 + LACP on IP - используется для балансировки траффика в случае, когда кол-во NICs больше VIFs

 + LACP on MAC - используется для балансировки траффика, вариант не подходит, когда кол-во VIFs меньше чем NICs

- vm network  - сеть с VLAN для виртуальных машин

 

NIC - количество реальных сетевых интерфесов в сервере

PIF - имя для физического интерфейса (ethX in XenServer) xenbrX

VIF - виртуальный интернет интерфейс для VM, они используют NIC для подключения

 

 

Для того чтобы реализовать миграцию виртуальных машин на citrix xenserver необходимо выполнить следующие условия:
 
1. Сервера (минимум 2 штуки) между которыми будет организована миграция должны быть с одинаковой архитектурой процессора (фактически должны стоять одинаковые процессоры)
2. Должно быть организовано общее сетевое хранилище, работающее по протоколу iSCSI или NFS
3. Необходимо в XenCenter создать общий ресурсный пул (Resource Pool) и добавить в него оба сервера. (Первый добавленый сервер будет выполнять роль мастера пула)
4. Подключить к пулу сетевое хранилище (если оно новое, то XenCenter предложит его отформатировать)
5. Пометить сетевое хранилище, как хранилище по умолчанию (правой кнопкой мыши set as default)
6. Создать виртуальную машину, диски должны храниться на сетевом хранилище, установить XenTools. После этого можно мигрировать ее между нодами.
 
Косяки: Если уже есть существующие машины, перед заталкиванием ноды в пул, на всякий случай нужно сделать их бекап путем экспорта из XenCenter. Потому как они будут удалены.

 

https://docs.citrix.com/en-us/xenserver/xenserver-7-0.html

http://ittraveler.org/ustanovka-i-nastrojka-citrix-xenserver-chast-1/

http://vladimirmalikov.com/category/%d0%b2%d0%b8%d1%80%d1%82%d1%83%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f/xenserver/  перезапуск зависшей VM

https://wiki.autosys.tk/doku.php?id=citrix:%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BA-%D1%8D%D0%BA%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D1%83-1y0-a26-citrix-xenserver-6-administration - экзамен

 

Troubleshooting

https://doc.lagout.org/operating%20system%20/Xen/Day5/XenServer%20System%20Recovery%20Guide.pdf

https://josemaas.net/blog/xen-server-recovery-from-state-db.html

https://support.citrix.com/article/CTX136342

https://discussions.citrix.com/topic/271368-remove-xenserver-from-pool/

https://support.citrix.com/article/CTX128391

http://anilgprabhu.blogspot.ru/2014/04/xapi-not-responding-and-server-is-not.html

Решение бага "XenServer Message: SR  No space left on device":

https://discussions.citrix.com/topic/338241-xs-62-error-on-leaf-coalesce/

https://bugs.xenserver.org/browse/XSO-524

https://discussions.citrix.com/topic/387390-no-space-left-on-device/

 

Перевод XenServer 6.5 на software RAID:

https://habrahabr.ru/post/179825/

 

Снапшоты:

http://xapi-project.github.io/features/snapshots/snapshots.html

 

Блог разработчика Xenserver:

https://xenserver.org/blog/blogger/tjkreidl.html