Гибернация виртуальных машин

Область применения: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows

Важно!

Azure Виртуальные машины — гибернация в настоящее время доступна в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Гибернация позволяет приостановить использование виртуальных машин, которые не используются и сэкономить на затратах на вычисления. Это эффективная функция управления затратами для таких сценариев, как:

  • Виртуальные рабочие столы, разработки и тестирования и другие сценарии, в которых виртуальные машины не должны запускаться 24/7.
  • Системы с длительным временем загрузки из-за интенсивной памяти приложений. Эти приложения можно инициализировать на виртуальных машинах и в режиме гибернации. Эти виртуальные машины с предварительной подготовкой можно быстро запустить при необходимости, при этом приложения уже запущены и работают в требуемом состоянии.

Принцип работы гибернации

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

После того как виртуальная машина находится в состоянии гибернаации, плата за использование виртуальной машины не взимается. Ваша учетная запись взимается только за хранилище (диск ОС, диски данных) и сетевые ресурсы (IP-адреса и т. д.), подключенные к виртуальной машине.

При гибернации виртуальной машины:

  • Гибернация активируется на виртуальной машине с помощью портал Azure, CLI, PowerShell, пакетов SDK или API. Затем Azure сигнализирует гостевой операционной системе о приостановке на диск (S4).
  • Содержимое памяти виртуальной машины хранится на диске ОС. Затем виртуальная машина освобождена, освобождает аренду базового оборудования и отключается. Дополнительные сведения о состоянии освобожденной виртуальной машины см. в состояниях виртуальной машины и выставлении счетов .
  • Данные во временном диске не сохраняются.
  • Диск ОС, диски данных и сетевые адаптеры остаются подключенными к виртуальной машине. Все статические IP-адреса остаются неизменными.
  • Плата за использование виртуальной машины для виртуальной машины с гибернированной виртуальной машиной не взимается.
  • Вы продолжаете выставлять счета за ресурсы хранилища и сети, связанные с виртуальной машиной с гибернациями.

Поддерживаемые конфигурации

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

Поддерживаемые размеры виртуальных машин

Размеры виртуальных машин с размером до 32 ГБ ОЗУ из следующей серии виртуальных машин поддерживают гибернацию.

Поддержка и ограничения операционной системы

Поддерживаемые версии Linux

Следующие операционные системы Linux поддерживают гибернацию:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 18.04 LTS
  • Debian 11
  • Debian 10 (с ядром backports)
Ограничения Linux
  • Гибернация не поддерживается с доверенным запуском для виртуальных машин Linux

Общие ограничения

  • Вы не можете включить гибернацию на существующих виртуальных машинах.
  • Невозможно изменить размер виртуальной машины, если она включена в режиме гибернации.
  • Если виртуальная машина находится в режиме гибернации, вы не можете подключить, отсоединить или изменить диски или сетевые адаптеры, связанные с виртуальной машиной. Вместо этого виртуальная машина должна быть перемещена в состояние stop-Deallocated.
  • Если виртуальная машина находится в режиме гибернации, не гарантируется, что для запуска виртуальной машины достаточно емкости. В редких случаях, когда возникают проблемы с емкостью, можно попробовать запустить виртуальную машину позже. Резервирования емкости не гарантируют емкость для виртуальных машин с гибернациями.
  • С помощью портал Azure, ИНТЕРФЕЙСА командной строки, PowerShell, пакетов SDK и API можно только создать режим гибернации виртуальной машины. При переходе виртуальной машины на виртуальную машину с помощью операций гостевой ОС не взимается плата за перемещение виртуальной машины в состояние гибернаций.
  • Вы не можете отключить гибернацию на виртуальной машине после включения.

Ограничения функций Azure

  • Временные диски ОС
  • Общие диски
  • Группы доступности
  • единообразие Масштабируемые наборы виртуальных машин
  • Точечные виртуальные машины
  • Управляемые образы
  • Azure Backup
  • Резервирования мощности

Предварительные требования для использования гибернации

  • Функция гибернации включена для вашей подписки.
  • Постоянный диск ОС достаточно большой для хранения содержимого ОЗУ, ОС и других приложений, работающих на виртуальной машине, подключен.
  • Размер виртуальной машины поддерживает гибернацию.
  • ОС виртуальной машины поддерживает гибернацию.
  • Агент виртуальной машины Azure устанавливается, если вы используете расширения Hibernate для Windows или Linux.
  • При создании виртуальной машины включена гибернация.
  • Если виртуальная машина создается с диска ОС или образа коллекции вычислений, то определение диска ОС или образа коллекции поддерживает гибернацию.

Включение функции гибернации для подписки

