Импорт ВМ и дисков
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
Система виртуализации zVirt использует встроенные средства для конвертации виртуальных машин KVM в правильный формат перед их импортом.
-
Установите в виртуальную машину гостевые дополнения.
Для ОС семейства Windows гостевые дополнения доступны по ссылке.
Для ОС семейства Linux установите пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Например, для ОС семейства Debian:
apt install qemu-guest-agent spice-vdagent -y -
Включите службы и добавите их автозапуск:
Например, для дистрибутивов, использующих systemd:
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 -
Включите службы и добавите их автозапуск:
Например, для дистрибутивов, использующих systemd:
systemctl enable --now qemu-guest-agent spice-vdagent -
Выключите виртуальную машину
Перед импортом виртуальная машина должна быть выключена. Запуск процесса миграции до полной остановки виртуальной машины может привести к повреждению данных.
Виртуальная машина не должна иметь контрольных точек. Перед миграцией их необходимо удалить.
-
На портале администрирования перейдите в раздел .
-
В правом верхнем углу нажмите
и в выпадающем меню выберите Импортировать. Откроется форма Импорт ВМ:
-
В форме Импорт ВМ:
-
Выберите источник — VMware.
-
Выберите целевой центр данных.
-
В поле vCenter введите IP-адрес или полное доменное имя VMware vCenter.
-
В поле ESXi введите IP-адрес или полное доменное имя хоста, с которого будут импортироваться виртуальные машины.
-
Введите имя центра данных и кластера, в котором находится указанный хост ESXi в поле Центр данны.
-
Если выполнен обмен
SSL-сертификатоммежду хостом ESXi и менеджером управления, отметьте чек-бокс, чтобы проверить сертификат хоста ESXi. Если нет, снимите отметку с чек-бокса. -
Нажмите Загрузить. В левой части формы отобразятся ВМ, с помощью стрелок
переместите их в окно Виртуальные машины для импорта, отметьте чек-боксы напротив ВМ и нажмите Далее, откроется окно настройки импорта.Пользователь должен иметь доступ к центру данных VMware и хосту ESXi, на котором находятся виртуальные машины.
-
В окне настройки импорта:
-
Выберите целевой домен хранения
-
Выберите целевой кластер
-
Выберите тип виртуального диска для ВМ
-
При необходимости отметьте опцию Клонировать. Это позволит изменить имя и mac-адрес ВМ, а также клонировать диски с удалением снимков
-
Выберите тип гостевой ОС
-
-
Нажмите OK для начала импорта.
-
|
Опция Подключить CD позволяет подключить диск с гостевыми дополнениям для импортирования драйверов в файлы виртуальных машин, чтобы при изменении интерфейса диска на VirtIO устройство былo правильно обнаружено операционной системой. |
За прогрессом импорта можно наблюдать в окне Задачи.
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/.
2.3. Импорт виртуальных машин из среды виртуализации XEN
Система виртуализации zVirt использует встроенные средства для конвертации виртуальных машин XEN в правильный формат перед их импортом.
-
Установите в виртуальную машину гостевые дополнения.
Для ОС семейства Windows гостевые дополнения доступны по ссылке.
Для ОС семейства Linux установите пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Например, для ОС семейства Debian:
apt install qemu-guest-agent spice-vdagent -y -
Включите службы и добавите их автозапуск:
Например, для дистрибутивов, использующих systemd:
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
-
Введите полный путь к гипервизору 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 -
Включите службы и добавите их автозапуск:
Например, для дистрибутивов, использующих systemd:
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 -
На портале администрирования zVirt перейдите в раздел
-
Выберите домен экспорта
-
Перейдите на вкладку Импортировать ВМ, в списке должна отображаться импортируемая ВМ.
-
Импортируйте виртуальную машину в целевой домен данных из домена экспорта.
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 (1) (2)1 storage.lab.example- хост, на котором физически располагается домен экспорта.2 /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 получаете ошибку
|
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 \ (1) -o rhv-upload \ -oc https://zvirtvm.example.lab/ovirt-engine/api \ (2) -op /root/passwordfile \ (3) -os hosted_storage \ (4) -oo rhv-cafile=/root/ca.pem \ (5) -oo rhv-cluster=Default (6)1 /root/physical.xml- описание ВМ, на основе которого будет создана ВМ вСУВ zVirt2 https://zvirtvm.example.lab/ovirt-engine/api- URL на веб-интерфейсAPI zVirt3 /root/passwordfile- файл содержащий пароль от учётной записиadmin@internalв среде zVirt4 hosted_storage- домен хранения, в который будут импортированы диски;5 /root/ca.pem- файл сертификата менеджера zVirt;6 Default- кластер, в котором будет создана ВМ.
2.4.2.3. Пример конвертации виртуальной машины в домен экспорта
-
Смонтировать хранилище домена экспорта в локальный каталог:
mount -t nfs storage.lab.example:/storage/export /mnt (1) (2)1 storage.lab.example- хост, на котором физический располагается домен экспорта;2 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/ -
ВМ будет сохранена в домен экспорта, выполните импорт ВМ из домена типа
Экспорт.В некоторых случаях может возникать ошибка из-за недостаточного дискового пространства для кэша:
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 (1) (2)1 storage.lab.example- хост, на котором физически располагается домен экспорта.2 /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.2.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 (1) sudo su<1>`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 \ (1) -o rhv-upload \ -oc https://zvirtvm.example.lab/ovirt-engine/api \ (2) -op /root/passwordfile \ (3) -os hosted_storage \ (4) -oo rhv-cafile=/root/ca.pem \ (5) -oo rhv-cluster=Default (6)1 /root/physical.xml- описание ВМ, на основе которого будет создана ВМ вСУВ zVirt2 https://zvirtvm.example.lab/ovirt-engine/api- URL на веб-интерфейсAPI zVirt3 /root/passwordfile- файл содержащий пароль от учётной записиadmin@internalв среде zVirt4 hosted_storage- домен хранения, в который будут импортированы диски;5 /root/ca.pem- файл сертификата менеджера zVirt;6 Default- кластер, в котором будет создана ВМ.===== Пример конвертации в домен экспорта
-
Смонтировать хранилище домена экспорта в локальный каталог:
mount -t nfs storage.lab.example:/storage/export /mnt (1) (2)1 storage.lab.example- хост, на котором физический располагается домен экспорта;2 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/ -
ВМ была сохранена в домен типа
Экспорт, выполнить импорт ВМ из домена типаЭкспорт. -
В некоторых случая может возникать ошибка из-за недостаточного пространства для кэша:
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 получаете ошибку
|