Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Compute Cloud
    • Все инструкции
      • Подготовить образ диска
      • Загрузить свой образ
      • Создать образ из диска
      • Создать образ из снимка диска
      • Создать образ из другого пользовательского образа
    • Посмотреть операции с ресурсами сервиса
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

В этой статье:

  • Настройте ОС в соответствии с требованиями
  • Установите virtio-драйверы
  • Настройте серийную консоль
  • Отключите проверку облачной платформы при создании образа в Amazon EC2
  • Установите драйверы для совместимости с GPU
  • Создайте файл с образом
  1. Пошаговые инструкции
  2. Создание образа
  3. Подготовить образ диска

Подготовить свой образ диска

Статья создана
Yandex Cloud
Улучшена
Bezuglov S.
Обновлена 17 апреля 2025 г.
  • Настройте ОС в соответствии с требованиями
    • Установите virtio-драйверы
    • Настройте серийную консоль
  • Отключите проверку облачной платформы при создании образа в Amazon EC2
  • Установите драйверы для совместимости с GPU
  • Создайте файл с образом

Примечание

Использовать можно только образы, подготовленные по этой инструкции.

Вы также можете ознакомиться с готовыми образами в Yandex Cloud Marketplace.

Вы можете использовать собственный файл с образом диска виртуальной машины под управлением операционной системы из семейства Linux. После подготовки образа загрузите его в Compute Cloud.

Если вы подготовили программное обеспечение, которое может быть полезно другим, предложите его в Yandex Cloud Marketplace.

Важно

Образы с UEFI/EFI-загрузчиком не совместимы с Compute Cloud. Чтобы загрузиться с дисков объемом более 2 ТБ с разметкой GUID Partition Table (GPT), используйте загрузчик GRUB 2.

Настройте ОС в соответствии с требованиямиНастройте ОС в соответствии с требованиями

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

  • Установлены драйверы virtio-net, virtio-blk и virtio-pci. Если вы собираетесь подключать к виртуальной машине файловые хранилища, также должен быть установлен драйвер virtiofs. См. инструкцию.
  • Терминал ttyS0 (порт COM1) настроен в качестве серийной консоли. См. инструкцию.
  • Сетевой интерфейс корректно запускается при старте ВМ и получает IP-адрес по DHCP.
  • Пакет cloud-init установлен и настроен для работы с нашим сервисом метаданных. Установить пакет для CentOS можно с помощью команды sudo yum install cloud-init, для Debian или Ubuntu — sudo apt update && sudo apt install -y cloud-init.
  • Если образ создан на основе Amazon Machine Image (AMI), в настройках cloud-init отключена проверка облачной платформы, на которой запускается ВМ. См. инструкцию.
  • В настройках системного файрвола открыт необходимый минимум портов для работы ваших приложений, а также порт для доступа по SSH (по умолчанию это порт 22 TCP).
  • SSH-сервер запускается автоматически при старте ВМ.
  • Сервисы с вашим приложением устойчивы к перезагрузке ВМ.
  • Для загрузочного диска используется MBR-разбивка.
  • Диск смонтирован по UUID, а не по имени.
  • Файловая система не зашифрована.

Установите virtio-драйверыУстановите virtio-драйверы

Для успешной загрузки в ОС должны присутствовать драйверы virtio-blk, virtio-net и virtio-pci, а для работы с файловыми хранилищами Compute Cloud — virtiofs.

Большинство современных дистрибутивов по умолчанию содержит драйверы virtio. Драйверы могут быть скомпилированы в виде отдельных файлов .ko или входить в состав самого ядра.

По инструкции ниже вы можете проверить, установлены ли драйверы, и при необходимости добавить их в ОС.

  1. Узнайте, входят ли драйверы в конфигурацию ядра:

    Как узнать

    Выполните команду:

    grep -E -i "VIRTIO_(BLK|NET|PCI|FS)" /boot/config-$(uname -r)
    

    Если на экране не появились строки, начинающиеся на CONFIG_VIRTIO_BLK=, CONFIG_VIRTIO_NET=, CONFIG_VIRTIO_PCI= и CONFIG_VIRTIO_FS=, нужно заново скомпилировать ядро Linux с virtio-драйверами. В противном случае переходите к следующим шагам.

  2. Если на шаге 1 на экране появились строки CONFIG_VIRTIO_BLK=y, CONFIG_VIRTIO_NET=y, CONFIG_VIRTIO_PCI=y и CONFIG_VIRTIO_FS=y, проверьте, что драйверы входят в состав ядра:

    Как проверить драйверы в составе ядра

    Выполните команду:

    grep -E "virtio(_blk|_net|_pci|fs)" /lib/modules/"$(uname -r)"/modules.builtin
    
    • Если на экране появились строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko, драйверы входят в состав ядра, устанавливать их не нужно.
    • Если на экране не появились такие строки, нужно заново скомпилировать ядро Linux с virtio-драйверами.
  3. Если на шаге 1 на экране появились строки CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m, CONFIG_VIRTIO_PCI=m и CONFIG_VIRTIO_FS=m, проверьте, что драйверы установлены в качестве модулей ядра:

    Как проверить модули ядра
    CentOS/Fedora
    Debian/Ubuntu

    Выполните следующую команду:

    sudo lsinitrd /boot/initramfs-$(uname -r).img | grep -E "virtio(_blk|_net|_pci|fs)"
    
    • Если на экране появились строки с файлами virtio_net.ko.xz, virtio_blk.ko.xz, virtio_pci.ko.xz и virtiofs.ko.xz, драйверы установлены в качестве модулей ядра.

    • Если на экране не появились такие строки, создайте резервную копию файла initramfs и установите драйверы:

      sudo cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
      sudo mkinitrd -f --with=virtio_blk --with=virtio_net --with=virtio_pci --with=virtiofs /boot/initramfs-$(uname -r).img $(uname -r)
      

      Если на экране появилась ошибка Command 'mkinitrd' not found, установите драйверы с помощью утилиты dracut:

      sudo dracut -f --add-drivers "virtio_blk virtio_net virtio_pci virtiofs" /boot/initramfs-$(uname -r).img $(uname -r)
      

      После этого перезапустите ОС и проверьте, что драйверы появились в файле initramfs и загрузились:

      sudo lsinitrd /boot/initramfs-$(uname -r).img | grep -E "virtio(_blk|_net|_pci|fs)"
      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "(blk|net|pci|fs)"
      

      После каждой из команд на экране должны появиться строки с файлами virtio_net.ko.xz, virtio_blk.ko.xz, virtio_pci.ko.xz и virtiofs.ko.xz.

    Выполните следующую команду:

    lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"
    
    • Если на экране появились строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko, драйверы установлены в качестве модулей ядра.

    • Если на экране не появились такие строки, установите драйверы:

      echo -e "virtio_blk\nvirtio_net\nvirtio_pci\nvirtiofs" | sudo tee -a /etc/initramfs-tools/modules
      sudo update-initramfs -u
      

      После этого перезапустите ОС и проверьте, что драйверы появились в файле initrd и загрузились:

      lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"
      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "(blk|net|pci|fs)"
      

      После каждой из команд на экране должны появиться строки с файлами virtio_net.ko, virtio_blk.ko, virtio_pci.ko и virtiofs.ko.

