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


Устранение неполадок управления виртуальными машинами Azure Arc

Область применения: Azure Stack HCI версии 23H2

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

Сбор журналов

Журналы можно собирать для выявления и устранения проблем с виртуальными машинами Arc в системе Azure Stack HCI. Используйте эти журналы для сбора ключевых сведений перед обращением в службу поддержки Майкрософт для получения дополнительной справки.

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

#Update the PowerShell module
Install-Module -Name ArcHci -Force -Confirm:$false -SkipPublisherCheck -AcceptLicense

Чтобы собрать журналы для виртуальных машин Arc в кластере Azure Stack HCI, выполните следующую команду:

$csv_path="<input-from-admin>"
$VMIP_1="<input-from-admin>"
az login --use-device-code
Get-ArcHCILogs -workDirectory $csv_path\ResourceBridge -kvaTokenPath $csv_path\ResourceBridge\kvatoken.tok -ip $VMIP_1

Где:

  • $csv_path — это полный путь к общему тому кластера, предоставленному для создания моста ресурсов Arc.

  • $VMIP_1 — это IP-адрес виртуальной машины моста ресурсов Arc.

  • При необходимости задайте -logDir параметр, чтобы указать путь к каталогу, в котором хранятся созданные журналы. Если путь или параметр не указан, по умолчанию журналы хранятся в текущем рабочем каталоге.

Устранение неполадок виртуальных машин Azure Arc

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

Сбой при попытке включить управление гостевыми клиентами

При попытке выполнить команду для включения гостевого управления вы увидите следующую ошибку:

Ошибка: Deployment failed. Correlation ID: 5d0c4921-78e0-4493-af16-dffee5cbf9d8. VM Spec validation failed for guest agent provisioning: Invalid managed identity. A system-assigned managed identity must be enabled in parent resource: Invalid Configuration

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

Решение.

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

  1. В портал Azure перейдите на виртуальную машину. Перейдите на страницу обзора . На вкладке "Свойства" в разделе "Конфигурация" управление гостевыми клиентами должно отображаться как "Отключено". Выберите представление JSON в правом верхнем углу.

    Снимок экрана: получение представления JSON.

  2. Под Identity параметром type должно отображаться как None.

    Снимок экрана: представление JSON, указывающее, что управляемое удостоверение отсутствует.

  3. Чтобы создать управляемое удостоверение, подключитесь к серверу Azure Stack HCI через RDP. Выполните следующую команду:

    az extension add --name connectedmachine
    
  4. Убедитесь, что в кластере установлено расширение CLI подключенного компьютера. Ниже приведен пример выходных данных с успешно установленным расширением. Указывает connectedmachine , что установлена версия 0.7.0.

    [v-hostl]: PS C:\Clusterstorage\lnfrastructure_l\ArcHci> az version
    {
    "azure-cli": "2.53.0",
    "azure-cli-core": "2.53.0",
    "azure-cli-telemetry": "1.1.0",
    "extensions": {
        "akshybrid": "0.1.1",
        "arcappliance"^ "1.0.2",
        "connectedk8s": "1.5.4",
        "connectedmachine": "0.7.0",
        "customlocation": "0.1.3",
        "hybridaks": "0.2.4",
        "k8s-extension": "1.4.5",
        "stack-hci-vm": "0.1.8"
        }
    }
    [v-hostl]: PS C:\ClusterStorage\Infrastructure_l\ArcHci>
        ```
    
  5. Выполните следующую команду, чтобы назначить управляемое системой удостоверение виртуальной машине.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Перейдите к портал Azure и перейдите на страницу обзора. Представление JSON должно указывать, что системное управляемое удостоверение теперь назначается виртуальной машине.

    Снимок экрана: представление JSON при включенном управляемом удостоверении.

Сбой при развертывании виртуальной машины Arc

При попытке развернуть виртуальную машину Arc в кластере Azure Stack HCI возникает следующая ошибка:

Ошибка: {"code":"ConflictingOperation","message":"Unable to process request 'Microsoft.AzureStackHCI/virtualMachineInstances'. There is already a previous running operation for resource '/subscriptions/<subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/<VM name>/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'. Please wait for the previous operation to complete."}

Приведенный выше сбой заключается в том, что SystemAssigned объект управляемого удостоверения не находится в типе Microsoft.HybridCompute/machines ресурса.

Решение.

Проверьте в шаблоне развертывания следующее:

Объект SystemAssigned управляемого удостоверения находится под Microsoft.HybridCompute/machines типом ресурса, а не под Microsoft.AzureStackHCI/VirtualMachineInstances типом ресурса.

Шаблон развертывания должен соответствовать предоставленному образцу шаблона. Дополнительные сведения см. в примере шаблона в статье "Создание виртуальных машин Arc" в Azure Stack HCI.

Сбой удаления пути к хранилищу

При попытке удалить путь к хранилищу в кластере Azure Stack HCI может появиться ошибка, аналогичная приведенному ниже сообщению. Номера ресурсов и версии могут отличаться в вашем сценарии.

Ошибка: "errorMessage" serviceClient returned an error during deletion: The storage container service returned an error during deletion: rpc error: code = Unknown desc = Container is in ACTIVE use by Resources [6:
- linux-cblmariner-0.2.0.10503
- windows-windows2019-0.2.0.10503
- windows-windows2022-0.2.0.10503
].
Remove all the Resources from this container, before trying to delete: In Use: Failed,

Решение.

Изображения, перечисленные в сообщении об ошибке, отличаются от типичных рабочих нагрузок, которые представлены как объекты Azure Resource Manager (ARM) в портал Azure и CLI. Эта ошибка возникает, так как эти образы загружаются непосредственно в файловую систему, которую Azure не распознает.

Выполните следующие действия, прежде чем попытаться удалить путь к хранилищу:

  1. Удалите связанные рабочие нагрузки и изображения, присутствующих в пути к хранилищу, который требуется удалить. Найдите следующие префиксы на именах изображений: linux-cblmariner, windows-windows2019, windows-windows2022, windows_k8s, , aks-image-merged. linux-K8s
  2. Отправьте запрос в службу поддержки в портал Azure.

Установка Azure CLI не распознана

Если после установки среды не удается распознать Azure CLI, выполните следующий блок кода, чтобы добавить путь установки Azure CLI в путь к среде.

        if ( -not( $env:PATH -like '*C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin*') ) {
            $env:PATH += "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;"
            Write-Host "Updated path $env:PATH"
        }

Следующие шаги