Загрузка образов дисков в хранилище с помощью утилиты "upload disk"

Загрузка образов с помощью upload disk является альтернативным способом загрузки образов дисков в Домен Хранения и может применяться, когда загрузка классическим способом невозможна. Загрузка данным способом возможно как с менеджера управления, так и с хостов zVirt.

1. Подготовка:

Для загрузки образов с помощью upload disk, необходимо переустановить python3-ovirt-engine-sdk4.

Для этого можно воспользоваться командой:

dnf reinstall -y python3-ovirt-engine-sdk4

Так же необходимо создать конфигурационный файл ovirt.conf по пути ~/.config/. Файл описывается в ini-формате и должен содержать блок конфигураций со следующими параметрами:

  1. В квадратных скобках необходимо задать название конфигурации. Данное название в дальнейшем будет использовать как ключ утилиты upload disk.

  2. engine_url — адрес менеджера управления.

  3. username — имя пользователя, под которым произойдёт авторизация в zVirt во время выполнения upload disk. Имя пользователя указывается полностью с пространством имён, в случае использования внутренних учётных записей, пространство имён будет @internal.

  4. password — пароль пользователя.

  5. secure — загрузка в Домен хранения по зашифрованному каналу.

  6. cafile — корневой сертификат zVirt.

    В этом параметре должен быть указан путь до сертификата удостоверяющего центра. В случае с менеджером управления путь будет следующий: /etc/pki/ovirt-engine/ca.pem, если же запуск upload disk будет осуществляться с хоста виртуализации, путь будет следующий: /etc/pki/vdsm/certs/cacert.pem.

Пример конфигурационного файла:

[conf-name]
engine_url = https://zvirt.example.ru
username = admin@internal
password = admin
secure = yes
cafile = /etc/pki/ovirt-engine/ca.pem

2. Загрузка образа

поддерживаются форматы образов qcow2, iso, img.

Для загрузки образа, необходимо скопировать образ в любой каталог на хосте/менеджере управления. Из каталога с образом диска необходимо выполнить команду:

python3 /usr/share/doc/python3-ovirt-engine-sdk4/examples/upload_disk.py -c conf-name --sd-name StorageDomainName YourImage.iso

С помощью ключа -c указывается конфигурация, созданная в файле ovirt.conf. В ключе --sd-name указывается название Домена хранения, в который будет загружен образ.

Если утилита запускается не из каталога, в котором содержится образ — нужно будет указать относительный или абсолютный путь до файла.

3. Устранения ошибок:

При появлении ошибки

virtsdk4.Error: Fault reason is "Operation Failed". Fault detail is "[Cannot add Virtual Disk. Disk configuration (COW Preallocated backup-None) is incompatible with the storage domain type.]". HTTP response code is 409.

Попробуйте добавить флаг --enable-backup.

Пример команды с флагом:

python3 /usr/share/doc/python3-ovirt-engine-sdk4/examples/upload_disk.py -c conf-name --sd-name StorageDomainName YourImage.iso --enable-backup

Если конвертация всё-равно завершается с ошибкой, то необходимо конвертировать диск в формат raw с помощью команды:

qemu-img convert -O raw YourImageIn.img YourImageOut.img

После указания формата raw нужно указать исходный образ, затем указать имя нового конвертированного образа.