Чтобы включить эту функцию для подписки, выполните следующие действия.

  1. В подписке Azure перейдите в раздел Параметры и выберите "Предварительные версии функций".
  2. Выполните поиск по запросу "гибернация".
  3. Проверьте элемент "Предварительная версия гибернации".
  4. Щелкните "Зарегистрировать".

Screenshot showing the Azure subscription preview portal with 4 numbers representing different steps in enabling the hibernation feature.

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

В портал Azure в разделе "Предварительный просмотр функций" выберите "Предварительная версия гибернации". Состояние регистрации должно отображаться как "Зарегистрировано".

Screenshot showing the Azure subscription preview portal with the hibernation feature listed as registered.

Начало работы с гибернацией

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

Чтобы включить гибернацию во время создания виртуальной машины, можно использовать портал Azure, CLI, PowerShell, шаблоны ARM и API.

Чтобы включить гибернацию в портал Azure, проверка поле "Включить гибернацию" во время создания виртуальной машины.

Screenshot of the checkbox in the Azure portal to enable hibernation when creating a new VM.

После создания виртуальной машины с включенной гибернацией необходимо настроить гостевую ОС для успешного гибернирования виртуальной машины.

Гостевая конфигурация для гибернации

Настройка гибернации в Linux

Существует множество способов настройки гостевой ОС для гибернации на виртуальных машинах Linux.

Вариант 1. LinuxHibernateExtension

При создании виртуальной машины с поддержкой Hibernation с помощью портал Azure на виртуальной машине автоматически устанавливается LinuxHibernationExtension.

Если расширение отсутствует, можно вручную установить LinuxHibernateExtension на виртуальной машине Linux, чтобы настроить гостевую ОС для гибернации.

Примечание.

Расширения Azure сейчас отключены по умолчанию для образов Debian. Чтобы повторно включить расширения, проверка руководстве по устранению неполадок с гибернацией.

Чтобы установить LinuxHibernateExtension с помощью Azure CLI, выполните следующую команду:

az vm extension set -n LinuxHibernateExtension --publisher Microsoft.CPlat.Core --version 1.0 \    --vm-name MyVm --resource-group MyResourceGroup --enable-auto-upgrade true

Вариант 2. Средство настройки гибернации

Пакет средства установки гибернации можно установить на виртуальной машине Linux из репозитория программного обеспечения Майкрософт в packages.microsoft.com.

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

Чтобы использовать репозиторий в Ubuntu 18.04, откройте git bash и выполните следующую команду:

curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod

sudo apt-get update

Чтобы установить пакет, выполните следующую команду в git bash:

sudo apt-get install hibernation-setup-tool

После успешной установки пакета гостевая ОС Linux была настроена для гибернации. Вы также можете создать образ коллекции вычислений Azure на этой виртуальной машине и использовать образ для создания виртуальных машин. Виртуальные машины, созданные с помощью этого образа, предварительно установили пакет гибернации, тем самым упрощая создание виртуальной машины.

Настройка гибернации в Windows

Включение гибернации при создании виртуальной машины Windows автоматически устанавливает расширение виртуальной машины Microsoft.CPlat.Core.WindowsHibernateExtension. Это расширение настраивает гостевую ОС для гибернации. Это расширение не требуется вручную устанавливать или обновлять, так как это расширение управляется платформой Azure.

Примечание.

При создании виртуальной машины с включенной гибернацией Azure автоматически помещает файл страницы на диск C: . Если вы используете специализированный образ, вам потребуется выполнить дополнительные действия, чтобы убедиться, что файл страницы находится на диске C: .

Примечание.

Использование WindowsHibernateExtension требует установки агента виртуальной машины Azure на виртуальной машине. Если вы решили отказаться от агента виртуальной машины Azure, можно настроить ОС для гибернации, выполнив powercfg /h /h /type full внутри гостя. Затем можно проверить, включена ли гибернация внутри гостя с помощью команды powercfg /a.

Создание гибернации виртуальной машины

После создания виртуальной машины с включенным режимом гибернации и гостевой ОС для гибернации можно с помощью портал Azure, Azure CLI, PowerShell или REST API.

Чтобы перейти на виртуальную машину в портал Azure, нажмите кнопку "Hibernate" на странице обзора виртуальной машины.

Screenshot of the button to hibernate a VM in the Azure portal.

Просмотр состояния гибернатной виртуальной машины

Чтобы просмотреть состояние виртуальной машины на портале, проверка "Состояние" на странице обзора. Он должен сообщать как "Hibernated (освобождено)"

Screenshot of the Hibernated VM's status in the Azure portal listing as 'Hibernated (deallocated)'.

Запуск виртуальных машин с гибернациями

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

Чтобы запустить гибернаированную виртуальную машину с помощью портал Azure, нажмите кнопку "Пуск" на странице обзора виртуальной машины.