Настройте серийную консольНастройте серийную консоль

Серийная консоль — это способ получить доступ к ВМ вне зависимости от состояния сети или ОС. Используйте серийную консоль, например, для устранения неисправностей ВМ или при возникновении проблем с доступом через SSH. Подробнее см. в разделе Начало работы с серийной консолью.

Чтобы к ВМ можно было подключаться с помощью серийной консоли, настройте для образа терминал ttyS0 (порт COM1) в качестве системной консоли:

  1. В файле с настройками GRUB /etc/default/grub добавьте в значение параметра GRUB_CMDLINE_LINUX опцию console=ttyS0. Строка с этим параметром должна иметь такой вид:

    GRUB_CMDLINE_LINUX="foo=bar baz console=ttyS0"
    
  2. Убедитесь, что в файле /etc/securetty с перечислением терминалов, через которые пользователь root может войти в ОС, есть строка ttyS0. Если файла не существует, создайте его.

    Примечание

    В некоторых ОС файл /etc/securetty не используется, и пользователю root по умолчанию разрешен доступ ко всем терминалам. Если вы хотите настраивать доступ с помощью этого файла, нужно добавить в файл /etc/pam.d/login указание на модуль pam_securetty.so. Подробнее см. man pam_securetty и man pam.d.

  3. Выполните следующие команды:

    CentOS/Fedora
    Debian/Ubuntu
    sudo stty -F /dev/ttyS0 9600 # Устанавливает рекомендуемую скорость терминала ttyS0 — 9600 бод.
    sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Генерирует конфигурационный файл для GRUB.
    sudo systemctl start getty@ttyS0 # Запускает getty на терминале ttyS0.
    sudo systemctl enable getty@ttyS0 # Указывает, что getty нужно запускать при каждом включении ОС.
    
    sudo stty -F /dev/ttyS0 9600 # Устанавливает рекомендуемую скорость терминала ttyS0 — 9600 бод.
    sudo update-grub # Генерирует конфигурационный файл для GRUB.
    sudo systemctl start getty@ttyS0 # Запускает getty на терминале ttyS0.
    sudo systemctl enable getty@ttyS0 # Указывает, что getty нужно запускать при каждом включении ОС.
    
  4. Перезапустите ОС.

После создания ВМ из образа ее нужно будет дополнительно настроить для работы с серийной консолью.

Отключите проверку облачной платформы при создании образа в Amazon EC2Отключите проверку облачной платформы при создании образа в Amazon EC2

Если вы создаете образ в Amazon EC2 на основе Amazon Machine Image, cloud-init проверяет, что ВМ запускается в Amazon EC2. ВМ в Yandex Compute Cloud не пройдут проверку и могут работать некорректно.

Чтобы этого не произошло, отключите проверку метаданных на ВМ. Для этого создайте в директории /etc/cloud/cloud.cfg.d конфигурационный файл, например 99-ec2-datasource.cfg, и добавьте в него код:

#cloud-config
datasource:
  Ec2:
    strict_id: false

Установите драйверы для совместимости с GPUУстановите драйверы для совместимости с GPU

Если при работе с ВМ потребуется GPU, во время подготовки образа установите драйверы NVIDIA.

Создайте файл с образомСоздайте файл с образом

Поддерживаемые форматы: Qcow2, VMDK, RAW и VHD.

Рекомендуется использовать формат Qcow2 с оптимизированным размером кластера, чтобы ускорить импорт. Сконвертировать образ из других форматов можно с помощью утилиты qemu-img:

qemu-img convert -p -O qcow2 -o cluster_size=2M <имя_вашего_файла_образа> <имя_нового_файла_образа>

Примечание

Не используйте программы для сжатия или архивирования при подготовке файла с образом. Для увеличения скорости создания ВМ из образа, вы можете его оптимизировать.

Была ли статья полезна?

Предыдущая
Удалить диск из группы размещения
Следующая
Загрузить свой образ
Проект Яндекса
© 2025 ООО «Яндекс.Облако»