Образы ВМ

Предупреждение

При использовании ОС SberLinux Horizon в KeyStack недоступен. Используйте Портал администратора или KOC.

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

Просмотр образов осуществляется на Портале администратора или с использованием KOC.

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

Список образов на Портале администратора

Список образов на Портале администратора

На странице сведений об образе на Портале администратора отображается фиксированный набор системных полей образа:

  • Name — имя образа;

  • OS type — тип операционной системы образа;

  • Disk format — формат диска образа;

  • Status — текущий статус образа.

Теги образов

Текущие теги образа отображаются как значение параметра tags в списке параметров на вкладке Детали страницы сведений об образе. Поле доступно только для просмотра.

Вкладка «Детали» страницы сведений об образе с параметром tags

Вкладка «Детали» страницы сведений об образе с параметром tags

Метаданные образа

Для изменения имени образа и управления его настраиваемыми свойствами — произвольными парами «ключ — значение», влияющими на поведение ВМ, создаваемых из образа, — на Портале администратора выполните следующие действия:

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

  2. В строке нужного образа откройте меню действий, нажав кнопку ⋮, и выберите Изменить образ.

    Пункт меню действий «Изменить образ»

    Пункт меню действий «Изменить образ»

  3. На вкладке Общая информация при необходимости измените имя образа.

    Окно «Редактирование образа» — вкладка «Общая информация»

    Окно «Редактирование образа» — вкладка «Общая информация»

  4. Перейдите на вкладку Метаданные — двухколоночную форму Ключ / Значение с текущими свойствами образа:

    • чтобы добавить новое свойство, укажите новую пару Ключ / Значение;

    • чтобы изменить значение существующего свойства, отредактируйте поле Значение в соответствующей строке;

    • чтобы удалить свойство, удалите соответствующую строку.

      Окно «Редактирование образа» — вкладка «Метаданные»

      Окно «Редактирование образа» — вкладка «Метаданные»

  5. Нажмите кнопку Применить.

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

Образ можно создать путём загрузки файла или из существующего диска. Для загрузки файла используйте Портал администратора или KOC. Для создания образа из существующего диска используйте Портал администратора, а при использовании Ubuntu — также портал самообслуживания Horizon. Загрузка образов в Glance через GitLab и Terraform описана в разделе Загрузка образов в Glance. Поддерживаются следующие форматы: raw, vhd, vhdx, vmdk, vdi, iso, ploop, qcow2, aki, ari и ami.

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

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

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

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

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

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

  4. Нажмите кнопку Создать.

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

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

Примечание

При использовании Cinder в качестве бэкенда Glance после загрузки нового образа рекомендуется выполнить пробное создание виртуальной машины из этого образа. Эта процедура обеспечивает обновление кэшей системы хранения данных и позволяет избежать ошибок тайм-аута при создании последующих ВМ.

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

Для создания образа из существующего диска:

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

  2. В строке необходимого диска откройте меню действий, нажав кнопку ⋮, и выберите Загрузить в образ.

    Действие «Загрузить в образ»

    Действие «Загрузить в образ»

  3. В открывшемся окне укажите параметры:

    • Имя образа — имя создаваемого образа;

    • Формат диска — формат создаваемого образа;

    • Формат контейнера — формат контейнера образа;

    • Публичный — доступность образа всем проектам. Параметр включён по умолчанию.

    Параметры создаваемого образа

    Параметры создаваемого образа

  4. Нажмите кнопку Создать.

  5. Убедитесь, что созданный образ появился в разделе Ресурсы > Образы.

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

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

В GitLab перейдите в репозиторий региона project_k / deployments / <имя региона>, откройте файл 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
}

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

  1. Откройте веб-интерфейс GitLab.

  2. Перейдите в репозиторий региона project_k / deployments / <имя региона>.

  3. Создайте новый пайплайн: Build > Pipelines > New Pipeline.

  4. Оставьте ветку по умолчанию, соответствующую установленному релизу.

  5. Запустите пайплайн, нажав кнопку New pipeline.

  6. Дождитесь завершения задачи setup.

  7. Запустите задачу states на этапе postconfig и дождитесь её успешного завершения.

  8. На Портале администратора перейдите в раздел Ресурсы > Образы и убедитесь, что указанные в tf_states/main.tf образы появились в списке.

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

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

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

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

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

  1. Перейдите в раздел Ресурсы > Образы, в строке нужного образа откройте меню действий, нажав кнопку ⋮, и выберите Удалить образ.

  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. Добавьте в метаданные образа свойство hw_vif_multiqueue_enabled=true. Для изменения свойств образа через Портал администратора см. Метаданные образа.

    Например, с помощью KOC:

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

      # koc image list
      
    2. Скопируйте ID образа, созданного на первом шаге.

    3. Включите множество очередей:

      # koc 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