Восстановление виртуальной машины Windows с помощью команд восстановления виртуальной машины Azure

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

Важно!

  • Скрипты, приведенные в этой статье, применяются только к виртуальным машинам, которые используют Azure Resource Manager.
  • Для выполнения скрипта требуется исходящее подключение с виртуальной машины (порт 443).
  • Одновременно может выполняться только один скрипт.
  • Выполнение скрипта нельзя отменить.
  • Максимальное время выполнения скрипта составляет 90 минут, после чего время ожидания истекает.
  • Не изменяйте теги, созданные на виртуальной машине восстановления. Теги необходимы для правильной работы команды восстановления.
  • Для виртуальных машин, использующих шифрование дисков Azure, поддерживаются только управляемые диски, зашифрованные одним проходным шифрованием (с KEK или без нее).

Общие сведения о процессе восстановления

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

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

  1. Запуск Azure Cloud Shell
  2. Выполните команду az extension add/update.
  3. Запустите команду az vm repair create.
  4. Запустите команду az vm repair run или выполните действия по устранению рисков.
  5. Запустите команду az vm repair restore.

Чтобы просмотреть все доступные команды и параметры восстановления виртуальной машины, см. раздел az vm repair.

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

  • Группы ресурсов
  • Виртуальные машины
  • Теги ресурсов
  • Виртуальные сети
  • Группы безопасности сети
  • Сетевые интерфейсы
  • диски;
  • Общедоступные IP-адреса (необязательно)

Пример процесса восстановления

  1. Запуск Azure Cloud Shell

    Cloud Shell Azure — это бесплатная интерактивная оболочка, которую можно использовать для выполнения действий, описанных в этой статье. Он включает стандартные инструменты Azure, предварительно установленные и настроенные для использования с вашей учетной записью. Если вы запускаете скрипт, который займет более 20 минут (например, win-sfc-sf-corruption ), вы можете выполнить команды локально. Для локального выполнения команд требуется Azure CLI версии 2.0.67 или более поздней. Выполните команду az --version , чтобы найти версию. Если вам нужно установить или обновить Azure CLI, см. статью Установка Azure CLI.

    Чтобы открыть Cloud Shell, выберите Попробовать в правом верхнем углу блока кода. Вы также можете открыть Cloud Shell в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com.

    Нажмите кнопку Копировать, чтобы скопировать блоки кода, а затем вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы запустить его.

    Если вы предпочитаете устанавливать и использовать CLI локально, для этого краткого руководства требуется Azure CLI версии 2.0.67 или более поздней. Выполните команду az --version , чтобы найти версию. Если вам нужно установить или обновить Azure CLI, см. статью Установка Azure CLI.

    Если вам нужно войти в Cloud Shell с учетной записью, отличной от того, что вы вошли в портал Azure с помощью az loginкоманды az login reference. Для переключения между подписками, связанными с вашей учетной записью, можно использовать az account set --subscriptionкоманду az account set reference.

  2. Если вы используете az vm repair команды впервые, добавьте расширение CLI vm-repair.

    az extension add -n vm-repair
    

    Если вы ранее использовали az vm repair эти команды, примените обновления к расширению vm-repair.

    az extension update -n vm-repair
    
  3. Запустите az vm repair create. Эта команда создаст копию диска ОС для нефункционируемой виртуальной машины, создаст виртуальную машину восстановления в новой группе ресурсов и подключит копию диска ОС. Виртуальная машина восстановления будет иметь тот же размер и регион, что и указанная нефункциональная виртуальная машина. Группа ресурсов и имя виртуальной машины, используемые на всех этапах, будут использоваться для нефункциональных виртуальных машин. Если виртуальная машина использует шифрование дисков Azure, используйте --unlock-encrypted-vm для разблокировки зашифрованного диска, чтобы он был доступен при подключении к виртуальной машине восстановления. Дополнительные сведения см. в разделе Подтверждение включения ADE на диске. Если вам нужно устранить неполадки с виртуальной машиной во вложенной среде Hyper-V, используйте --enable-nested и восстановите виртуальную машину с включенной ролью Hyper-V вместе с вложенной виртуальной машиной с помощью копии диска ОС.

Важно!

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

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

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --verbose

Восстановление виртуальной машины с помощью вложенного примера Hyper-V

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password 'password!234' --enable-nested --verbose
  1. Запустите az vm repair run. Эта команда запустит указанный скрипт восстановления на подключенном диске через виртуальную машину восстановления. Если в руководстве по устранению неполадок, который вы используете, указан идентификатор выполнения, используйте его здесь. В противном случае можно использовать для az vm repair list-scripts просмотра доступных скриптов восстановления. Группа ресурсов и имя виртуальной машины, используемые здесь, относятся к нефункциональным виртуальным машинам, используемым на шаге 3. Дополнительные сведения о скриптах восстановления можно найти в библиотеке скриптов восстановления.

    az vm repair run -g MyResourceGroup -n MyVM --run-on-repair --run-id win-hello-world --verbose
    

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

  2. Запустите az vm repair restore. Эта команда переключит восстановленный диск ОС на исходный диск ОС виртуальной машины. Группа ресурсов и имя виртуальной машины, используемые здесь, относятся к нефункциональным виртуальным машинам, используемым на шаге 3.

    az vm repair restore -g MyResourceGroup -n MyVM --verbose
    

Проверка и включение диагностика загрузки

В следующем примере включается расширение диагностики на виртуальной машине с именем myVMDeployed в группе ресурсов с именем myResourceGroup:

Azure CLI

az vm boot-diagnostics enable --name myVMDeployed --resource-group myResourceGroup --storage https://mystor.blob.core.windows.net/

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

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.