Пользовательские образы
Требования к образам
Дистрибутив пользовательского образа должен быть совместим с архитектурой процессоров x86 64-bit.
Использование образа с BIOS на ВМ с GPU приведет к некорректной работе виртуальной машины. Подробнее о режимах загрузки...
Для работы с GPU воспользуйтесь готовым образом из Marketplace.
Для штатной работы виртуальной машины, созданной на основе пользовательского образа, необходимо выполнить настройку образа согласно следующим рекомендациям:
Обратите внимание, что настройка GRUB и cloud-init возможна только для Unix-подобных систем. При настройке системы Windows рекомендуется настроить DNS, а также установить сервер OpenSSH для организации возможности подключения к виртуальной машине.
Важно
Если при настройке образа не учтены представленные рекомендации, часть функций управления виртуальной машиной, реализованных через интерфейсы MWS — может не работать. Имеются в виду такие функции как:
- перезагрузка,
- выключение,
- веб-терминал,
- смена пароля
- и др.
Совет
Чтобы не заниматься настройкой образа, можно воспользоваться функцией создания образа из ВМ. Подробнее....
Создание и настройка своего образа
Данная инструкция позволяет создать образ, полностью соответствующий требованиям.
- Выполните установку произвольного ПО для виртуализации. Например, UTM или VirtualBox.
- Скачайте необходимый ISO-образ.
- Запустите виртуальную машину и выполните базовую установку системы.
- После успешного завершения установки на виртуальной машине необходимо выполнить команды для настройки 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:
- С помощью любого текстового редактора добавьте в конец файла
/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"
- После этого запустите обновление GRUB при помощи команды:
Ubuntu 22.04
sudo update-grub
CentOS Stream 8-9
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
Debian 12
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 необходимо удалить следующие конфигурационные файлы:
/etc/cloud/cloud.cfg.d/subiquity-disable-cloudinit-networking.cfg
/etc/cloud/cloud.cfg.d/99-installer.cfg
Установка из GitHub
При установке из github скачайте свежую версию cloud-init
:
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 производится с помощью команды:
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
Важно
- На данный момент в Compute Cloud поддерживаются только образы с расширением
vmdk
с опциейstreamOptimized
. - Для получения образа с расширением
vmdk
необходимо выполнить конвертацию образа согласно инструкциям ниже. - Для выполнения конвертации может понадобиться установка дополнительного пакета
qemu
.
Выгрузка образа из UTM
Если вы используете UTM для виртуализации, то файл с образом в формате qcow2
будет находиться внутри файла с расширением utm
.
- Перейдите в UTM и выберите нужный образ.
- Через контекстное меню образа выберите Show in Finder.
В открывшейся директории будет содержаться файл с расширением utm
- Через контекстное меню файла выберите Show Package Contents.
В директории "Data" будет файл образа с расширением qcow2
.
Для конвертации образа из формата
qcow2
выполните на машине, где настраивался образ, следующую команду:shqemu-img convert -p -f qcow2 -O vmdk -o adapter_type=lsilogic,subformat=streamOptimized,compat6 in.qcow2 out.vmdk
Выгрузка образа из VirtualBox
- В UI VirtualBox перейдите в контекстное меню Инструментов.
- Выберите Носители.
- Выберите диск виртуальной машины, на которой был настроен образ.
- Выберите Копировать диск.
- Выберите формат
vmdk
и нажмите Далее. - Убедитесь, что опция Выделить место в полном объеме НЕ отмечена. Нажмите Далее.
- Сохраните файл в формате
vmdk
в любом удобном месте на локальной машине.
Загрузка образа в S3
После получения файла образа с расширением vmdk
необходимо сделать его публично доступным по ссылке. Для этого можно использовать хранилище S3 MWS.
Для загрузки файла в S3 хранилище и получения публичной ссылки на файл воспользуйтесь инструкцией.
Загрузка образа в Compute Cloud
Для загрузки файла с образом в Compute Cloud выполните в консоли управления MWS следующие шаги:
- Перейдите на страницу Compute Cloud.
- Перейдите на вкладку Образы дисков.
- Нажмите кнопку Добавить образ.
- Выберите Дата-центр, в котором будете создавать ВМ с этим образом.
- Введите Название образа.
- Вставьте публичную ссылку на файл с образом.
- В разделе Дополнительные настройки укажите необходимый Режим загрузки. Подробнее о режимах загрузки...
- Нажмите Добавить.
- Перейдите на страницу создания виртуальной машины.
- На этапе выбора образа выберите Мои образы и нажмите на загруженный образ.
Создание образа из ВМ
- Создайте ВМ Compute Cloud.
- Подключитесь к ВМ и выполните установку необходимого ПО.
- Откройте контекстное меню управления ВМ и выберите Создать образ из ВМ.
Эти шаги позволят создать образ загрузочного диска ВМ с учетом всех требований и рекомендаций.
Квоты и тарифы
Образ тарифицируется аналогично диску SSD Basic: 3,02 руб в месяц за 1 Гбайт (230 байт).
Для образов виртуальных машин установлены следующие квоты:
- Количество образов.
- Суммарный размер образов.
Важно
Размер образа - это не размер файла образа, а размер загрузочного диска образа. Если вы создали образ из виртуальной машины с загрузочным диском объемом в 32 Гбайт, то в UI размер образа также будет отображаться как 32 Гбайт.
Соответственно, списания по тарифу будут проходить за 32 Гбайт, а в квотах будет зарезервировано 32 Гбайт.