Перенос региональной виртуальной машины в зону доступности (предварительная версия)

Применимо к: ✔️ виртуальным машинам Linux ✔️ виртуальным машинам Windows

Замечание

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

В этой статье описывается, как мигрировать виртуальную машину Azure из регионального (незонального) развертывания в определенную зону доступности при сохранении имени виртуальной машины, дисков с данными и других состояниий и свойств.

Important

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

Эта функция миграции пока недоступна на портале Azure.

Необходимые условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • подписка Azure с зарегистрированной функцией предварительной версии миграции
  • Роль участника или выше в группе ресурсов, содержащей виртуальную машину
  • Azure CLI 2.72.0 или более поздней версии, или модуль Az Azure PowerShell установлен
  • Существующая региональная (незональная) виртуальная машина , которую вы хотите перенести
  • Целевая зона доступности должна поддерживать текущий размер виртуальной машины в целевом объекте.

Регистрация функции предварительной версии

Для функции миграции требуется регистрация. Зарегистрируйте функцию предварительной RegionalToZonalVMMigrationForDeallocatedVM версии для подписки:

# Set your subscription context
az account set --subscription "<subscription-name-or-id>"

# Register the migration feature
az feature register --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM

# Check registration status (wait for "Registered" state)
az feature show --namespace Microsoft.Compute --name RegionalToZonalVMMigrationForDeallocatedVM --query properties.state -o tsv

Замечание

Регистрация функций может занять несколько минут. Подождите, пока состояние не будет отображаться как Зарегистрировано, прежде чем продолжить.

Обзор миграции

Процесс миграции состоит из следующих шагов:

  1. Освобождение виртуальной машины — остановка и освобождение региональной виртуальной машины
  2. Обновление назначения зоны - Назначьте виртуальную машину конкретной зоне доступности.
  3. Запуск виртуальной машины — Включите виртуальную машину в её новой зоне
  4. Присоединение к масштабируемой группе виртуальных машин (необязательно) — добавление зональной виртуальной машины в масштабируемый набор с помощью гибкой оркестрации

Important

  • Перед назначением зоны виртуальная машина должна быть деаллоцирована. Запланируйте время простоя соответствующим образом.
  • Виртуальные машины можно запускать сразу после завершения назначения зоны.
  • Миграция — это односторонняя операция. Вы не можете перенести зональную виртуальную машину обратно в региональное развертывание.

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

Пути миграции

Source Target Description
Региональная виртуальная машина Зональная виртуальная машина Виртуальная машина, размещенная в определенной зоне доступности (1, 2 или 3)
Региональная виртуальная машина Зональная виртуальная машина в масштабируемом наборе виртуальных машин Виртуальная машина размещена в зоне и подключена к гибкому масштабируемому набору
Региональная виртуальная машина в группе размещения близкого взаимодействия Зональная виртуальная машина Виртуальная машина перемещена в зону, из которой была удалена группа размещения близкого взаимодействия

Ограничения

Для миграции не поддерживаются следующие конфигурации:

  • Виртуальные машины с публичными IP-адресами типа "Базовый" — обновите до SKU типа "Стандартный" перед миграцией.
  • Виртуальные машины с использованием Basic Load Balancer — обновите до Load Balancer (цен. категория "Стандартный") перед миграцией
  • Виртуальные машины с неуправляемыми дисками — преобразование в управляемые диски перед миграцией

Шаг 1. Деаллоцировать виртуальную машину

Перед обновлением назначения зоны виртуальная машина должна быть полностью освобождена:

az vm deallocate --resource-group "<resource-group-name>" --name "<vm-name>"

Перед продолжением убедитесь, что виртуальная машина находится в состоянии Остановлено (разрегистрировано).

Шаг 2. Обновление назначения зоны

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

Назначение стандартной зоны

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

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]'

Назначение зоны с удалением Proximity Placement Group

Если ваша виртуальная машина находится в Группе близкого размещения, необходимо удалить её из этой группы при назначении зоны.

az vm update \
  --resource-group "<resource-group-name>" \
  --name "<vm-name>" \
  --set zones='["<target-zone>"]' \
  --ppg ""

Успешное назначение зоны возвращает код состояния HTTP 200.

Совет

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

az vm list-skus --location "<region>" --zone --resource-type virtualMachines --output table

Шаг 3. Запуск виртуальной машины

После назначения зоны виртуальная машина находится в состоянии остановленного (освобожденного) состояния. Запустите виртуальную машину:

az vm start --resource-group "<resource-group-name>" --name "<vm-name>"

Замечание

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

Шаг 4 (необязательно). Присоединение виртуальной машины к масштабируемой группе виртуальных машин

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

Предварительные требования для подключения масштабируемого набора

  • Масштабируемый набор должен использовать гибкий режим оркестрации
  • Масштабируемый набор должен находиться в том же регионе, что и виртуальная машина.
  • Конфигурация зоны масштабируемого набора должна включать назначенную зону виртуальной машины.
  • Для масштабируемых наборов с числом доменов сбоя 1 значение singlePlacementGroup должно быть установлено на false.

У региональной виртуальной машины нет virtualMachineScaleSet свойства, чтобы в него зайти, поэтому используйте az resource update для обновления свойства как объекта JSON в основном ресурсе виртуальной машины.

az resource update \
  --ids "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>" \
  --set 'properties.virtualMachineScaleSet={"id":"/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<scale-set-name>"}'

Проверка миграции

После миграции убедитесь, что виртуальная машина запущена в правильной зоне доступности:

az vm show --resource-group "<resource-group-name>" --name "<vm-name>" --query "{Name:name, Zone:zones[0], Location:location}" --output table

Troubleshooting

Размер виртуальной машины недоступен в данной зоне

Ошибка:The requested VM size is not available in the specified location/zone

Решение: Проверьте доступные размеры виртуальных машин в целевой зоне:

az vm list-skus --location "<region>" --zone "<zone>" --resource-type virtualMachines --output table

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

Конфликт группы для близкого размещения

Ошибка:Cannot assign zone to a VM in a Proximity Placement Group

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

Недостаточно разрешений

Ошибка:The client does not have authorization to perform action

Решение: Убедитесь, что у вас есть роль сотрудника или выше в группе ресурсов.

Сбой подключения набора масштабирования после назначения зоны

Ошибка:Cannot attach VM to the specified Virtual Machine Scale Set

Решение: Проверьте следующее:

  • Набор масштабирования использует оркестрационный режим гибкой настройки.
  • Конфигурация зоны масштабируемого набора включает зону виртуальной машины
  • Для масштабируемых наборов с числом доменов сбоя 1 singlePlacementGroup установлено значение false
az vmss show --resource-group "<resource-group-name>" --name "<scale-set-name>" --query "{Zones:zones, OrchestrationMode:orchestrationMode, SinglePlacementGroup:singlePlacementGroup}"

Дальнейшие действия