Статья содержит инструкции по импорту виртуальных машин (ВМ), созданных в программном комплексе средства виртуализации (ПК СВ) "Брест". Подробнее о ПК СВ "Брест" см. в официальной документации.
Импорт состоит из следующих шагов:
- Экспорт исходной ВМ.
- Подготовка VMmanager.
- Перенос дисков ВМ.
- Запуск ВМ.
Ограничения
На импортированных ВМ не поддерживается:
- изменение пароля средствами VMmanager;
- автоматическое добавление и удаление IP-адресов;
- автоматическое изменение разделов диска.
Из-за того, что разные гипервизоры могут использовать разные драйверы при работе с ОС Windows, корректный импорт ВМ с ОС семейства Windows не гарантируется.
В некоторых случаях ВМ может не запуститься, если у неё изменился тип дискового контроллера. Чтобы получить информацию о восстановлении такой ВМ, изучите алгоритм восстановления системного загрузчика в документации к гостевой ОС:
Экспорт исходной ВМ из ПК СВ "Брест"
Файлы исходной ВМ нужно конвертировать в формат, поддерживаемый VMmanager, и перенести на тот узел кластера платформы, где будет запущена ВМ. VMmanager поддерживает следующие форматы дисков ВМ:
- RAW — для Ceph и LVM-хранилищ;
- Qcow2 — для файлового хранилища.
Подробнее о форматах дисков ВМ см. в статье Типы хранилищ.
Так как файлы в формате RAW занимают большой объём, рекомендуем конвертировать их в формат Qcow2 перед переносом на узел кластера VMmanager.
Чтобы экспортировать ВМ:
- Выключите ВМ.
- Создайте резервную копию ВМ по инструкции из статьи Резервное копирование и восстановление ВМ документации ПК СВ "Брест".
- Определите ID резервной копии ВМ. Для этого перейдите в меню Хранилище → Резервные копии ВМ. ID отображается в строке с резервной копией.
Пример отображения ID
- В терминале узла управления (лидера RAFT):
- Определите путь к сохранённому архиву с образами диска:
sudo oneimage show <backup_id> | grep -i source
Пояснения к командеПример выводаSOURCE : /var/lib/one//datastores/2/c221583cccf24205c8f2cb93a10b1a61
- Создайте директорию /tmp/untar_VM для распаковки архива резервной копии:
sudo mkdir /tmp/untar_VM
- Распакуйте архив в созданную директорию:
sudo tar -xzf <path_to_backup> -C /tmp/untar_VM
Пояснения к команде - Если формат образов дисков ВМ отличается от Qcow2, выполните их преобразование в формат Qcow2:
qemu-img convert -O qcow2 /tmp/untar_VM/<input_file> <qcow_file>
Пояснения к командеЕсли у ВМ несколько дисков, выполните команду для каждого образа диска. - Скопируйте файлы образов дисков в формате Qcow2 на узел кластера VMmanager. Например, с помощью утилиты scp:
scp <qcow_file> <user>@<host>:<dir>
Пояснения к командеЕсли у ВМ несколько дисков, выполните команду для каждого образа диска.
- Определите путь к сохранённому архиву с образами диска:
Подготовка 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-адресов средствами ОС.