Как импортировать ВМ в VMmanager?

Вы можете импортировать виртуальную машину (ВМ), созданную с помощью технологии виртуализации QEMU-KVM, в платформу VMmanager. Импорт возможен только для ВМ с одним диском.

Если импортируемая ВМ сохранена в формате RAW, её надо предварительно конвертировать в формат Qcow2.

Если диск импортируемой ВМ находится в Ceph, создайте в VMmanager хранилище Ceph и подключите его к кластеру.

На импортированных ВМ вы не сможете:
  • изменить пароль средствами VMmanager;
  • автоматически добавлять и удалять IP-адреса;
  • автоматически изменить раздел диска.
Чтобы импортировать ВМ:
На сервере с VMmanager:
Если нужно импортировать ВМ без изменения IP-адреса
Авторизуйтесь в VMmanager с правами администратора:
curl -X POST 'https://domain.com/auth/v3/auth' -d '{"email": "admin_email", "password": "admin_pass"}'
В ответ придёт сообщение вида:
{
"expires_at":"2020-03-30 10:24:21",
"id":2,
"session":"544EA22F56A1416A8A1CEFD0"
}
Сохраните из полученного ответа значение параметра session — id сессии.

Выполните команду для создания ВМ:
curl -k -H 'Cookie: ses6=<session>' -H 'isp-box-instance: true' -H 'x-xsrf-token: <session>' -X POST  "https://domain.com/vm/v3/host" -d '{"name":"<vm_name>", "cluster":<cluster_id>, "storage":<storage_id>, "account":<user_id>, "domain": "vm.example.com", "os": <os_id>, "password":"<vm_password>", "ram_mib":<ram_value>, "hdd_mib": <disk_value>, "cpu_number":<cpu_quantity>, "ip_addr": {"name": "<ip_address>", "ip_pool":<pool_id>, "ip_network": <network_id>}}'
пример
curl -k -H 'Cookie: ses6=6258704D423C0F26E862B' -H 'isp-box-instance: true' -H 'x-xsrf-token: 6258704D423C0F26E862B' -X POST  "https://vm6.domain.com/vm/v3/host" -d '{"name":"test-solus", "cluster":1, "account":3, "domain": "test-solus.example.com", "os": 24, "password":"qwerty", "ram_mib":512, "hdd_mib": 20480, "cpu_number":1, "ip_addr": {"name": "172.31.214.42", "ip_pool":1, "ip_network": 2}}'
Остановите созданную ВМ: Виртуальные машины → выберите ВМ → меню → Остановить → Остановить.

Если IP-адрес импортируемой ВМ будет изменён
Создайте ВМ с необходимыми параметрами: Виртуальные машины → Создать VM. В поле Операционная система выберите NoOS. Если вам нужно перенести ВМ с диском в Ceph, выберите хранилище Ceph.
Остановите созданную ВМ: Виртуальные машины → выберите ВМ → меню → Остановить → Остановить.

На сервере с импортируемой ВМ:
Выключите ВМ.

Подготовьте диск ВМ:
Если ВМ находится в LVM-хранилище или сохранена в формате RAW

Конвертируйте диск ВМ в формат Qcow2:
qemu-img convert -f raw -O qcow2 path_to_vm/vm_raw vm_qcow
Пояснения к команде
path_to_vm/vm_raw — путь и имя исходного файла ВМ в формате RAW
vm_qcow — имя выходного файла в формате Qcow2
Скопируйте диск ВМ в формате Qcow2 на узел кластера VMmanager.

Если диск ВМ находится в Ceph
Подключитесь к серверу-монитору Ceph с исходной ВМ и экспортируйте её диск:
rbd export pool-1/vm_disk /tmp/vm_output.raw
Пояснения к команде
pool-1 — имя пула Сeph
vm_disk — имя диска ВМ
/tmp/vm_output.raw — путь и имя файла для экспорта в формате RAW
Перенесите диск ВМ на сервер-монитор Ceph, используемый VMmanager.

Импортируйте ВМ в VMmanager:
Если в кластере используется файловое хранилище
Скопируйте файл ВМ в директорию хранения на узле кластера:
cp vm_qcow /vm/<vm_id>_<vm_name>
Пояснения к команде
/vm — директория хранения ВМ
<vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-solus имя файла должно быть 12_test-solus.

Если в кластере используется LVM-хранилище
Конвертируйте файл ВМ в формат RAW и скопируйте в LVM-хранилище:
qemu-img convert -f qcow2 -O raw vm_qcow /dev/mapper/<vm_id>_<vm_name>
Пояснения к команде
/dev/mapper/ — путь к LVM-диску
<vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-solus имя файла должно быть 12_test-solus.

Если в кластере используется Ceph
На сервере-мониторе Ceph, используемом VMmanager:
Удалите диск созданной ВМ:
rbd rm pool-1/1234_vm_name
Пояснения к команде
pool-1 — имя пула Сeph, используемого платформой
1234_vm_name — имя диска ВМ

Импортируйте диск исходной ВМ:
rbd import vm_output.raw pool-1/1234_vm_name
Пояснения к команде
vm_output.raw — имя файла исходной ВМ
pool-1 — имя пула Сeph, используемого платформой
1234_vm_name — имя диска ВМ

Запустите импортированную ВМ: Виртуальные машины → выберите ВМ → меню → Запустить → Запустить.
Если требуется, подключитесь к ВМ через VNC и измените её сетевые настройки.

Нет комментариев