Статья описывает импорт виртуальных машин (ВМ) или образов ВМ, созданных с помощью ПО:
- Hyper-V;
- VirtualBox;
- VMware;
- Xen;
- различных гипервизоров, использующих технологию QEMU-KVM.
Импорт состоит из следующих шагов:
- Подготовка исходной ВМ.
- Подготовка VMmanager.
- Перенос дисков ВМ.
- Запуск ВМ.
Ограничения
На импортированных ВМ не поддерживается:
- изменение пароля средствами VMmanager;
- автоматическое добавление и удаление IP-адресов;
- автоматическое изменение разделов диска.
Из-за того, что разные гипервизоры могут использовать разные драйверы при работе с ОС WIndows, корректный импорт ВМ с ОС семейства Windows не гарантируется.
На ВМ с ОС Windows, импортированных из Hyper-V, увеличение ресурсов с опцией Добавлять ресурсы без перезагрузки VM может работать некорректно.
Подготовка исходной ВМ
На этом шаге файлы исходной ВМ нужно конвертировать в формат, поддерживаемый VMmanager, и перенести на узел кластера платформы. VMmanager поддерживает следующие форматы дисков ВМ:
- RAW — для Ceph и LVM-хранилищ;
- Qcow2 — для файлового хранилища.
Подробнее о форматах дисков ВМ см. в статье Типы хранилищ.
Так как файлы в формате RAW занимают большой объём, рекомендуем конвертировать их в формат Qcow2 перед переносом на узел кластера VMmanager.
Порядок подготовки
- Остановите исходную ВМ.
-
Если файлы дисков ВМ:
-
находятся в хранилище Ceph:
- Подключитесь к серверу-монитору Ceph с исходной виртуальной машиной.
-
Экспортируйте диски ВМ:
rbd export <pool_name>/<disk_name> <raw_file>
Пояснения к команде -
Конвертируйте файлы дисков в формат Qcow2:
qemu-img convert -f raw -O qcow2 <raw_file> <qcow_file>
Пояснения к команде
-
находятся в LVM-хранилище:
-
Экспортируйте их и сконвертируйте в формат Qcow2:
qemu-img convert -f raw -O qcow2 <path_to_vm/raw_file> <qcow_file>
Пояснения к команде
-
-
-
Если формат файлов ВМ отличается от Qcow2, выполните конвертацию:
qemu-img convert -f <input_format> -O qcow2 <input_file> <qcow_file>
Пояснения к команде - Перенесите файлы дисков ВМ на узел кластера VMmanager.
Подготовка VMmanager
- Если требуется, подготовьте и подключите к кластеру хранилище нужного типа. Подробнее:
- Создайте ВМ с необходимыми параметрами: Виртуальные машины → Создать VM. При создании:
- Выберите операционную систему NoOS.
- Выберите или создайте конфигурацию с диском не менее, чем у исходной ВМ. Если у исходной ВМ больше одного диска, выберите или создайте конфигурацию с нужным количеством дисков.
- Выберите хранилище требуемого типа.
- Если нужно импортировать ВМ без изменения IP-адреса, выберите необходимый IP-адрес: Пул → Назначить IP.
- Остановите созданную ВМ: Виртуальные машины → выберите ВМ → меню → Остановить.
Перенос дисков ВМ
При переносе потребуется заменить файлы дисков, созданные платформой, на файлы исходной ВМ. Имена файлов должны остаться прежними.
Если у ВМ один диск, имя файла имеет вид id_имя-ВМ. Например, 42_vmtest. Если у ВМ более одного диска, она хранится в нескольких файлах. Для первого диска имя файла имеет вид id_имя-ВМ, для остальных дисков — id_имя-ВМ_имя-диска. Например, ВМ с тремя дисками может храниться в файлах 42_vmtest, 42_vmtest_disc2, 42_vmtest_disc3.
Порядок переноса зависит от типа используемого хранилища.
Файловое хранилище
Скопируйте диски исходной ВМ в директорию хранения на узле кластера:
cp <qcow_file> <vm_dir>/<vm_file>
Локальное LVM-хранилище
Импортируйте диски исходной ВМ в LVM-хранилище:
qemu-img convert -f qcow2 -O raw <qcow_file> /dev/mapper/<vm_file>
Сетевое LVM-хранилище
Импортируйте диски исходной ВМ в LVM-хранилище:
qemu-img convert -f qcow2 -O raw <qcow_file> /dev/Network_lvm_<dev_disk>/<id_name>
Ceph
-
Конвертируйте файлы дисков исходной ВМ в формат RAW:
qemu-img convert -f qcow2 -O raw <qcow_file> <raw_file>
Пояснения к команде -
На сервере-мониторе Ceph:
-
Удалите диски созданной ВМ:
rbd rm <pool_name>/<vm_file>
Пояснения к команде -
Импортируйте диски исходной ВМ:
rbd import <raw_file> <pool_name>/<vm_file>
Пояснения к команде
-
Запуск ВМ
- Запустите импортированную ВМ: Виртуальные машины → выберите ВМ → меню → Запустить.
- Если требуется, подключитесь к ВМ через VNC или SPICE и измените её сетевые настройки: Виртуальные машины → выберите ВМ → меню → VNC (SPICE). Подробнее о настройке сети см. в статье Назначение IP-адресов средствами ОС.