Skip to content
На этой странице:

Пользовательские образы

Требования к образам

  1. Дистрибутив пользовательского образа должен быть совместим с архитектурой процессоров x86 64-bit.

  2. Использование образа с BIOS на ВМ с GPU приведет к некорректной работе виртуальной машины. Подробнее о режимах загрузки...

Для работы с GPU воспользуйтесь готовым образом из Marketplace.

  1. Для штатной работы виртуальной машины, созданной на основе пользовательского образа, необходимо выполнить настройку образа согласно следующим рекомендациям:

    Обратите внимание, что настройка GRUB и cloud-init возможна только для Unix-подобных систем. При настройке системы Windows рекомендуется настроить DNS, а также установить сервер OpenSSH для организации возможности подключения к виртуальной машине.

Важно

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

  • перезагрузка,
  • выключение,
  • веб-терминал,
  • смена пароля
  • и др.

Совет

Чтобы не заниматься настройкой образа, можно воспользоваться функцией создания образа из ВМ. Подробнее....

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

Данная инструкция позволяет создать образ, полностью соответствующий требованиям.

  1. Выполните установку произвольного ПО для виртуализации. Например, UTM или VirtualBox.
  2. Скачайте необходимый ISO-образ.
  3. Запустите виртуальную машину и выполните базовую установку системы.
  4. После успешного завершения установки на виртуальной машине необходимо выполнить команды для настройки DNS, GRUB и cloud-init.

Настройка DNS

Необходимо вручную настроить DNS-сервера. С подробной инструкцией по настройке DNS можно ознакомиться здесь.

  • Для использования Google DNS:

    8.8.8.8
    8.8.4.4
  • Для использования Yandex DNS:

    77.88.8.8 
    77.88.8.1

Настройка GRUB

Для настройки серийной консоли достаточно настроить GRUB:

  1. С помощью любого текстового редактора добавьте в конец файла /etc/default/grub следующий текст:
GRUB_CMDLINE_LINUX="console=ttyS0,115200n8"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_TERMINAL="serial console"
  1. После этого запустите обновление GRUB при помощи команды:
Ubuntu 22.04
sh
sudo update-grub
CentOS Stream 8-9
sh
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
Debian 12
sh
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

Установка Open VM Tools

Установка Open VM Tools позволит корректно осуществлять операции с ВМ (выключение, перезагрузка). Также данный компонент необходим для корректной работы cloud-init.

Для установки Open VM Tools воспользуйтесь инструкцией с официального сайта VMWare.

Настройка cloud-init

Настройка cloud-init необходима для корректной работы функционала получения сетевых настроек, функционала сброса пароля.

Для установки cloud-init можно воспользоваться официально поддерживаемым пакетом вашего дистрибутива либо установить из github.

Важно

На некоторых дистрибутивах cloud-init установлен по-умолчанию. Например, на системах Ubuntu. В этом случае установка не требуется, но для корректного запуска виртуальной машины Compute Cloud необходимо удалить следующие конфигурационные файлы:

  1. /etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
  2. /etc/cloud/cloud.cfg.d/99-installer.cfg
Установка из GitHub

При установке из github скачайте свежую версию cloud-init:

sh
cd /tmp
curl -L https://github.com/canonical/cloud-init/archive/refs/tags/23.1.2.tar.gz -o 23.1.2.tar.gz
tar -xvf 23.1.2.tar.gz
cd cloud-init-23.1.2/
pip3 install -r requirements.txt
python3 setup.py install --init-system systemd # либо sysvinit, в зависимости дистрибутива
for svc in cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service; do   sudo systemctl enable $svc;   sudo systemctl start  $svc; done # для дистрибутивов с systemd
Установка через yum

Установка на системах CentOS производится с помощью команды:

sh
sudo yum install cloud-init

Если версия cloud-init ранее чем 23.1, то в качестве datasource должен быть настроен cloud-init-vmware-guestinfo. Для корректной работы cloud-init нужно добавить конфигурационный файл /etc/cloud/cloud.cfg следующего содержания:

Текст конфигурационного файла
disable_vmware_customization: true
 
manage_etc_hosts: true
 
# The top level settings are used as module
# and system configuration.
# A set of users which may be applied and/or used by various modules
# when a 'default' entry is found it will reference the 'default_user'
# from the distro configuration specified below
users: []
 
# If this is set, 'root' will not be able to ssh in and they
# will get a message to login instead as the default $user
disable_root: 1
ssh_pwauth:   0
 
# The modules that run in the 'init' stage
cloud_init_modules:
 - migrator
 - bootcmd
 - write-files
 - set_hostname
 - update_hostname
 - ['update_etc_hosts', 'once-per-instance']
 - users-groups
 - ssh
 
