Ошибки подготовки расширения виртуальной машины в Масштабируемые наборы виртуальных машин
В этой статье содержатся рекомендации по устранению ошибок 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) или Desired State Configuration (DSC), убедитесь, что вы выполняете все необходимые предварительные требования и рекомендации.
- Рекомендации по расширению пользовательских скриптов
- Предварительные требования для Desired State Configuration
Переустановка расширения
В колонке Расширения масштабируемого набора виртуальных машин выберите расширение с ошибками подготовки.
Нажмите Удалить.
В колонке Расширения нажмите кнопку Добавить.
Выберите и повторно установите то же расширение.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.