Перейти к содержанию

Преобразование и установка образов ВМ#

Для преобразования и установки образа ВМ в Numa vServer выполните следующие действия:

1. Подключитесь к Numa vServer и скопируйте необходимый для дальнейшей работы образ ВМ.

2. Преобразуйте образ ВМ в формат VHD:

qemu-img convert -f <image_format_input> -O vpc <input_file.image_format_input> <outputfile.vhd>
[root@vserver:~]# qemu-img convert -f vmdk -O vpc ubuntu-18.10-server-cloudimg-amd64.vmdk ubuntuKs.vhd

где

  • <image_format_input> – формат входного файла согласно таблице:
Тип формата <image_format_input>
raw raw
qcow2 qcow2
VDI vdi
VMDK vmdk
VHD vpc
VHDX vhdx
  • <input_file.image_format_input> – наименование входного файла (с расширением);
  • <outputfile.vhd> – наименование итогового файла (с расширением).

3. Посмотрите информацию о созданном файле:

qemu-img info <outputfile.vhd>
[root@vserver:~]# qemu-img info ubuntuKs.vhd
image: ubuntuKs.vhd
file format: vps
virtual size: 10 GiB (10737893376 bytes)
disk size: 1.12 GiB
cluster_size: 2097152
Child node '/file':
    filename: ubuntuKs.vhd
    protocol type: file
    file length: 1.16 GiB (1250230784 bytes)
    disk size: 1.12 GiB

4. Создайте ВМ по шаблону импортируемой ВМ:

xe template-list
xe vm-install template=<template-name> new-name-label=<name_VM>
xe vif-create vm-uuid=<vm-uuid> network-uuid=<network-uuid> mac=random device=0

где

  • <template-name> указан в параметре name-label для команды xe template-list;
  • <network-uuid> можно узнать командой xe network-list;
  • <vm-uuid> можно узнать командой xe vm-list.

5. Создайте неразмеченный виртуальный диск:

xe vdi-create name-label=<name_VDI> virtual-size=<vitrual_size_GiB> sr-uuid=<uuid_sr>
[root@vserver:~]# xe vdi-create name-label=ubuntuKs virtual-size=12GiB sr-uuid=5df7ebd8-cb45-34ee-fef7-5bafbf8fe717
df1feba5-6984-4623-8e56-8e4e5c8d9bb4

где

  • <name_VDI> – имя виртуального диска;
  • <vitrual_size_GiB> – объем создаваемого диска. Указываемый объем должен быть на 15-20% больше, чем планируемый объем импортируемого диска. Указываются также единицы изменения: KiB, MiB, GiB;
  • <uuid_sr> – UUID хранилища, в которое требуется поместить виртуальный диск.

В качестве вывода Numa vServer присвоит созданному VDI UUID.

6. Создайте новый VBD для отображения виртуального диска в ВМ:

xe vbd-create vm-uuid=<uuid_VM> device=1 vdi-uuid=<uuid_VDI> bootable=true type=Disk mode=RW
[root@vserver:~]# xe vbd-create vm-uuid=7681fc64-7c32-f046-eac8-1eae3310cfc5 device=1 vdi-uuid=df1feba5-6984-4623-8e56-8e4e5c8d9bb4 bootable=true type=Disk mode=RW
f94bd2f9-9e43-bb4e-9e57-74c008df772c

где

  • <uuid_VM> – UUID виртуальной машины;
  • <uuid_VDI> – UUID VDI полученный на предыдущей этапе.

В качестве вывода Numa vServer присвоит созданному VBD UUID.

7. Импортируйте сконвертированный на 1 этапе VDI:

xe vdi-import filename=<outputfile.vhd> format=vhd uuid=<uuid_VDI>
[root@vserver:~]# xe vdi-import filename=ubuntuKs.vhd format=vhd uuid=df1feba5-6984-4623-8e56-8e4e5c8d9bb4

где

  • <outputfile.vhd> – итоговый файл, полученный на этапе 1;
  • <uuid_VDI> – UUID VDI, полученный на этапе 5.

После чего ВМ будет доступна к запуску и дальнейшей работе.

Внимание!

Для корректного запуска ОС семейства Red Hat выполните следующие команды в shell ОС до импорта или в shell ОС в rescue-режиме:

yum install dracut-config-generic dracut-network
dracut --add-drivers xen-blkfront -f /boot/initramfs-$(uname -r).img $(uname -r)

В случае дальнейшего использование Legacy:

dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg

При использовании UEFI:

dracut --regenerate-all -f && grub2-mkconfig -o /boot/efi/EFI/<your distribution>/grub.cfg