Создание образа
Если среди готовых образов нет подходящего, загрузите свой собственный образ.
Создание образа в панели управления
Для создания нового образа в панели управления:
- Перейдите в раздел Образы в проекте.
- Нажмите кнопку Создать образ.
- В открывшемся окне выберите регион.
- Выберите источник, из которого будет создан образ:
- из файла — загрузка файла образа с локального компьютера;
- из URL — общедоступная в интернете ссылка на файл с образом;
- из диска — ранее созданный локальный или сетевой диск. Образ можно создать только в том регионе, в котором находится диск.
- Введите имя образа.
- При выборе в качестве источника файла и URL укажите формат образа.
- Выберите операционную систему.
- При установке галочки Указать минимальные требования к диску и памяти появятся поля для определения минимального количества оперативной памяти и объёма дисков. Эти ограничения впоследствии будут использоваться панелью управления и API для определения пригодности выбранной конфигурации виртуальной машины для старта на базе этого образа.
- Нажмите кнопку Создать.
Созданный образ отобразится в Хранилище образов в регионе, в котором он создан.
В некоторых регионах Облачной платформы при создании образа из внешнего источника (файл, ссылка) надо указать зону доступности, в которой этот образ будет использоваться первоначально. Благодаря этому создание сетевых дисков и виртуальных машин с локальным диском будет оптимизировано по времени на период фоновой синхронизации образов между хранилищами в зонах доступности региона.
Создание образа с помощью 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. Для загрузки большого образа из файла воспользуйтесь последовательностью команд:
Создайте токен для работы с API:
openstack token issue -c id -f value
Введите команду:
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>
– формат данных загружаемого диска, подробнее про диски и форматы.
Затем введите:
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>
– путь к файлу на диске.
Загрузка образа из диска
Для создания консистентного образа из диска нужно отключить диск от виртуальной машины. Менее надёжный, но более удобный вариант — создать временный диск из снапшота основного диска без остановки виртуальной машины.
Создание образа из сетевого диска
Для создания образа из сетевого диска:
Остановите сервер:
openstack server stop <server>
Просмотрите список сетевых дисков:
openstack volume list
Отключите диск от сервера:
openstack server remove volume <server> <volume>
Проверьте, что диск перешёл в состояние available:
openstack volume list
Создайте образ из сетевого диска:
openstack image create --volume <volume> <image name>
Создание образа из облачного сервера с локальным диском
Для создания образа из облачного сервера (виртуальной машины) с локальным диском введите:
openstack server image create --name <image name> <server>
Подробнее об операциях с дисками в инструкции Управление дисками.