Screenshot of the Azure portal button to start a hibernated VM with an underlined status listed as 'Hibernated (deallocated)'.

Виртуальные машины, созданные из образов коллекции вычислений, также можно включить для гибернации. Убедитесь, что версия ОС, связанная с образом коллекции, поддерживает гибернацию в Azure. Ознакомьтесь со списком поддерживаемых версий ОС.

Чтобы создать виртуальные машины с поддержкой гибернации с помощью образов коллекции, сначала необходимо создать новое определение образа с включенным свойством гибернации. После включения этого свойства компонента в определении образа коллекции можно создать версию образа и использовать эту версию образа для создания виртуальных машин с поддержкой гибернации.

Примечание.

Для специализированных образов Windows расположение файла страницы должно иметь значение C: диск, чтобы Azure успешно настроить гостевую ОС для гибернации. Если вы создаете версию образа из существующей виртуальной машины, сначала переместите файл страницы на диск ОС, а затем используйте виртуальную машину в качестве источника для версии образа.

Чтобы создать определение изображения с включенным свойством гибернации, выберите метку проверка для параметра "Включить гибернацию".

Screenshot of the option to enable hibernation in the Azure portal while creating a VM image definition.

Развертывание виртуальных машин с поддержкой гибернации с диска ОС

Виртуальные машины, созданные на дисках ОС, также можно включить для гибернации. Убедитесь, что версия ОС, связанная с диском ОС, поддерживает гибернацию в Azure. Ознакомьтесь со списком поддерживаемых версий ОС.

Чтобы создать виртуальные машины с поддержкой гибернации с помощью дисков ОС, убедитесь, что диск ОС имеет свойство гибернации. Ознакомьтесь с примером API, чтобы включить это свойство на дисках ОС. После включения свойства гибернации на диске ОС можно создать виртуальные машины с поддержкой гибернации с помощью этого диска ОС.

PATCH https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01

{
  "properties": {
    "supportsHibernation": true
  }
}

Устранение неполадок

Дополнительные сведения см. в руководстве по устранению неполадок с Hibernate

Вопросы и ответы по

  • Каковы расходы на использование этой функции?

    • После размещения виртуальной машины в состоянии гибернаации плата за виртуальную машину не взимается так же, как плата за виртуальные машины в состоянии остановки (освобождена). Плата взимается только за диск ОС, диски данных и все статические IP-адреса, связанные с виртуальной машиной.
  • Можно ли включить гибернацию на существующих виртуальных машинах?

    • Нет, вы не можете включить гибернацию на существующих виртуальных машинах. Во время создания виртуальной машины можно включить только гибернацию.
  • Можно ли изменить размер виртуальной машины с включенным режимом гибернации?

    • Нет. После включения гибернации на виртуальной машине невозможно изменить размер виртуальной машины.
  • Можно ли изменить виртуальную машину после того, как она находится в состоянии гибернаации?

    • Нет, когда виртуальная машина находится в состоянии гибернаации, вы не можете выполнять такие действия, как изменение размера виртуальной машины и изменение дисков. Кроме того, вы не можете отсоединить диски или сетевые ресурсы, подключенные к виртуальной машине, или подключить новые ресурсы к виртуальной машине. Однако вы можете остановить (deallocate) или удалить виртуальную машину, если вы хотите отключить эти ресурсы.
  • Какова разница между остановкой (освобождением) и гибернированием виртуальной машины?

    • При остановке (освобождении) виртуальной машины виртуальная машина завершает работу без сохранения содержимого памяти. Вы можете изменить размер виртуальных машин stop(deallocated) и отсоединить или подключить диски к виртуальной машине.

    • При гибернации виртуальной машины содержимое памяти сначала сохраняется на диске ОС, а затем виртуальная машина гибернирует. Вы не можете изменять размер виртуальных машин в состоянии гибернаации, а также отсоединить или подключить диски и сетевые ресурсы к виртуальной машине.

  • Можно ли отключить гибернацию?

    • Нет, вы не можете отключить гибернацию на виртуальной машине.
  • Можно ли инициировать гибернацию из виртуальной машины?

    • Для гибернации виртуальной машины следует использовать портал Azure, CLI, команды PowerShell, пакеты SDK и API. Активация гибернации из виртуальной машины по-прежнему приводит к выставлению счетов за вычислительные ресурсы виртуальной машины.
  • Когда виртуальная машина находится в режиме гибернации, есть ли гарантия емкости во время запуска виртуальной машины?

    • Нет, нет гарантии емкости для запуска виртуальных машин с гибернациями. В редких сценариях при возникновении проблемы с емкостью можно попробовать запустить виртуальную машину позже.

Следующие шаги.