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

Если среди готовых образов нет подходящего, загрузите свой собственный образ.

Создание образа в панели управления

Для создания нового образа в панели управления:

  1. Перейдите в раздел Образы в проекте.
  2. Нажмите кнопку Создать образ.
  3. В открывшемся окне выберите регион.
  4. Выберите источник, из которого будет создан образ:
    • из файла — загрузка файла образа с локального компьютера;
    • из URL — общедоступная в интернете ссылка на файл с образом;
    • из диска — ранее созданный локальный или сетевой диск. Образ можно создать только в том регионе, в котором находится диск.
  5. Введите имя образа.
  6. При выборе в качестве источника файла и URL укажите формат образа.
  7. Выберите операционную систему.
  8. При установке галочки Указать минимальные требования к диску и памяти появятся поля для определения минимального количества оперативной памяти и объёма дисков. Эти ограничения впоследствии будут использоваться панелью управления и API для определения пригодности выбранной конфигурации виртуальной машины для старта на базе этого образа.
  9. Нажмите кнопку Создать.

Созданный образ отобразится в Хранилище образов в регионе, в котором он создан.

В некоторых регионах Облачной платформы при создании образа из внешнего источника (файл, ссылка) надо указать зону доступности, в которой этот образ будет использоваться первоначально. Благодаря этому создание сетевых дисков и виртуальных машин с локальным диском будет оптимизировано по времени на период фоновой синхронизации образов между хранилищами в зонах доступности региона.

Создание образа с помощью CLI

Подробно о начале работы с OpenStack CLI.

Загрузка образа по ссылке

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

Чтобы создать образ загрузкой по ссылке, введите:

glance image-create-via-import \
--import-method web-download \
--uri <uri image> \
--name <image> \
--disk-format <format> \
--container-format <container> \
--property hw_disk_bus=scsi \
--property hw_scsi_model=virtio-scsi \
--property x_sel_image_owner=Selectel \
--property hw_qemu_guest_agent=yes

Загрузка образа из файла

Для загрузки образа из файла с локальной машины:

openstack image create <image> \
--container-format <container> \
--disk-format <format> \
--file <file> \
--property hw_disk_bus=scsi \
--property hw_scsi_model=virtio-scsi 

Для создания образа в формате ISO введите:

openstack image create ISO_IMAGE \
--file IMAGE.iso \
--disk-format iso \
--container-format bare \
--property hw_disk_bus=scsi \
--property hw_scsi_model=virtio-scsi 

Загрузка большого образа из файла

При загрузке больших образов (более 100 ГБ) используйте curl. Для загрузки большого образа из файла воспользуйтесь последовательностью команд:

  1. Создайте токен для работы с API:

    openstack token issue -c id -f value
  2. Введите команду:

    curl 'https://api.<REGION>.selvpc.ru/image/v2/images' \
    -H 'X-Auth-Token: <TOKEN>' \
    -H 'Content-Type: application/json;charset=utf-8' \
    --data {"name":"IMAGE_NAME","disk_format":"DISK_FORMAT","container_format":"bare"}'

    Где:

    • <REGION> – это название региона облачной платформы, например ru-1;
    • <TOKEN> – токен для работы с API, полученный в выводе первой команды;
    • <IMAGE_NAME> – имя образа;
    • <DISK_FORMAT> – формат данных загружаемого диска, подробнее про диски и форматы.
  3. Затем введите:

    curl 'https://api.<REGION>.selvpc.ru/image/v2/images/<IMAGE_ID_FROM_FIRST_REQUEST>/file' -X PUT \
    	-H 'Content-Type: application/octet-stream' \
    	-H 'X-Auth-Token: <TOKEN>' \
    	-T <PATH_TO_FILE>

    Где:

    • <REGION> – это название региона облачной платформы, например ru-1;
    • <IMAGE_ID_FROM_FIRST_REQUEST> – идентификатор созданного образа из предыдущей команды;
    • <TOKEN> – токен для работы с API, полученный в выводе первой команды;
    • <PATH_TO_FILE> – путь к файлу на диске.

Загрузка образа из диска

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

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

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

  1. Остановите сервер:

    openstack server stop <server>
  2. Просмотрите список сетевых дисков:

    openstack volume list
  3. Отключите диск от сервера:

    openstack server remove volume <server> <volume>
  4. Проверьте, что диск перешёл в состояние available:

    openstack volume list
  5. Создайте образ из сетевого диска:

    openstack image create --volume <volume> <image name>

Создание образа из облачного сервера с локальным диском

Для создания образа из облачного сервера (виртуальной машины) с локальным диском введите:

openstack server image create --name <image name> <server>

Подробнее об операциях с дисками в инструкции Управление дисками.