Руководство по миграции
1. Введение
Система безопасного управления виртуализацией zVirt может импортировать как целые ВМ, так и отдельные диски. zVirt имеет графический интерфейс импорта ВМ из следующих источников:
-
VMware;
-
KVM;
-
XEN;
-
Экспорт-домен;
-
Virtual Appliance (OVA);
-
Virtual disk (QCOW2).
В составе среды виртуализации присутствуют встроенные средства конвертирования дисков ВМ.
2. Миграция виртуальных машин
Перед импортом виртуальной машины под управлением ОС Windows:
-
удалите гостевые дополнения VMWare;
-
установите гостевые дополнения zVirt. В противном случае виртуальная машина может не запуститься в среде zVirt.
Если на ВМ на базе ОС семейства Windows не были установлены драйверы VirtIO, то после миграции требуется зайти в настройки ВМ, далее в настройки виртуального диска и изменить интерфейс на IDE. После чего запустить ВМ, подключить к ВМ образ с гостевыми дополнениями и установить все необходимые драйверы. После этого требуется выключить ВМ и изменить интерфейс виртуального диска на VirtIO.
В том случае если импорт не удается, обратитесь в соответствующий лог-файл в каталоге /var/log/vdsm/import/ и файл /var/log/vdsm/vdsm.log на прокси-хосте.
2.1. Миграция виртуальных машин, функционирующих в среде виртуализации KVM
Система виртуализации преобразует виртуальные машины KVM в правильный формат перед их импортом.
-
Установить в виртуальную машину гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения, включить службы и добавить их автозапуск (пример для ОС семейства Debian):
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Выключить виртуальную машину.
Перед импортом виртуальная машина должна быть выключена. Запуск процесса миграции до полной остановки виртуальной машины может привести к повреждению данных. Необходимо включить аутентификацию с открытым ключом между хостом KVM и по крайней мере одним хостом в целевом центре данных (этот хост будет называться прокси-хостом).
Обратите внимание, что перед импортом у виртуальной машины не должно быть снапшотов.
-
Войти на прокси-хост и создать
SSH-ключидля пользователяvdsm:sudo -u vdsm ssh-keygen -
Скопировать открытый ключ пользователя
vdsmна хост KVM:sudo -u vdsm ssh-copy-id root@kvm.test.ru -
Войти на хост KVM и убедиться, что логин работает правильно:
sudo -u vdsm ssh root@kvm.test.ru -
Перейти на портале администрирования в раздел .
-
В правом верхнем углу кликнуть на
и в выпадающем меню выбрать Импортировать. Откроется форма Импорт ВМ:
-
В форме Импорт ВМ выбрать источник KVM.
-
Ввести полный путь к гипервизору KVM.
-
Если необходимо ввести учетные данные для авторизации.
-
Указать прокси-хост и нажать Загрузить, появится список ВМ функционирующих на хосте KVM.
-
Выбрать ВМ для миграции. С помощью стрелок
переместите ВМ в окно Виртуальные машины для импорта, отметьте чек-боксы напротив ВМ и нажмите Далее, откроется окно представленное ниже:
-
Выбрать домен хранения.
-
Выбрать целевой кластер.
-
Выбрать тип виртуального диска для ВМ.
-
Отметить чек-бокс Клонировать для того, чтобы изменить имя виртуальной машины и MAC-адреса, а также клонировать все диски, удаляя все моментальные снимки.
-
Выбрать тип гостевой ОС.
-
Нажать OK, начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
-
Процесс миграции завершен.
2.2. Миграция виртуальных машин, функционирующих в среде виртуализации VMware vSphere
zVirt преобразует виртуальные машины VMware vSphere в правильный формат перед их импортом.
-
Установить в виртуальную машину гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения, включить службы и добавить их автозапуск (пример для ОС семейства Debian):
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Выключить виртуальную машину.
Перед импортом виртуальная машина должна быть выключена. Запуск процесса миграции до полной остановки виртуальной машины может привести к повреждению данных.
Виртуальная машина должна не должна иметь контрольных точек. Перед миграцией их необходимо удалить.
-
Зайти в веб-интерфейсе zVirt в раздел .
-
В правом верхнем углу кликнуть
и в выпадающем меню выбрать Импортировать. Откроется форма Импорт ВМ:
-
В форме Импорт ВМ выбрать источник
VMware. -
Выбрать целевой центр данных.
-
В поле vCenter ввести IP-адрес или полное доменное имя VMware vCenter.
-
В поле ESXi ввести IP-адрес или полное доменное имя хоста, с которого будут импортироваться виртуальные машины.
-
Ввести имя центра данных и кластера, в котором находится указанный хост ESXi в поле Центр данны.
-
Если вы обменялись
SSL-сертификатоммежду хостом ESXi и менеджером управления, отметьте чек-бокс, чтобы проверить сертификат хоста ESXi. Если нет, снимите отметку с чек-бокса. -
Пользователь должен иметь доступ к центру данных VMware и хосту ESXi, на котором находятся виртуальные машины.
-
Нажать Загрузить. В левой части формы отобразятся ВМ, с помощью стрелок
переместите их в окно Виртуальные машины для импорта, отметьте чек-боксы напротив ВМ и нажмите Далее, откроется окно представленное ниже:
Опция Подключить CD позволяет подключить диск с гостевыми дополнениям для импортирования драйверов в файлы виртуальных машин, чтобы при изменении интерфейса диска на VirtIO устройство былo правильно обнаружено операционной системой. -
Выбрать домен хранения.
-
Выбрать целевой кластер.
-
Выбрать тип виртуального диска для ВМ.
-
Отметить чек-бокс Клонировать для того, чтобы изменить имя виртуальной машины, а также клонировать все диски, удаляя все моментальные снимки.
-
Проверить тип гостевой ОС, при необходимости изменить на правильный.
-
Нажать OK, после чего начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
2.2.1. Возможные ошибки
- Описание ошибки
-
При импорте виртуальных машин из VMWare vCenter происходит ошибка "Все выбранные ВМ не могли быть получены внешней системой и поэтому были отфильтрованы." В лог файле /var/log/vdsm/vdsm.log ошибки
internal error: ERROR (jsonrpc/4) [root] error getting domain xml for vm 'Template_Server_2016_Blade': internal error: Missing essential config entry 'ethernet0.networkName' (v2v:1058)
- Решение
-
-
Проверить подключение по SSH к хосту.
-
В окне "Импорт ВМ" - "Хост прокси" выбрать определенный хост в выпадающем меню.
-
Загрузить список ВМ. Проверить импорт.
-
В случае ошибки удалить (в VMWare) у импортируемых ВМ сетевую карту.
-
При нажатии на кнопку Загрузить zVirt пытается получить список всех доступных ВМ и их конфигурации, но в ряде случае VMWare не позволяет получить конфигурацию виртуальных сетевых карт (vmware distribute switch).
Данная ошибка логируется службой vdsmd, лог-файл расположен на хостах в директории /var/log/vdsm/vdsm.log.
2.3. Миграция виртуальных машин, функционирующих в среде виртуализации XEN
zVirt преобразует виртуальные машины XEN в правильный формат перед их импортом. Процедура миграции:
-
Установить в виртуальную машину гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения, включить службы и добавить их автозапуск (пример для ОС семейства Debian):
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Выключить виртуальную машину.
Перед импортом виртуальная машина должна быть выключена. Запуск процесса миграции до полной остановки виртуальной машины может привести к повреждению данных. Необходимо включить аутентификацию с открытым ключом между узлом XEN и по крайней мере одним хостом в целевом центре данных (этот хост будет называться прокси-хостом). -
Перейти на прокси-хост и создайте
SSH-ключидля пользователяvdsm:sudo -u vdsm ssh-keygen -
Скопировать открытый ключ пользователя
vdsmна хост XEN:sudo -u vdsm ssh-copy-id root@xen.test.ru -
Войти на хост XEN и убедиться, что логин работает правильно:
sudo -u vdsm ssh root@xen.test.ru -
Перейти на порталe администрирования в раздел .
-
В правом верхнем углу кликнуть на
и в выпадающем меню выбрать Импортировать. Откроется форма Импорт ВМ:
-
В форме Импорт ВМ выбрать источник XEN.
-
Ввести полный путь к гипервизору XEN.
-
Если необходимо, ввести учетные данные для авторизации.
-
Указать прокси-хост и нажать Загрузить, появится список ВМ функционирующих на хосте XEN.
-
Выбрать ВМ для миграции, с помощью стрелок
переместите их в окно Виртуальные машины для импорта, отметьте чек-боксы напротив ВМ и нажмите Далее.Из-за существующих ограничений виртуальные машины Xen с блочными устройствами не отображаются в списке виртуальных машин в исходном коде. Они должны быть импортированы вручную. См. раздел Миграция ВМ функционирующих в среде виртуализации XEN с блочным устройством. -
Выбрать домен хранения.
-
Выбрать целевой кластер.
-
Выбрать тип виртуального диска для ВМ.
-
Отметить чек-бокс Клонировать для того, чтобы изменить имя виртуальной машины и MAC-адреса, а также клонировать все диски, удаляя все моментальные снимки.
-
Выбрать тип гостевой ОС.
-
Нажать OK, начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
2.3.1. Миграция виртуальных машин, функционирующих в среде виртуализации XEN с блочным устройством
zVirt использует встроенные средства для преобразования виртуальных машин XEN в правильный формат.
-
Установить в виртуальную машину гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения (пример для ОС семейства Debian), включить службы и добавить их автозапуск:
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Выключить виртуальную машину.
Перед импортом виртуальная машина должна быть выключена. Запуск процесса миграции до полной остановки виртуальной машины может привести к повреждению данных. Необходимо включить аутентификацию с открытым ключом между узлом XEN и по крайней мере одним узлом в целевом дата-центре (этот хост будет называться прокси-хостом) -
Войти на прокси-хост и создайте
SSH-ключидля пользователяvdsm:sudo -u vdsm ssh-keygen -
Скопировать открытый ключ пользователя
vdsmна хост XEN:sudo -u vdsm ssh-copy-id root@xen.test.ru -
Войти на хост XEN, чтобы убедиться, что логин работает правильно:
sudo -u vdsm ssh root@xen.test.ru -
Зайти в веб-интерфейс zVirt в раздел .
-
Присоединить существующий домен экспорта к целевому дата-центру.
-
На прокси-сервере, скопировать виртуальную машину с хоста XEN в zVirt:
virt-v2v-copy-to-local -ic xen+ssh://root@xen.test.ru <имя ВМ> -
Преобразовать виртуальную машину в
libvirt XMLи переместить файл в экспортный домен:virt-v2v -i libvirtxml <имя ВМ>.xml -o rhev -of raw -os storage.lab.example:/exportdomain -
На портале администрирования перейти в раздел , выбрать домен экспорта и перейти на вкладку Импортировать ВМ, в данной закладке должна отображаться импортируемая ВМ.
-
Импортировать виртуальную машину в целевой домен данных. Дополнительные сведения см. В разделе [2.6 Импорт виртуальной машины из домена экспорта](#2-6).
2.4. Миграция виртуальных машин, функционирующих в среде виртуализации Hyper-V
В разделе описаны методы миграции виртуальных машин из среды виртуализации Hyper-V в zVirt. Ознакомьтесь с инструкцией и только после этого приступайте к миграции.
Миграция средствами P2V – образа требует некоторых дополнительных действий в случае миграции ВМ поколения 2 (с UEFI). Если миграция средствами P2V – образа вызывает затруднения обратитесь к разделу Миграция виртуальной машины средствами LiveCD Fedora 34-1.2.
2.4.1. Миграция виртуальной машины средствами P2V-образа
Процедура конвертации происходит на одном из хостов виртуализации zVirt с использованием учётной записи vdsm.
Для ВМ с использованием UEFI:
-
Создайте ВМ 1 поколения (без UEFI);
-
Присоедините к созданной ВМ виртуальные жесткие диски импортируемой ВМ в том же порядке (расположении);
-
Все последующие действия выполнить на созданной ВМ;
-
Рекомендуется для созданной ВМ установить такое же количество ресурсов, как и у импортируемой ВМ (ЦП, ОЗУ).
Для выполнения процедуры миграции необходимо выполнить следующие действия:
-
Выключить ВМ:
Если целевая ВМ работает под управлением ОС Windows, то её необходимо выключить с помощью выполнения следующей команды в командной строке с правами администратора:
shutdown /s /f /t 0 -
На выбранном хосте виртуализации zVirt выполнить команду для изменения командной оболочки учётной записи
vdsm:usermod -s /bin/bash vdsm -
Назначить пароль
shibbolethдля учётной записиvdsm:echo 'vdsm:shibboleth' | chpasswd -
Выполнить монтирование
Экспорт-доменав локальный каталог, например:mount -t nfs storage.lab.example:/storages/export /mntГде: *
storage.lab.example– хост, на котором физически располагаетсяЭкспорт-домен. */mnt– целевой локальный каталог на хосте виртуализации, в который будет смонтировано хранилищеЭкспорт-домена. -
Скачать
P2V-образпо ссылке. -
Произвести загрузку ВМ с
P2V-образа. -
Указать параметры подключения к серверу конвертации:
-
Заполнить следующие поля:
-
Conversion server–IPи порт для подключения к серверу конвертации поSSH. -
User name– имя пользователя должно бытьvdsm. -
Password– парольshibbolethпользователяvdsm. -
Configure network– настройки сетевого интерфейса. Изменить при необходимости.
-
-
Нажать кнопку Test connection для проверки подключения. Если тест прошел успешно, кнопка Next станет активной.
-
Нажать кнопку Next, появится окно с параметрами конвертации, которое показано ниже:
-
Заполнить следующие поля:
-
Name– имя создаваемой виртуальной машины; -
vCPUs– Количество виртуальных ядер создаваемой ВМ; -
Memory– Объем оперативной памяти создаваемой ВМ; -
Output to– тип целевой системы виртуализации (localилиrhev); -
Output storage– строка подключения к хранилищу в которое нужно поместить созданную ВМ. Указать локальную директорию на сервере конвертации или строку подключения к домену типаЭкспортсистемы управления виртуализацией. Например,storage.lab.example:/storages/exportили/mnt. -
Output format– формат диска создаваемой ВМ. Формат должен бытьqcow2.
-
-
В окне Fixed hard disk, отметить те диски физического сервера, которые требуется перенести в виртуальную среду.
-
В окне Removable media снять отметку.
-
Остальные параметры изменять не требуется.
-
Нажать кнопку Start conversion, начнется процесс конвертации. На экран будет выводится информация об этапах процесса конвертации.
-
Дождаться завершения процесса конвертации. В окне появится сообщение о завершении процесса
Сomplete successful. -
Импортировать ВМ в zVirt:
-
Если в поле
Output toбыл выбран тип целевой системыlocal, диск создаваемой ВМ был сохранен в локальную директорию на сервере конвертации, выполнить импорт виртуального диска в zVirt, описанный в разделе 2.7 -
Если в поле
Output toбыл выбран тип целевой системыrhv, создаваемая ВМ была сохранена вЭкспорт-домен, процесс выполнения импорта ВМ изЭкспорт-доменаописан в разделе Импорт виртуальной машины из Экспорт-домена.
-
-
После окончания процедуры конвертации верните командную оболочку учётной записи
vdsmв исходное состояние.usermod -s /sbin/nologin vdsm -
Перед первым запуском ВМ в среде zVirt необходимо:
-
Убедиться, что
mac-адресимпортированной ВМ находится в диапазоне пулаMAC-адресовкластера. -
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию
Включено VirtIO-SCSI, применить изменения. -
В окне Редактирование виртуальной машины, на вкладке Система, в разделе
Дополнительные параметры, убедиться, что в поле Тип BIOS установлен правильный типBIOS(c UEFI или без). -
В окне Редактирование виртуальной машины, на вкладке Общее изменить тип интерфейса для всех импортированных дисков на тип
VirtIO/VirtIO-SCSI.
-
-
После запуска ВМ установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Если при загрузке ОС Windows получаете ошибку `INACCESSIBLE_BOOT_DEVICE`:
|
2.4.2. Миграция виртуальной машины средствами LiveCD Fedora 34-1.2
2.4.2.1. Подготовительный этап
Загрузить LiveCD Fedora 34-1.2 с зеркала Yandex по ссылке.
-
Выключить ВМ.
Если ВМ работает под управлением ОС Windows, то её необходимо выключить с помощью выполнения следующей команды в командной строке с правами администратора:
shutdown /s /f /t 0 -
Произвести загрузку ВМ с iso-образа LiveCD Fedora 34-1.2.
-
Для удобства работы следует организовать возможность подключения по SSH к ВМ, для этого:
-
Настроить сетевой интерфейс, если в вашей сети нет DHCP-сервера.
-
Получить права суперпользователя:
sudo su -
Установить пакет open-ssh:
dnf install -y openssh -
Включить службу sshd:
systemctl start sshd -
Задать пароль для учётной записи
liveuser:passwd liveuser -
Узнать ip-адрес ВМ:
hostname -I
-
-
Подключиться к ВМ с помощью
SSHи получите права суперпользователя:ssh liveuser@IP-АДРЕС-ВМ sudo su -
Подключить репозиторий для получения возможности установки необходимых пакетов:
dnf install -y https://resources.ovirt.org/pub/yum-repo/ovirt-release44.rpm -
Выполнить команду для установки пакетов:
dnf install -y virt-v2v libguestfs-tools python3-ovirt-engine-sdk4 -
Убедиться, что
DNSвозвращает доменное имя менеджера управления виртуализации zVirt:host zvirtvm.lab.exampleЕсли DNS не возвращает доменное имя менеджера виртуализации zVirt, добавьте IP-адрес и доменное имя менеджера управления виртуализации в файл /etc/hosts. -
Если целевая машина имеет более одного физического диска создайте файл описание машины
physical.xml, пример:nano /root/physical.xml Примерное содержание файла physical.xml: <?xml version="1.0"?> <domain type="physical"> # Имя ВМ <name>windows10</name> # Объем ОЗУ для ВМ <memory unit="KiB">4194304</memory> <currentMemory unit="KiB">4194304</currentMemory> # Количество виртуальных процессоров <vcpu>4</vcpu> <cpu match="minimum"> # Тип ЦП <vendor>Intel</vendor> # Описание ЦП (сокеты, ядра, потоки) <topology sockets="1" cores="2" threads="2"/> </cpu> <clock offset="localtime"/> <os> # Архитектура ЦП <type arch="x86_64">hvm</type> </os> <features> <acpi/> <apic/> <pae/> </features> <devices> #Описание первого диска с указанием определенного порта <disk type="network" device="disk"> <driver name="qemu" type="raw"/> <source protocol="nbd"> <host name="localhost" port="50123"/> </source> <target dev="sda"/> </disk> # Описание второго диска с указанием определенного порта <disk type="network" device="disk"> <driver name="qemu" type="raw"/> <source protocol="nbd"> <host name="localhost" port="50124"/> </source> <target dev="sdb"/> </disk> # Описание сетевого интерфейса и его mac-адреса <interface type="network"> <source network="default"/> <target dev="eth0"/> <mac address="00:15:5d:54:40:02"/> </interface> </devices> </domain>
2.4.2.2. Пример конвертации с использованием API zVirt
В настоящее время используется протокол передачи NBD (Network Block Device).
Далее описан пример конвертации ВМ с двумя виртуальными дисками.
-
Выполнить команду
qemu-nbdдля каждого диска с указанием уникального порта:qemu-nbd -r -p 50123 -t -f raw -b localhost --cache=unsafe /dev/sda & qemu-nbd -r -p 50124 -t -f raw -b localhost --cache=unsafe /dev/sdb &С помощью ключа
-pзадается уникальный свободный порт за пределами диапазона зарезервированных портов.Список блочный устройств можно получить с помощью команды:
ls /dev/sd* -
Создать файл, содержащий пароль от учётной записи
admin@internalв среде zVirt:nano /root/passwordfileОбратите внимание, что файл должен содержать весь пароль и не иметь пустых строк.
-
Установить права доступа
0600на файл содержащий пароль:chmod 0600 /root/passwordfile -
Скопировать файл сертификата с менеджера виртуализации zVirt:
scp zvirtvm.example.lab:/etc/pki/ovirt-engine/ca.pem /root -
Запустить процесс миграции:
virt-v2v -v -x -i libvirtxml /root/physical.xml -o rhv-upload -oc https://zvirtvm.example.lab/ovirt-engine/api -op /root/passwordfile -os hosted_storage -oo rhv-cafile=/root/ca.pem -oo rhv-cluster=DefaultГде:
-
-i libvirtxml /root/physical.xml– описание ВМ, на основе которого будет создана ВМ вСУВ zVirt; -
rhv-upload -oc https://zvirtvm.example.lab/ovirt-engine/api -op– URL на веб-интерфейсAPI zVirt; -
/root/passwordfile– файл содержащий пароль от учётной записиadmin@internalв среде zVirt; -
-os hosted_storage– домен хранения, в который будут импортированы диски; -
rhv-cafile=/root/ca.pem– файл сертификата менеджера zVirt; -
rhv-cluster=Default– кластер, в котором будет создана ВМ.
-
2.4.2.3. Пример конвертации виртуальной машины в Экспорт-домен
-
Смонтировать хранилище
Экспорт-доменав локальный каталог:mount -t nfs storage.lab.example:/storage/export /mntГде:
-
storage.lab.example– хост, на котором физический располагаетсяЭкспорт-домен; -
mnt– целевой локальный каталог на хосте конвертации, в который будет смонтировано хранилищеЭкспорт-домена.
-
-
Запустить процедуру конвертации:
-
Команда для запуска процедуры конвертации на основе файла
physical.xml, если ВМ имеет несколько дисков:virt-v2v -v -x -i libvirtxml /root/physical.xml -o rhv -os /mnt/ -
Команда для запуска процедуры конвертации, если ВМ имеет один диск:
virt-v2v -v -x -i disk /dev/sda -o rhv -os /mnt/ -
ВМ будет сохранена в
Экспорт-домен, выполните импорт ВМ из домена типаЭкспортописанный в [разделе 2.5](#2-5).В некоторых случаях может возникать ошибка из-за недостаточного дискового пространства для кэша:
virt-v2v: error: libguestfs error: security: cached appliance /tmp/.guestfs-0 is not owned by UID 0Для решения этой проблемы необходимо добавить дополнительное хранилище (виртуальный диск). Создать на виртуальном диске раздел и отформатировать в файловую систему ext4.
Дополнительное хранилище не нужно описывать в файле physical.xml. -
Создать каталог куда будет смонтировано дополнительное хранилище:
mkdir /cache -
Смонтировать хранилище в созданный каталог (для примера
sdc1):mount /dev/sdc1 /cache -
Объявить через переменную каталог для хранения кэша:
export LIBGUESTFS_CACHEDIR=/cache -
Запустить процесс конвертации.
-
2.4.2.4. Подготовка виртуальной машины к запуску
Перед первым запуском ВМ в среде zVirt требуется:
-
Убедиться, что
MAC-адресимпортированной ВМ находится в диапазоне пулаMAC-адресовкластера. -
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию
Включено VirtIO-SCSI, применить изменения. -
В окне Редактирование виртуальной машины, на вкладке Система, в разделе
Дополнительные параметры, убедиться, что в поле Тип BIOS установлен правильный типBIOS(cUEFIили без). -
В окне Редактирование виртуальной машины, на вкладке Общее:
-
Присоединить импортированные диски. Определить загрузочный диск если автоматически не был распознан, указать его.
-
Изменить тип интерфейса для всех импортированных дисков на тип
VirtIO/VirtIO-SCSI.
-
-
После запуска ВМ установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
|
Если при загрузке ОС Windows получаете ошибку
|
2.5. Импорт виртуальной машины из Экспорт-домена
| Виртуальная машина должна находится в Экспорт-домене. Прежде чем виртуальную машину можно будет импортировать в новый центр данных, Экспорт-домен должен быть присоединен к целевому центру данных. |
-
Перейти на портале администрирования в раздел и выбрать Экспорт-домен`. Экспорт-домен` должен иметь статус
Активный. -
Перейти на вкладку Импортировать ВМ, чтобы просмотреть список доступных виртуальных машин для импорта.
-
Выберите одну или несколько виртуальных машин для импорта и нажмите кнопку Импортировать. Откроется окно импорта, представленное ниже:
-
Выбрать целевой кластер.
-
Отметить чек-бокс Клонировать для того, чтобы изменить имя виртуальной машины и MAC-адреса, а также клонировать все диски, удаляя все моментальные снимки.
-
Выбрать виртуальную машину для импорта и перейти на вкладку Диски. На этой вкладке можно указать политику выделения и домен хранения для виртуального диска выбранной ВМ. Также отображается значок, указывающий, какой из импортируемых дисков является загрузочным диском для данной ВМ
-
Нажать OK для запуска процесса импорта.
Во время одной операции импорта можно импортировать виртуальные машины только с одинаковой архитектурой.
После завершения процесса миграции установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения, включить службы и добавить их автозапуск (пример для ОС семейства Debian):
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Перезагрузить виртуальную машину.
2.6. Импорт виртуальной машины из Virtual Appliance (OVA)
Для OVA-файлов единственным дисковым форматом, поддерживаемым zVirt, является VMDK
-
Скопировать файл OVA на хост в вашем кластере, в расположение файловой системы, например в созданный каталог /ova, который имеет права 660 и владельца:группу
36:36. Убедиться, что файл OVA имеет разрешения начтение/записьдля пользователяqemu (UID 36)и группыkvm (GID 36):chown 36:36 /ova/file.OVA chmod 660 /ova/file.OVA -
Перейти на портале администрирования в раздел .
-
В правом верхнем углу кликнуть на
и в выпадающем меню выбрать Импортировать. Откроется окно импорта представленное ниже:
-
Выбрать источник
Virtual Appliance (OVA), выбрать источник, хост и путь кOVA файлу. -
Нажать Загрузить. В левой части формы отобразятся ВМ, с помощью стрелок
переместите ее в окно Виртуальные машины для импорта, отметьте чек-бокс напротив имени ВМ и нажмите Далее.Опция Подключить CD позволяет подключить диск с гостевыми дополнениям для импортирования драйверов в файлы виртуальных машин, чтобы при изменении интерфейса диска на VirtIO устройство были правильно обнаружено операционной системой. -
Выбрать домен хранения.
-
Выбрать целевой кластер.
-
Выбрать тип виртуального диска для ВМ.
-
Проверить тип гостевой ОС, при необходимости изменить на правильный.
-
Нажать OK, начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
Во время одной операции импорта можно импортировать виртуальные машины только с одинаковой архитектурой.
После завершения процесса миграции установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
-
Установить гостевые дополнения, включить службы и добавить их автозапуск (пример для ОС семейства Debian):
apt install qemu-guest-agent spice-vdagent -y systemctl enable --now qemu-guest-agent spice-vdagent -
Перезагрузить виртуальную машину.
2.7. Загрузка дисков виртуальной машины
В zVirt есть возможность загрузки дисков ВМ и прикреплению диска к новой или уже созданной ВМ.
-
Зайти в веб-интерфейсе zVirt в раздел , нажать на кнопку Отправить, откроется окно представленное ниже:
-
Выбрать файл с диском формата
qcow2, указать псевдоним и домен хранения. Нажать кнопку Тест соединения, при успешном соединении, нажать OK. Начнется процесс загрузки виртуального диска, прогресс загрузки можно посмотреть в окне Задачи. -
Процесс загрузки виртуального диска завершен.
3. Миграция из физической среды в виртуальную
Конвертация физической машины может быть выполнена двумя способами:
-
Создается ВМ и в нее копируются данные физической машины, затем ВМ копируется в
Экспорт-доменсистемы управления виртуализацией. ИзЭкспорт-доменВМ может быть импортирована в zVirt. -
Создается ВМ и в нее копируются данные физической машины, затем сервер конвертации сохраняет виртуальный диск в локальную директорию. Виртуальный диск можно импортировать в zVirt.
Поддерживаемы ОС:
-
AltLinux
-
CentOS
-
Debian
-
Fedora
-
OpenSUSE
-
RHEL
-
Ubuntu
| При конвертировании физической машины с программным рейдом, могут возникнуть ошибки. |
3.1. Подготовка. Создание сервера конвертации
В качестве сервера конвертации может выступать, как хост виртуализации zVirt, так и отдельная физическая или виртуальная машина. Для недопущения чрезмерной нагрузки на хост виртуализации zVirt рекомендуется использовать отдельный сервер конвертации.
Для создания сервера конвертации выполните следующие действия:
-
Загрузить zVirt Node. Для доступа к странице загрузки и репозиторию zVirt необходимо получить учетные данные для входа.
-
Записать ISO-образ zVirt Node на USB, CD или DVD.
-
Запустить сервер, на котором вы устанавливаете ОС, загрузившись с подготовленного установочного носителя.
-
В меню загрузки выберите
Install zVirtи нажмитеEnter. -
Выбрать язык по умолчанию и нажать Continue.
-
Выбрать часовой пояс в разделе Time & Date и нажать Done.
-
Выбрать раскладку клавиатуры в разделе Keyboard и нажать Done.
-
Выбрать устройство, на которое нужно установить ОС, в разделе Installation Destination. При желании включить шифрование. В разделе Storage configuration выбрать
Customи разметить диск с помощью автоматического сценария, кликнув на Click here to create them automatically. После автоматической разметки можете произвести необходимые изменения (изменить пространство дляlvmразделов, не затрагивая атрибуты диска), учитывая требованиям к хранилищуп.2.2.3 Руководства по предварительному планированию. -
Выбрать сеть из раздела Network & Host Name - по кнопке Configure перейти во вкладку конфигурации сети, настроить сеть и нажать на кнопку Save. В поле Host Name ввести имя хоста и нажать на кнопку Apply. Переключить тумблер в состояние 1, находящийся рядом с данными об интерфейсе.
-
При необходимости настроить политику безопасности и
Kdump. -
Установить пароль пользователя
rootв разделеRoot passwordи нажать на кнопку Done. -
Нажать на кнопку Begin Installation.
-
Если выбран способ конвертации с использованием домена типа
Экспорт, настроить на сервере конвертации сетевой доступ к домену типаЭкспортсистемы управления виртуализацией. Если домен подключен по протоколуNFS, проверить доступ можно выполнив команду:showmount –e <ip адрес сервера NFS>
3.2. Конвертация физической машины в виртуальную машину
В разделе описаны методы конвертации физических машин в среду виртуализации zVirt. Ознакомьтесь с инструкцией и только после этого приступайте к конвертации.
Конвертация физической машины, описанная в разделе Конвертация физической машины средствами P2V-образа невозможна для машин 2-ого поколения (с UEFI). Для конвертации физических машин 1-ого поколения (с UEFI) обратитесь к методу, описанному в разделе Конвертация физической машины средствами LiveCD Fedora 34-1.2.
3.2.1. Конвертация физической машины средствами P2V-образа
Для выполнения процедуры конвертации выполните следующие действия:
-
Выключить целевую машину.
Если целевая машина работает под управлением ОС Windows, то её необходимо выключить с помощью выполнения следующей команды в командной строке с правами администратора:
shutdown /s /f /t 0 -
На выбранном хосте конвертации выполнить команду для изменения командной оболочки учётной записи
vdsm:usermod -s /bin/bash vdsm -
Назначить пароль
shibbolethдля учётной записиvdsm:echo 'vdsm:shibboleth' | chpasswd -
Выполнить монтирование
Экспорт-доменав локальный каталог, например:mount -t nfs storage.lab.example:/storages/export /mntГде:
-
storage.lab.example– хост, на котором физический располагаетсяЭкспорт-домен; -
mnt– целевой локальный каталог на хосте конвертации, в который будет смонтировано хранилищеЭкспорт-домена.
-
-
Скачать P2V-образ для конвертации физической машины с репозитория.
-
Произвести загрузку ВМ с P2V-образа
-
Указать параметры подключения к серверу конвертации:
-
Заполнить следующие поля:
-
Conversion server– IP и порт для подключения к серверу конвертации по SSH -
User name– имя пользователя должно бытьvdsm -
Password– парольshibbolethпользователяvdsm -
Configure network– настройки сетевого интерфейса. Изменить при необходимости
-
-
Нажать кнопку Test connection для проверки подключения. Если тест прошел успешно, кнопка Next станет активной.
-
Нажать кнопку Next, появится окно с параметрами конвертации:
-
Заполнить следующие поля:
-
Name– имя создаваемой виртуальной машины -
vCPUs– Количество виртуальных ядер создаваемой ВМ -
Memory– Объем оперативной памяти создаваемой ВМ -
Output to– тип целевой системы виртуализации (localилиrhv) -
Output storage– строка подключения к хранилищу в которое нужно поместить созданную ВМ. Указать локальную директорию на сервере конвертации или строку подключения кЭкспорт-доменусистемы управления виртуализацией. Например, storage.lab.example:/storages/export или /mnt -
Output format– формат диска создаваемой ВМ. Формат должен бытьqcow2
-
-
В окне Fixed hard disk, отметить те диски физического сервера, которые надо перенести в виртуальную среду.
-
В окне Removable media снять отметку.
-
Остальные параметры изменять не нужно.
-
Нажать кнопку Start conversion, начнется процесс конвертации. На экран будет выводится информация об этапах процесса конвертации.
-
Дождаться завершения процесса конвертации. В окне появится сообщение о завершении процесса
Сomplete successful. -
Импортировать ВМ в zVirt:
-
Если в поле
Output toбыл выбран тип целевой системыlocal, диск создаваемой ВМ был сохранен в локальную директорию на сервере конвертации, выполнить импорт виртуального диска в zVirt, описанный в разделе2.7 -
Если в поле
Output toбыл выбран тип целевой системыrhv, создаваемая ВМ была сохранена вЭкспорт-домен, процесс выполнения импорта ВМ изЭкспорт-доменаописан в разделе Импорт виртуальной машины из Экспорт-домена
-
-
После окончания процедуры конвертации вернуть командную оболочку учётной записи
vdsmв исходное состояние.usermod -s /sbin/nologin vdsm -
Перед первым запуском ВМ в среде zVirt:
-
Убедиться, что
mac-адресимпортированной ВМ находится в диапазонепула mac-адресовкластера. -
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию
Включено VirtIO-SCSI, применить изменения. -
В окне Редактирование виртуальной машины, на вкладке Система, в разделе
Дополнительные параметры, убедиться, что в поле Тип BIOS установлен правильный типBIOS(cUEFIили без). -
В окне Редактирование виртуальной машины, на вкладке Общее изменить тип интерфейса для всех импортированных дисков на тип
VirtIO/VirtIO-SCSI.
-
-
После запуска ВМ установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Если при загрузке ОС Windows получаете ошибку
INACCESSIBLE_BOOT_DEVICE:-
Установить тип интерфейса для всех импортированных дисков – SATA или IDE.
-
Создать временный диск размером 1Гб и типом интерфейса VirtIO-SCSI и присоединить к целевой машине.
-
Запустить ВМ.
-
Перейти в Управление компьютером, далее Управление дисками и произвести инициализацию временного диска.
-
Установить драйверы, расположенные на диске virtio-win-1.1.1.0.iso.
-
Выключить ВМ.
-
В окне Редактирование виртуальной машины, на вкладке Общее изменить тип интерфейса для всех импортированных дисков на тип
VirtIO/VirtIO-SCSIи удалите временный диск. -
Включить ВМ.
-
3.2.2. Конвертация физической машины средствами LiveCD Fedora 34-1.2
3.2.2.1. Подготовительный этап
Загрузить LiveCD Fedora 34-1.2 с зеркала Yandex по ссылке.
-
Выключить целевую машину.
Если целевая машина работает под управлением ОС Windows, то её необходимо выключить с помощью выполнения следующей команды в командной строке с правами администратора:
shutdown /s /f /t 0 -
Произвести загрузку целевой машины с
iso-образаLiveCD Fedora 34-1.2. -
Для удобства работы следует организовать возможность подключения по
SSHк целевой машине, для этого:-
Настроить сетевой интерфейс, если в вашей сети нет
DHCP-сервера. -
Получить права суперпользователя:
sudo su -
Установить пакет
open-ssh:dnf install -y openssh -
Включить службу
sshd:systemctl start sshd -
Задать пароль для учётной записи
liveuser:passwd liveuser
-
-
Подключиться к целевой машине с помощью
SSHи получить права суперпользователя:ssh liveuser@172.25.1.25 sudo suГде:
172.25.1.25– IP - адресLiveCD Fedora 34-1.2. -
Подключить репозиторий для получения возможности установки необходимых пакетов:
dnf install -y https://resources.ovirt.org/pub/yum-repo/ovirt-release44.rpm -
Выполнить команду для установки пакетов:
dnf install -y virt-v2v libguestfs-tools python3-ovirt-engine-sdk4 -
Убедиться, что
DNSвозвращает доменное имя менеджера виртуализации zVirt:host zvirtvm.lab.exampleЕсли DNS не возвращает доменное имя менеджера виртуализации zVirt, добавьте IP-адрес и доменное имя менеджера управления виртуализации в файл /etc/hosts. -
Если целевая машина имеет более одного физического диска создать файл
physical.xmlописывающий машину:nano /root/physical.xml Примерное содержание файла physical.xml: <?xml version="1.0"?> <domain type="physical"> # Имя ВМ <name>windows10</name> # Объем ОЗУ для ВМ <memory unit="KiB">4194304</memory> <currentMemory unit="KiB">4194304</currentMemory> # Количество виртуальных процессоров <vcpu>4</vcpu> <cpu match="minimum"> # Тип ЦП <vendor>Intel</vendor> # Описание ЦП (сокеты, ядра, потоки) <topology sockets="1" cores="2" threads="2"/> </cpu> <clock offset="localtime"/> <os> # Архитектура ЦП <type arch="x86_64">hvm</type> </os> <features> <acpi/> <apic/> <pae/> </features> <devices> #Описание первого диска с указанием определенного порта <disk type="network" device="disk"> <driver name="qemu" type="raw"/> <source protocol="nbd"> <host name="localhost" port="50123"/> </source> <target dev="sda"/> </disk> # Описание второго диска с указанием определенного порта <disk type="network" device="disk"> <driver name="qemu" type="raw"/> <source protocol="nbd"> <host name="localhost" port="50124"/> </source> <target dev="sdb"/> </disk> # Описание сетевого интерфейса и его mac-адреса <interface type="network"> <source network="default"/> <target dev="eth0"/> <mac address="00:15:5d:54:40:02"/> </interface> </devices> </domain>
3.2.2.2. Пример конвертации с использованием API zVirt
В настоящее время используется протокол передачи NBD (Network Block Device), который работает через SSH.
Далее примере показан пример конвертации физической машины с двумя физическими дисками.
-
Выполнить команду
qemu-nbdдля каждого диска с указанием уникального порта:qemu-nbd -r -p 50123 -t -f raw -b localhost --cache=unsafe /dev/sda & qemu-nbd -r -p 50124 -t -f raw -b localhost --cache=unsafe /dev/sdb &С помощью ключа
-pзадается уникальный свободный порт за пределами диапазона зарезервированных портов.Список блочных устройств можно получить с помощью команды:
ls /dev/sd* -
Создать файл содержащий пароль от учётной записи
admin@internalв среде zVirt:nano /root/passwordfileОбратите внимание, что файл должен содержать весь пароль и не иметь пустых строк.
-
Установить права доступа
0600на файл содержащий пароль:chmod 0600 /root/passwordfile -
Скопировать файл сертификата с менеджера управления виртуализации zVirt:
scp zvirtvm.example.lab:/etc/pki/ovirt-engine/ca.pem /root -
Запустить процесс конвертации:
virt-v2v -v -x -i libvirtxml /root/physical.xml -o rhv-upload -oc https://zvirtvm.example.lab/ovirt-engine/api -op /root/passwordfile -os hosted_storage -oo rhv-cafile=/root/ca.pem -oo rhv-cluster=DefaultГде:
-
-i libvirtxml /root/physical.xml– описание ВМ, на основе которого будет создана ВМ в СУВ zVirt; -
rhv-upload -oc https://zvirtvm.example.lab/ovirt-engine/api -op1–URLна веб-интерфейс API zVirt; -
/root/passwordfile– файл содержащий пароль от учётной записи `admin@interna`l в среде zVirt; -
-os hosted_storage– домен хранения, в который будут импортированы диски; -
rhv-cafile=/root/ca.pem– файл сертификата менеджера zVirt; -
rhv-cluster=Default– кластер, в котором будет создана ВМ.
===== Пример конвертации в
Экспорт-домен -
-
Смонтировать хранилище
Экспорт-доменав локальный каталог:mount -t nfs storage.lab.example:/storage/export /mntГде,
-
storage.lab.example– хост, на котором физический располагаетсяЭкспорт-домен; -
mnt– целевой локальный каталог на хосте конвертации, в который будет смонтировано хранилищеЭкспорт-домена.
-
-
Запустить процедуру конвертации:
-
Команда для запуска процедуры конвертации на основе файла
physical.xml, если конвертируемая машина имеет несколько физических дисков:virt-v2v -v -x -i libvirtxml /root/physical.xml -o rhv -os /mnt/ -
Команда для запуска процедуры конвертации, если целевая машина имеет один физический диск:
virt-v2v -v -x -i disk /dev/sda -o rhv -os /mnt/ -
ВМ была сохранена в домен типа
Экспорт, выполнить импорт ВМ из домена типаЭкспортописанный в [разделе 2.6](#2-6). -
В некоторых случая может возникать ошибка из-за недостаточного пространства для кэша:
virt-v2v: error: libguestfs error: security: cached appliance /tmp/.guestfs-0 is not owned by UID 0Для решения этой проблемы необходимо добавить дополнительное хранилище (внешний диск, флеш-накопитель и т.п.)
Дополнительное хранилище не нужно описывать в файле physical.xml. -
Создать каталог куда будет смонтировано дополнительное хранилище:
mkdir /cache -
Смонтировать хранилище в созданный каталог (для примера
sdc1):mount /dev/sdc1 /cache -
Объявить через переменную каталог для хранения кэша:
export LIBGUESTFS_CACHEDIR=/cache -
Запустить процесс конвертации.
-
3.2.2.3. Подготовка виртуальной машины к запуску
Перед первым запуском ВМ в среде zVirt:
-
Убедиться, что
mac-адресимпортированной ВМ находится в диапазонепула mac-адресовкластера. -
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию
Включено VirtIO-SCSI, применить изменения. -
В окне Редактирование виртуальной машины, на вкладке Система, в разделе
Дополнительные параметры, убедиться, что в поле Тип BIOS установлен правильный типBIOS(cUEFIили без). -
В окне Редактирование виртуальной машины, на вкладке Общее:
-
Присоединить импортированные диски. Определить загрузочный диск если автоматически не был распознан, указать его.
-
Изменить тип интерфейса для всех импортированных дисков на тип
VirtIO/VirtIO-SCSI.
-
-
После запуска ВМ установить агент zVirt для гостевых ОС. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
|
Если при загрузке ОС Windows получаете ошибку
|