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

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

Важно!

  • Скрипты, приведенные в этой статье, применяются только к виртуальным машинам, которые используют 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 минут, вы можете выполнить команды локально. Для локального выполнения команд требуется 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 на диске.

Важно!

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

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

az vm repair create -g MyResourceGroup -n myVM --repair-username username --repair-password password1234 --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 lin-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.