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

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

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

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

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

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

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

Создание образа с помощью консольных клиентов

Подробно о начале работы через консольные клиенты читайте в статье.

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

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

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

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> <ImageName>

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

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

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

Подробнее об операциях с дисками читайте в статье.