# The modules that run in the 'config' stage
cloud_config_modules:
 - mounts
 - locale
 - [set-passwords, always]
 - rh_subscription
 - package-update-upgrade-install
 - ntp
 - timezone
 - resolv_conf
 - salt-minion
 - mcollective
 - disable-ec2-metadata
 - runcmd
 
unverified_modules: ['resolv_conf']
 
# The modules that run in the 'final' stage
cloud_final_modules:
 - rightscale_userdata
 - scripts-per-once
 - scripts-per-boot
 - scripts-per-instance
 - scripts-user
 - ssh-authkey-fingerprints
 - keys-to-console
 - phone-home
 - final-message
 - power-state-change
 
# System and/or distro specific settings
# (not accessible to handlers/transforms)
system_info:
  # Automatically discover the best ntp_client
  ntp_client: auto
  # Other config here will be given to the distro class and/or path classes
  paths:
    cloud_dir: /var/lib/cloud
    templates_dir: /etc/cloud/templates
  ssh_svcname: sshd

Выгрузка образа в формате vmdk

Важно

  1. На данный момент в Compute Cloud поддерживаются только образы с расширением vmdk с опцией streamOptimized.
  2. Для получения образа с расширением vmdk необходимо выполнить конвертацию образа согласно инструкциям ниже.
  3. Для выполнения конвертации может понадобиться установка дополнительного пакета qemu.
Выгрузка образа из UTM

Если вы используете UTM для виртуализации, то файл с образом в формате qcow2 будет находиться внутри файла с расширением utm.

  1. Перейдите в UTM и выберите нужный образ.
  2. Через контекстное меню образа выберите Show in Finder.

В открывшейся директории будет содержаться файл с расширением utm

  1. Через контекстное меню файла выберите Show Package Contents.

В директории "Data" будет файл образа с расширением qcow2.

  1. Для конвертации образа из формата qcow2 выполните на машине, где настраивался образ, следующую команду:

    sh
    qemu-img convert -p -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 in.qcow2 out.vmdk
Выгрузка образа из VirtualBox
  1. В UI VirtualBox перейдите в контекстное меню Инструментов.
  2. Выберите Носители.
  3. Выберите диск виртуальной машины, на которой был настроен образ.
  4. Выберите Копировать диск.
  5. Выберите формат vmdk и нажмите Далее.
  6. Убедитесь, что опция Выделить место в полном объеме НЕ отмечена. Нажмите Далее.
  7. Сохраните файл в формате vmdk в любом удобном месте на локальной машине.

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

После получения файла образа с расширением vmdk необходимо сделать его публично доступным по ссылке. Для этого можно использовать хранилище S3 CloudMTS.

Для загрузки файла в S3 хранилище и получения публичной ссылки на файл воспользуйтесь инструкцией.

Загрузка образа в Compute Cloud

Для загрузки файла с образом в Compute Cloud выполните в консоли управления CloudMTS следующие шаги:

  1. Перейдите на страницу Compute Cloud.
  2. Перейдите на вкладку Образы дисков.
  3. Нажмите кнопку Добавить образ.
  4. Выберите Дата-центр, в котором будете создавать ВМ с этим образом.
  5. Введите Название образа.
  6. Вставьте публичную ссылку на файл с образом.
  7. В разделе Дополнительные настройки укажите необходимый Режим загрузки. Подробнее о режимах загрузки...
  8. Нажмите Добавить.
  9. Перейдите на страницу создания виртуальной машины.
  10. На этапе выбора образа выберите Мои образы и нажмите на загруженный образ.

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

  1. Создайте ВМ Compute Cloud.
  2. Подключитесь к ВМ и выполните установку необходимого ПО.
  3. Откройте контекстное меню управления ВМ и выберите Создать образ из ВМ.

Эти шаги позволят создать образ загрузочного диска ВМ с учетом всех требований и рекомендаций.

Квоты и тарифы

Образ тарифицируется аналогично диску SSD Basic: 3,02 руб в месяц за 1 Гбайт (230 байт).

Для образов виртуальных машин установлены следующие квоты:

  • Количество образов.
  • Суммарный размер образов.

Важно

Размер образа - это не размер файла образа, а размер загрузочного диска образа. Если вы создали образ из виртуальной машины с загрузочным диском объемом в 32 Гбайт, то в UI размер образа также будет отображаться как 32 Гбайт.

Соответственно, списания по тарифу будут проходить за 32 Гбайт, а в квотах будет зарезервировано 32 Гбайт.