Поделиться через


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

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

Если возникает проблема с загрузкой или диском на виртуальной машине 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.

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

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

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

  1. Запуск Azure Cloud Shell

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

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

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

    Если вы предпочитаете локально устанавливать и использовать ИНТЕРФЕЙС командной строки, для этого краткого руководства требуется 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.

  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 включен на диске.

Внимание

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

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

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.