Мануал-памятка по миграции виртуалок с одного Xen на другой.
xen0 – сервер, откуда надо копировать
xen1 – сервер, куда надо копировать
/mnt/share – шара, где будут лежат образы машин после экспорта
Для начала необходимо определить UUID виртуалки на xen0:
xe vm-list is-control-domain=false
uuid ( RO) : cabec071-6ee9-efa6-d4bd-d31515d60e1b
name-label ( RW): 57-centos-test-new-admin
power-state ( RO): halted
И далее осуществить экспорт, используя сжатие gzip:
xe vm-export vm=cabec071-6ee9-efa6-d4bd-d31515d60e1b compress=true filename=/mnt/share/vm-xen0.xva
Для импорта машин на xen0 надо запустить
xe vm-import filename=/mnt/share/vm-xen0.xva preserve=true
Если возникает ошибка с SR, то надо импортировать с явным указанием хранилища по его UUID:
xe sr-list type=lvm; xe sr-list type=lvmoiscsi;
xe vm-import sr-uuid=6eeb5ab2-3c05-83a2-a1ec-dd5d15427ad6 filename=/mnt/share/vm-xen0.xva preserve=true
preserve=true – важный параметр, при котором сохраняет мак-адрес старой виртуалки.
Из консоли прогресс импорта не показывается. На практике столкнулся с тем, что экспорт машины в 150 Гб прошёл за час на SMB-шару, а вот её экспорт затянулся. Чтобы контролировать прогресс импорта, в еще одной консоли выполнить:
xe task-list
Выхлоп будет примерно такой:
[root@xenserver-temp ~]# xe task-list
uuid ( RO) : 4a14b5ce-8c77-96a0-37a2-8801470a891d
name-label ( RO): VM import
name-description ( RO):
status ( RO): pending
progress ( RO): 0.724
где 0.724 – это 72%.
Важно! Мануал применим к одинаковым версия XenServer! Миграция со старшей версии на младшую не сработала (например, с 7 на 6.5).