Ошибки подготовки расширения виртуальной машины в Масштабируемые наборы виртуальных машин
В этой статье приводятся рекомендации по устранению ошибок VMExtensionProvisioningError, VMExtensionHandlerNonTransientError или VMExtensionProvisioningTimeout, которые появляются при попытке развернуть, обновить, повторно создать, запустить или масштабировать масштабируемый набор виртуальных машин.
Примечание.
В контексте Масштабируемые наборы виртуальных машин "виртуальная машина" в этих сообщениях об ошибках ссылается на экземпляр в определенном масштабируемом наборе виртуальных машин.
Симптомы
Вы увидите ошибки VMExtensionProvisioningError, VMExtensionHandlerNonTransientError или VMExtensionProvisioningTimeout, как показано в следующих примерах:
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningError\\',\\'message\\':\\'Multiple VM extensions failed to be provisioned on the VM. Please see the VM extension instance view for other failures.
{'status': 'Failed','error': {'code':'VMExtensionHandlerNonTransientError','message': 'The handler for VM extension type 'Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux' has reported terminal failure for VM extension 'OmsAgentForLinux' with error message: '[ExtensionOperationError] Non-zero exit code: 10
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningTimeout\\',\\'message\\':\\'Provisioning of VM extension configure-settings has timed out. Extension provisioning has taken too long to complete.
Причина
Расширение виртуальной машины зависает или завершилось сбоем во время состояния подготовки.
Дополнительные сведения о сбое расширения
Чтобы начать устранение этой ошибки, сначала следует определить, какие расширения и экземпляры затронуты. Для этого выполните следующую команду интерфейса командной строки Azure (Azure CLI):
az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"
Выходные данные этой команды будут отображать состояния подготовки расширений для каждого экземпляра. В следующем примере выходных данных показано, как эта информация о расширении сгруппирована по идентификатору экземпляра.
В каждом разделе, выделенном для конкретного экземпляра, в списке extProvisioningState в верхней части отображаются состояния подготовки расширений, установленных на этом экземпляре. За этим списком следует список расширений, в котором отображаются имена расширений в том же порядке.
Например, в следующем примере выходных данных первое состояние подготовки в этом экземпляре "Сбой" соответствует первому расширению customScript. При сопоставлении состояний подготовки с перечисленными расширениями можно также определить, что во втором и третьем расширениях, перечисленных в одном экземпляре, были успешно подготовлены.
Попытка горизонтального масштабирования масштабируемого набора виртуальных машин
Если расширение не завершилось ошибкой для каждого экземпляра, добавьте новые экземпляры в масштабируемый набор виртуальных машин и убедитесь, что подготовка расширения выполнена успешно. При успешном завершении удалите экземпляры, на которых произошел сбой подготовки расширения.
Чтение журналов на затронутых экземплярах
Чтобы получить дополнительные сведения о причине ошибки, войдите в затронутые экземпляры. В зависимости от ОС масштабируемого набора виртуальных машин и расширения, перейдите к соответствующим журналам и просмотрите затронутый интервал времени:
- Windows Масштабируемые наборы виртуальных машин: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Масштабируемые наборы виртуальных машин Linux: /var/log/plugins/ExtensionName/Extension.log
Убедитесь, что сбой расширения соответствует рекомендациям
Если расширение настраивается, например расширение пользовательского скрипта (CSE) или требуемой конфигурации состояния (DSC), убедитесь, что вы выполняете все необходимые предварительные требования и рекомендуемые рекомендации.
- Рекомендации по расширению пользовательских скриптов
- Предварительные требования к конфигурации требуемого состояния
Переустановка расширения
В колонке "Расширения" масштабируемого набора виртуальных машин выберите расширение с ошибками подготовки.
Нажмите кнопку Удалить.
В колонке "Расширения" нажмите кнопку "Добавить".
Выберите и повторно установите то же расширение.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.