Как использовать диагностику загрузки для устранения неполадок виртуальных машин в Azure

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

Сводка

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

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

На портале вы можете просмотреть выходные данные журнала консоли для виртуальных машинах Linux. Для виртуальных машин Windows и Linux Azure позволяет просмотреть снимок экрана виртуальной машины из гипервизора. Обе функции поддерживаются для Azure виртуальных машин во всех регионах. Примечание: снимки экрана и выходные данные могут появляться в вашей учетной записи в системах хранения данных в течение до 10 минут.

Можно выбрать параметр Диагностика загрузки, чтобы просмотреть журнал и снимок экрана.

Скриншот вкладки

Распространенные ошибки загрузки

Включение диагностики на виртуальной машине, созданной с помощью портала Azure

Следующая процедура предназначена для виртуальной машины, созданной с помощью модели развертывания Resource Manager.

На вкладке Управление в разделе Наблюдение удостоверьтесь, что включена Диагностика загрузки. Параметр по умолчанию — это включение диагностики загрузки с использованием управляемой учетной записи хранения.

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

Примечание.

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

Развертывание из шаблона Azure Resource Manager

Если вы развертываете из шаблона Azure Resource Manager, перейдите к ресурсу виртуальной машины и добавьте раздел профиля диагностики. Установите заголовок версии API как "2015-06-15" или более поздний. Последней является версия 2018-10-01.

{
  "apiVersion": "2018-10-01",
  "type": "Microsoft.Compute/virtualMachines",
  … 

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

    "diagnosticsProfile": {
 "bootDiagnostics": {
 "enabled": true,
 "storageUri": "[concat('https://', parameters('newStorageAccountName'), '.blob.core.windows.net')]"
 }
    }
    }
}

Дополнительные сведения о развертывании ресурсов с помощью шаблонов см. в статье Quickstart: создание и развертывание шаблонов Azure Resource Manager с помощью портала Azure.

Включение диагностики загрузки в существующей виртуальной машине

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

  1. Войдите на портал Azure и выберите виртуальную машину.

  2. В разделе справки выберите "Загрузка диагностика", а затем перейдите на вкладку "Параметры".

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

  4. Сохраните изменения.

Включите диагностику загрузки, используя Azure CLI

Вы можете использовать Azure CLI для включения диагностики загрузки на существующей Azure виртуальной машине. Дополнительные сведения см. в статье az vm boot-diagnostics.

Исправить проблему с тем, что снимок экрана диагностики загрузки не обновляется.

Если вы заметили, что снимок экрана функции Boot Diagnostics для вашей виртуальной машины Azure на портале Azure устарел, сначала убедитесь, что параметр тайм-аута виртуального дисплея отключен в гостевой операционной системе. Например, вы можете заметить, что время, показываемое на экране входа, неактуально для виртуальной машины Windows.

Для Windows выполните следующую команду из CMD с повышенными привилегиями

powercfg /setacvalueindex SCHEME_CURRENT SUB_VIDEO VIDEOIDLE 0

Для Linux выполните следующую команду.

xset s off

Для виртуальных машин Windows агент подготовки Azure отличается от агента виртуальной машины. Она выполняет приведенную выше команду во время подготовки виртуальных машин, созданных на основе обобщенного образа. Это событие можно увидеть при поиске powercfg в C:\Windows\Panther\WaSetup.xml, который является журналом агента настройки. Но так как агент подготовки не требуется запускать для виртуальных машин, созданных на основе специализированного VHD, это сценарий, в котором необходимо вручную запустить команду powercfg, чтобы отключить тайм-аут виртуального дисплея. Кроме того, возможно существование особенно старой виртуальной машины Azure, созданной из обобщённого образа, у которой это не настроено, так как она была создана до обновления агента подготовки для отключения времени ожидания отключения виртуального дисплея.