Я использую сервер Ubuntu с установленным Xen 4.1. Все виртуальные машины работают на этом сервере с одним или несколькими виртуальными дисками, хранящимися в формате qcow2. Эти виртуальные машины управляются стеком инструментов xl. Одна виртуальная машина - это Windows в режимах HVM, а другие - виртуальные машины PV. Файл qcow2 содержит только корневую файловую систему и не имеет структур разделов.
Сейчас я установил новый сервер с XCP 1.6. Могу ли я перенести эти виртуальные машины на XCP? Заранее спасибо.
Просто чтобы замкнуть цикл: ответ на вопрос Линфэна был дан в ветка в списке рассылки xen-api. Вот ответ Джеймса Булпина:
Один из способов - для каждой виртуальной машины:
Преобразуйте каждый файл qcow2 в необработанный файл с помощью qcow2raw 'поместите эти файлы куда-нибудь (например, экспорт NFS), где вы можете временно получить к ним доступ из XCP domain0
Используя XCP, «установите» виртуальную машину с использованием наиболее подходящего шаблона, но не запускайте виртуальную машину или не выполняйте установку. Убедитесь, что размер виртуального диска не меньше виртуального размера оригинального диска qcow2. Задайте MAC-адреса виртуального сетевого адаптера, соответствующие вашей виртуальной машине xl. 'Для PV вам нужно заставить XCP думать, что вы завершили установку
а. изменение PV-загрузчика на pygrub (xe vm-param-set uuid = PV-bootloader = pygrub)
б. создание первого загрузочного VBD (xe vbd-param-set uuid = $ (xe vbd-list vm-uuid = userdevice = 0 --minimal) bootable = true)
c. сделать виртуальный привод компакт-дисков (если он есть) не загрузочным: (xe vbd-param-set uuid = $ (xe vbd-list vm-uuid = type = CD --minimal) bootable = false)
Один за другим подключите виртуальные диски виртуальной машины к dom0 ', я предпочитаю:
а. Найдите UUID VDI с помощью 'xe vm-disk-list uuid =' 'найдите, например, 'Диск 0 VDI'
б. Запустите '/ opt / xensource / debug / with-vdi' ', это присоединит VDI к dom0 как / dev / $ DEVICE и поместит вас в оболочку' выход из этой оболочки отключит VDI
Используйте / opt / xensource / libexec / sparse_dd для переноса содержимого необработанного файла (из шага 1) в VDI.
а. Например. / opt / xensource / libexec / sparse_dd -src /mnt/MyVM.img -dest / dev / $ DEVICE -size 8589934592 -prezeroed
Выход из оболочки with-vdi
Я пробовал это для виртуальной машины xl PV, которая у меня есть, и она сработала (я начал с необработанного образа, а не с qcow2, поэтому пропустил шаг 1). Мой тест также отличается тем, что root находится на xvda1, однако ваш случай должен быть в порядке 'IIRC pygrub в порядке с root на необработанном устройстве.