Partilhar via


Solucionar problemas de gerenciamento de VM do Azure Arc

Aplica-se a: Azure Stack HCI, versão 23H2

Este artigo fornece orientação sobre como coletar logs e solucionar problemas com máquinas virtuais (VMs) do Azure Arc em seu cluster HCI do Azure Stack. Ele também lista as limitações e os problemas conhecidos que existem atualmente com o gerenciamento de VM do Azure Arc.

Recolher registos

Você pode coletar logs para identificar e solucionar problemas com VMs Arc em seu sistema Azure Stack HCI. Use esses logs para coletar informações importantes antes de entrar em contato com o suporte da Microsoft para obter ajuda adicional.

Verifique se você tem o módulo PowerShell mais recente para coleta de logs. Para atualizar o módulo do PowerShell, execute o seguinte comando:

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

Para coletar logs para VMs Arc em seu cluster HCI do Azure Stack, execute o seguinte comando:

$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

Em que:

  • $csv_path é o caminho completo do volume compartilhado do cluster fornecido para a criação do Arc Resource Bridge.

  • $VMIP_1 é o endereço IP da VM do Arc Resource Bridge.

  • Opcionalmente, defina o -logDir parâmetro para especificar o caminho para o diretório onde os logs gerados são armazenados. Se você não especificar o caminho ou o parâmetro, por padrão, os logs serão armazenados no diretório de trabalho atual.

Solucionar problemas de VMs do Azure Arc

Esta seção descreve os erros relacionados ao gerenciamento de VM do Azure Arc e suas resoluções recomendadas.

Falha ao tentar ativar o gerenciamento de convidados

Ao tentar executar o comando para habilitar o gerenciamento de convidados, você verá o seguinte erro:

Erro: 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

A falha acima é porque a identidade gerenciada não foi criada para essa VM. A Identidade Gerenciada atribuída pelo sistema é necessária para habilitar o gerenciamento de convidados.

Resolução:

Siga estas etapas para verificar se a Identidade Gerenciada não foi criada para essa VM e, em seguida, habilite a Identidade Gerenciada atribuída pelo Sistema.

  1. No portal do Azure, vá para a VM. Navegue até a página Visão geral . Na guia Propriedades, em Configuração, o gerenciamento de convidados deve ser exibido como Desabilitado. Selecione a Visualização JSON no canto superior direito.

    Captura de tela de como chegar ao modo de exibição JSON.

  2. Sob Identity o parâmetro, o type deve mostrar como None.

    Captura de tela do modo de exibição JSON indicando que a Identidade Gerenciada está ausente.

  3. Para criar identidade gerenciada, conecte-se ao servidor HCI do Azure Stack via RDP. Execute o seguinte comando:

    az extension add --name connectedmachine
    
  4. Verifique se a extensão da CLI da máquina conectada está instalada no cluster. Aqui está uma saída de exemplo com a extensão instalada com êxito. O indica que a connectedmachine versão 0.7.0 está instalada.

    [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. Execute o seguinte comando para atribuir uma identidade gerenciada pelo sistema à VM.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Vá para o portal do Azure e navegue até a página Visão geral . O modo de exibição JSON deve indicar que a identidade gerenciada pelo sistema agora está atribuída à VM.

    Captura de ecrã da vista JSON quando a Identidade Gerida está ativada.

Falha ao implantar uma VM Arc

Você vê o seguinte erro ao tentar implantar uma VM Arc em seu cluster HCI do Azure Stack:

Erro: {"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."}

A falha acima é porque o SystemAssigned objeto de identidade gerenciado não está sob o Microsoft.HybridCompute/machines tipo de recurso.

Resolução:

Verifique em seu modelo de implantação se:

O SystemAssigned objeto de identidade gerenciado está em Microsoft.HybridCompute/machines tipo de recurso e não em Microsoft.AzureStackHCI/VirtualMachineInstances tipo de recurso.

O modelo de implantação deve corresponder ao modelo de exemplo fornecido. Para obter mais informações, consulte o modelo de exemplo em Criar máquinas virtuais Arc no Azure Stack HCI.

Falha ao excluir o caminho de armazenamento

Ao tentar excluir um caminho de armazenamento em seu cluster HCI do Azure Stack, você pode ver um erro semelhante à seguinte mensagem. Os números e versões dos recursos podem variar no seu cenário.

Erro: "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,

Resolução:

As imagens listadas na mensagem de erro diferem das cargas de trabalho típicas, que são representadas como objetos do Azure Resource Manager (ARM) no portal do Azure e na CLI. Esse erro ocorre porque essas imagens são baixadas diretamente no sistema de arquivos, que o Azure não pôde reconhecer.

Siga estas etapas antes de tentar remover um caminho de armazenamento:

  1. Remova as cargas de trabalho associadas e as imagens presentes no caminho de armazenamento que você deseja excluir. Procure os seguintes prefixos nos nomes das imagens: linux-cblmariner, windows-windows2019, windows-windows2022, windows_k8s, aks-image-merged, linux-K8s.
  2. Registre um tíquete de suporte no portal do Azure.

A instalação da CLI do Azure não é reconhecida

Se seu ambiente não reconhecer a CLI do Azure depois de instalá-la, execute o seguinte bloco de código para adicionar o caminho de instalação da CLI do Azure ao caminho do ambiente.

        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"
        }

Próximos passos