apt install qemu-guest-agent spice-vdagent -y
systemctl enable --now qemu-guest-agent spice-vdagent
Версия zVirt: 4.1
Система безопасного управления виртуализацией zVirt может импортировать как целые ВМ, так и отдельные диски. zVirt имеет графический интерфейс импорта ВМ из следующих источников:
VMware;
KVM;
XEN;
Экспорт-домен;
Virtual Appliance (OVA);
Virtual disk (QCOW2).
В составе среды виртуализации присутствуют встроенные средства конвертирования дисков ВМ.
Перед импортом виртуальной машины под управлением ОС Windows:
удалите гостевые дополнения VMWare;
установите гостевые дополнения zVirt. В противном случае виртуальная машина может не запуститься в среде zVirt.
Если на ВМ на базе ОС семейства Windows не были установлены драйверы VirtIO
, то после миграции требуется зайти в настройки ВМ, далее в настройки виртуального диска и изменить интерфейс на IDE
. После чего запустить ВМ, подключить к ВМ образ с гостевыми дополнениями и установить все необходимые драйверы. После этого требуется выключить ВМ и изменить интерфейс виртуального диска на VirtIO
.
В том случае если импорт не удается, обратитесь в соответствующий лог-файл в каталоге /var/log/vdsm/import/ и файл /var/log/vdsm/vdsm.log на прокси-хосте.
Система виртуализации преобразует виртуальные машины 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, начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
Процесс миграции завершен.
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, после чего начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
При импорте виртуальных машин из 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.
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, начнется процесс миграции. За прогрессом миграции можно наблюдать в окне Задачи.
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).
В разделе описаны методы миграции виртуальных машин из среды виртуализации Hyper-V в zVirt. Ознакомьтесь с инструкцией и только после этого приступайте к миграции.
Миграция средствами P2V
– образа требует некоторых дополнительных действий в случае миграции ВМ поколения 2 (с UEFI)
. Если миграция средствами P2V
– образа вызывает затруднения обратитесь к разделу Миграция виртуальной машины средствами LiveCD Fedora 34-1.2.
Процедура конвертации происходит на одном из хостов виртуализации 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`:
|
Загрузить 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>
В настоящее время используется протокол передачи 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
– кластер, в котором будет создана ВМ.
Экспорт-домен
Смонтировать хранилище Экспорт-домена
в локальный каталог:
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
Запустить процесс конвертации.
Перед первым запуском ВМ в среде zVirt требуется:
Убедиться, что MAC-адрес
импортированной ВМ находится в диапазоне пула MAC-адресов
кластера.
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию Включено VirtIO-SCSI
, применить изменения.
В окне Редактирование виртуальной машины, на вкладке Система, в разделе Дополнительные параметры
, убедиться, что в поле Тип BIOS установлен правильный тип BIOS
(c UEFI
или без).
В окне Редактирование виртуальной машины, на вкладке Общее:
Присоединить импортированные диски. Определить загрузочный диск если автоматически не был распознан, указать его.
Изменить тип интерфейса для всех импортированных дисков на тип VirtIO/VirtIO-SCSI
.
После запуска ВМ установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Если при загрузке ОС Windows получаете ошибку
|
Виртуальная машина должна находится в Экспорт-домене. Прежде чем виртуальную машину можно будет импортировать в новый центр данных, Экспорт-домен должен быть присоединен к целевому центру данных. |
Перейти на портале администрирования в раздел Активный
.
Перейти на вкладку Импортировать ВМ, чтобы просмотреть список доступных виртуальных машин для импорта.
Выберите одну или несколько виртуальных машин для импорта и нажмите кнопку Импортировать. Откроется окно импорта, представленное ниже:
Выбрать целевой кластер.
Отметить чек-бокс Клонировать для того, чтобы изменить имя виртуальной машины и 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
Перезагрузить виртуальную машину.
Для 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
Перезагрузить виртуальную машину.
В zVirt есть возможность загрузки дисков ВМ и прикреплению диска к новой или уже созданной ВМ.
Зайти в веб-интерфейсе zVirt в раздел
, нажать на кнопку Отправить, откроется окно представленное ниже:Выбрать файл с диском формата qcow2
, указать псевдоним и домен хранения. Нажать кнопку Тест соединения, при успешном соединении, нажать OK. Начнется процесс загрузки виртуального диска, прогресс загрузки можно посмотреть в окне Задачи.
Процесс загрузки виртуального диска завершен.
Конвертация физической машины может быть выполнена двумя способами:
Создается ВМ и в нее копируются данные физической машины, затем ВМ копируется в Экспорт-домен
системы управления виртуализацией. Из Экспорт-домен
ВМ может быть импортирована в zVirt.
Создается ВМ и в нее копируются данные физической машины, затем сервер конвертации сохраняет виртуальный диск в локальную директорию. Виртуальный диск можно импортировать в zVirt.
Поддерживаемы ОС:
AltLinux
CentOS
Debian
Fedora
OpenSUSE
RHEL
Ubuntu
При конвертировании физической машины с программным рейдом, могут возникнуть ошибки. |
В качестве сервера конвертации может выступать, как хост виртуализации 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>
В разделе описаны методы конвертации физических машин в среду виртуализации zVirt. Ознакомьтесь с инструкцией и только после этого приступайте к конвертации.
Конвертация физической машины, описанная в разделе Конвертация физической машины средствами P2V-образа невозможна для машин 2-ого поколения (с UEFI
). Для конвертации физических машин 1-ого поколения (с UEFI
) обратитесь к методу, описанному в разделе Конвертация физической машины средствами LiveCD Fedora 34-1.2.
Для выполнения процедуры конвертации выполните следующие действия:
Выключить целевую машину.
Если целевая машина работает под управлением ОС 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
(c UEFI
или без).
В окне Редактирование виртуальной машины, на вкладке Общее изменить тип интерфейса для всех импортированных дисков на тип VirtIO/VirtIO-SCSI
.
После запуска ВМ установить гостевые дополнения. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Если при загрузке ОС Windows получаете ошибку
|
Загрузить 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>
В настоящее время используется протокол передачи 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
Запустить процесс конвертации.
Перед первым запуском ВМ в среде zVirt:
Убедиться, что mac-адрес
импортированной ВМ находится в диапазоне пула mac-адресов
кластера.
В окне Редактирование виртуальной машины, на вкладке Выделение ресурсов включить опцию Включено VirtIO-SCSI
, применить изменения.
В окне Редактирование виртуальной машины, на вкладке Система, в разделе Дополнительные параметры
, убедиться, что в поле Тип BIOS установлен правильный тип BIOS
(c UEFI
или без).
В окне Редактирование виртуальной машины, на вкладке Общее:
Присоединить импортированные диски. Определить загрузочный диск если автоматически не был распознан, указать его.
Изменить тип интерфейса для всех импортированных дисков на тип VirtIO/VirtIO-SCSI
.
После запуска ВМ установить агент zVirt для гостевых ОС. Для ОС семейства Windows гостевые дополнения доступны по ссылке. Для ОС семейства Linux установить пакеты из репозитория дистрибутива ОС: qemu-guest-agent и spice-vdagent.
Если при загрузке ОС Windows получаете ошибку
|