Образы ВМ

Просмотр списка образов

Просмотр образов осуществляется на Портале администратора, в интерфейсе Horizon или с использованием OpenStack CLI.

Для просмотра списка образов на Портале необходимо в левом меню перейти в раздел Ресурсы > Images. Пример вида раздела представлен на рисунке ниже.

Пример списка образов

Пример списка образов

Создание образа

Создание образа осуществляется в Портале администратора, в интерфейсе Horizon или с использованием OpenStack CLI. Образ можно создать путём загрузки файла в формате либо путём создания из существующего диска. Поддерживаются следующие форматы: raw, vhd, vhdx, vmdk, vdi, iso, ploop, qcow2, aki, ari и ami.

Создание образа из файла

Для загрузки образа размером более 20GB рекомендуется использовать OpenStack CLI.

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

  1. В левом меню Портала перейдите в раздел Ресурсы > Images.

  2. Нажмите кнопку Загрузить Image.

  3. Заполните поля. Обязательно нужно указать имя образа, тип ОС и выбрать файл для образа. Пример заполнения см. на рисунке ниже.

  4. Нажмите кнопку Начать загрузку.

    Создание образа из файла

    Создание образа из файла

Создание образа из существующего диска

Вы можете создать образ из существующего диска в интерфейсе Horizon. Для этого в левом меню перейдите в раздел Диски, найти диск, из которого будет создаваться образ, и затем в выпадающем списке выберите пункт меню Загрузить образ.

В форме создания образа выберите формат диска (см. рисунок ниже), укажите название образа и нажмите кнопку Загрузить.

Создание образа из существующего диска

Создание образа из существующего диска

Загрузка образов в Glance

Вы можете загружать образы гостевых ВМ в Glance. Запрос на создание и загрузку образов в Glance передается в модуль states через Terraform в виде переменной user_images.

В файл tf_states/variables.tf добавьте переменную user_images следующего вида:

variable "user_images" {
    description = "Pass user images as map"
    type        = map(any)
    default     = {
        # Below is an example of user image definition
        "ubuntu-24.04-x64" = {
            image_source_url = "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
            container_format = "bare"
            disk_format = "qcow2"
            min_disk_gb = 5
            visibility = "public"
            properties = {
            os_distro = "ubuntu"
            os_type = "linux"
            os_version = "24.04"
            os_require_quiesce = "True"
            ssh_key = "allow"
            hw_machine_type = "q35"
            }
        }
    }
}

После чего убедитесь, что эта переменная используется в модуле tf_states, вызываемом из файла tf_states/main.tf:

module "tf_states" {
    ...
    user_images    = var.user_images
}

Выгрузка образа

Выгрузка образа в файл выполняется в OpenStack CLI следующей командой: openstack image save --file <file-name> <image-id>, где <file-name> — имя локального файла, а <image-id> — ID образа.

Удаление образа

Удалить образ ВМ можно в Портале администратора или в Horizon.

Для удаления образа в Портале администратора выполните следующие действия:

  1. Перейдите в раздел Ресурсы > Images, выберите образ для удаления и нажмите значок X в столбце Actions.

  2. Проверьте имя и ID образа. Если все правильно, нажмите кнопку Удалить (см. рисунок ниже).

    Удаление образа

    Удаление образа

Включение множества очередей (multiqueue) в Unix-подобных операционных систем

KeyStack поддерживает множества очередей (multiqueue) у образа виртуальной машины (ВМ) и отдельной ВМ для операционных систем семейства Linux.

Ограничения

Функция множества очередей virtio-net обеспечивает повышение производительности, но имеет некоторые ограничения:

  1. ОС ВМ ограничена ~ 200 векторами MSI. Для каждой очереди сетевого адаптера требуется вектор MSI, а также любое устройство virtio или назначенное устройство PCI. Определение экземпляра с несколькими сетевыми адаптерами virtio и виртуальными ЦП может привести к превышению лимита гостевого MSI.

  2. Множества очередей хорошо работают для входящего трафика, но иногда могут вызвать снижение производительности для исходящего трафика.

  3. Включение множества очередей увеличивает общую пропускную способность сети, но одновременно увеличивает потребление ресурсов CPU.

  4. Если функция множества очередей была включена на хосте, но не была включена администратором в ОС ВМ, векторы MSI будут использоваться впустую.

  5. Количество очередей автоматически устанавливается равным количеству виртуальных ЦП. Чем больше количество ЦП, тем выше пропускная способность сети.

Примечание

Для некоторых образов операционных систем, например, CentOS6, недостаточно включить множества очередей только на уровне образа в конфигурации QEMU. Администратору ОС необходимо вручную включить функциональность с помощью ethtool на самой ВМ.

Включение множества очередей для новых ВМ из образа

Вариант включает множества очередей на уровне образа и будет работать для всех ВМ, созданных на базе этого образа после выполнения инструкции.

  1. Создайте образ ВМ.

  2. Получите список доступных образов, введя команду:

    # openstack image list
    
  3. Скопируйте ID нужного образа.

  4. Включите множество очередей, введя команду:

    # openstack image set <IMG_ID> --property hw_vif_multiqueue_enabled=true
    

Проверка количества очередей

  1. Создайте ВМ, в которой больше одного ЦП, и подключитесь к ее консоли.

  2. Посмотрите все сетевые интерфейсы, введя команду:

    # ip link show
    
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo qlen 1000
    link/ether fa:16:3e:e0:91:1e brd ff:ff:ff:ff:ff:ff
    

    Здесь eth0 — сетевой интерфейс, для которого нужно проверить подключение множества очередей.

  3. Посмотрите текущее количество очередей, введя команду:

    # ethtool -l <имя сетевого интерфейса>
    
    Channel parameters for external:
    Pre-set maximums:
    RX:             n/a
    TX:             n/a
    Other:          n/a
    Combined:       1
    Current hardware settings:
    RX:             n/a
    TX:             n/a
    Other:          n/a
    Combined:       1
    

Установка нужного количества очередей для ВМ

Количество очередей не может быть больше количества виртуальных ЦП.

  1. Выполните команду:

    sudo ethtool -L <имя сетевого интерфейса> combined <число очередей>
    
    $ sudo ethtool -L eth0 combined 2
    
  2. Проверьте новое количество очередей, введя команду:

    # ethtool -l <имя сетевого интерфейса>
    
    Channel parameters for external:
    Pre-set maximums:
    RX:             n/a
    TX:             n/a
    Other:          n/a
    Combined:       1
    Current hardware settings:
    RX:             n/a
    TX:             n/a
    Other:          n/a
    Combined:       2