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

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

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

1. Выполнить подключение к 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=<uuid_VM> network-uuid=<network-uuid> mac=random device=0

где <network-uuid> можно узнать, использовав команду xe network-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% больше, чем планируемый объем импортируемого диска. Указываются также единицы изменения;
  • <uuid_sr> - UUID хранилища, в которое требуется поместить виртуальный диск.

В качестве вывода 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 полученный на предыдущей этапе.

В качестве вывода vServer присвоит созданному VDB 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