4.4. Загрузка образов из внешних источников

Загрузка образа из внешнего источника может быть выполнена несколькими способами. Обычным способом, применяемым на уровне платформы OpenStack, является клиент (openstackclient), представленный утилитой openstack [1].

Внешним источником может быть как официальный ресурс OpenStack, так и произвольный URL. Для скачивания образов дисков с предустановленной ОС Linux (CirrOS и др.), обратитесь к официальному ресурсу.

Для загрузки образа, содержащего гостевую ОС Linux, выполните команду:

openstack image create --disk-format qcow2 --container-format bare \\
--property hw_scsi_model=virtio-scsi --property hw_disk_bus=scsi \\
--property hw_qemu_guest_agent=yes \\
--property os_require_quiesce=yes \\
--property hw_video_model=qxl \\
--public --file ./<название_файла_образа> \\
<имя_образа>

где:

название_файла_образа – centos63.qcow2 и т.п.,

имя_образа – centos63-image и т.п.

Для загрузки образа, содержащего гостевую ОС Windows, также можно использовать вышеуказанную команду. В числе прочих аргументов (--property ...) следует, перед именем образа, добавить следующие строки:

--property os_distro=windows \\
--property os_type=windows \\

Внимание.

Если используется Сeph или СХД, то образы должны быть обязательно отконвертированы в raw:

qemu-img convert -f qcow2 -O raw  -p \\
ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.img \\
ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.raw

openstack image create \\
--disk-format raw \\
--container-format bare \\
--property hw_scsi_model=virtio-scsi \\
--property hw_disk_bus=scsi \\
--property hw_qemu_guest_agent=yes \\
--property os_require_quiesce=yes \\
--property hw_video_model=qxl \\
--public \\
--file ./kali-autologin-cloud-openstack-autologin-amd64.raw \\
kali-autologin-cloud-openstack-autologin-amd64

Опция --disk-format позволяет указать на конкретный формат образа: raw, qcow2 и др. Дополнительная информация может быть получена на странице программной документации.

Внимание.

Если постоянные диски располагаются на отдельном хранилище (SDS) и используется протокол RBD, то рекомендуется сконвертировать образ в формат RAW.

В других случаях рекомендуется подготовить образ, сконвертировав исходные данные (виртуальный диск) в оптимизированный формат QCOW2.

4.4.1. Загрузка облачных образов Linux

Загрузите образ диска (CirrOS) в OpenStack и убедитесь, что он появился в пуле хранилища (Ceph). Для этого выполните последовательность операций:

  1. Скачайте образ и сконвертируйте в формат RAW, выполнив команды:

    wget http://download.cirros-cloud.net/0.3.6/cirros-0.3.6-x86_64-disk.img
    
    qemu-img convert  cirros-0.3.6-x86_64-disk.img  cirros-0.3.6-x86_64-disk.raw
    
  2. Создайте образ с помощью утилиты (клиента) openstack:

    openstack image create \\
    --file cirros-0.3.6-x86_64-disk.raw \\
    --container-format bare \\
    --disk-format raw \\
    --public \\
    cirros-0.3.6
    
  3. Уточните, что образ обслуживается (Status: active):

    openstack image list
    
    +--------------------------------------+--------------+--------+
    | ID                                   | Name         | Status |
    +--------------------------------------+--------------+--------+
    | 4bd5b36d-0a43-4b5f-bbbd-0e4834d026f6 | cirros-0.3.6 | active |
    +--------------------------------------+--------------+--------+
    
  4. С помощью утилиты rbd пролистайте список доступных образов:

    rbd -p images ls
    

Пример вывода:

4bd5b36d-0a43-4b5f-bbbd-0e4834d026f6

Для проверки работы службы Nova (OpenStack) следует запустить виртуальную машину и убедиться, что она расположена в пуле. Выполните команду:

rbd -p volumes ls

Пример вывода:

1785cbcb-c27c-454b-9e3f-1ab10a9dff11_disk

ВАЖНО.

Образы, обслуживаемые с помощью протокола RBD, должны быть загружены только в формате RAW.

4.4.1.1. Ubuntu 22 Server

Готовый образ Ubuntu 22 Server с автологином в консоли и набором следующих инструментов (предустановленных пакетов):

htop nano nmap ethtool bridge-utils net-tools traceroute tcpdump
arp-scan curl iproute2 lsof iptraf-ng iftop dmidecode lshw psmisc
pciutils usbutils links hdparm iperf hwdata mc screen chrony
dhcpcd5 dhcpd

Скачайте образ, выполнив команду:

wget http://storage.tionix.ru/pub/cloud_images/linux/service/ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.img

Сконвертируйте образ в формат raw если у если тип хранилища ceph или СХД:

qemu-img convert -f qcow2 -O raw -p \\
ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.qcow2 \\
ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.raw

Загрузите образ в службу glance:

openstack image create \\
--disk-format raw \\
--container-format bare \\
--property hw_scsi_model=virtio-scsi \\
--property hw_disk_bus=scsi \\
--property hw_qemu_guest_agent=yes \\
--property os_require_quiesce=yes \\
--property hw_video_model=qxl \\
--public \\
--file ./ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64.raw \\
ubuntu22_server_autologin_admin_pkgs_cloudimg_amd64

ВАЖНО.

Обязательно используйте опции:

--property hw_scsi_model=virtio-scsi \\
--property hw_disk_bus=scsi \\
--property hw_qemu_guest_agent=yes \\
--property os_require_quiesce=yes

Включение VirtIO-SCSI обеспечивает наилучшую производительность виртуальных дисков.

4.4.1.2. Kali Linux

Готовый образ c автологином, графикой, паролем суперпользователя (root). Смена прав осуществляется с помощью команды:

sudo su

Скачайте образ:

wget http://storage.tionix.ru/pub/cloud_images/linux/service/kali-autologin-cloud-openstack-autologin-amd64.qcow2

Сконвертируйте образ в формат raw, если тип хранилища – Ceph или подключено дисковое поле (СХД, SAN):

qemu-img convert -f qcow2 -O raw -p \\
kali-autologin-cloud-openstack-autologin-amd64.qcow2 \\
kali-autologin-cloud-openstack-autologin-amd64.raw

Загрузите образ в службу glance:

openstack image create \\
--disk-format raw \\
--container-format bare \\
--property hw_scsi_model=virtio-scsi \\
--property hw_disk_bus=scsi \\
--property hw_qemu_guest_agent=yes \\
--property os_require_quiesce=yes \\
--property hw_video_model=qxl \\
--public \\
--file ./kali-autologin-cloud-openstack-autologin-amd64.raw \\
kali-autologin-cloud-openstack-autologin-amd64

Убедитесь, что все опции (--property) присутствуют.

Сноски

[1]https://docs.openstack.org/newton/user-guide/common/cli-install-openstack-command-line-clients.html