Solucionar problemas de registro do Azure Stack HCI

Aplica-se a: Azure Stack HCI, versões 22H2 e 21H2

A solução de problemas de registro do Azure Stack HCI requer examinar os logs de registro do PowerShell e os logs de depuração do hcisvc de cada servidor no cluster.

Coletar logs de registro do PowerShell

Quando os Register-AzStackHCI cmdlets e Unregister-AzStackHCI são executados, arquivos de log chamados RegisterHCI_{yyymmdd-hhss}.log e UnregisterHCI_{yyyymmdd-hhss}.log são criados para cada tentativa. Você pode definir o diretório de log para esses arquivos de log usando o -LogsDirectory parâmetro no Register-AzStackHCI cmdlet e chamar Get-AzStackHCILogsDirectory para obter o local. Por padrão, esses arquivos são criados em C:\ProgramData\AzureStackHCI\Registration. Para o módulo do PowerShell versão 2.1.2 ou anterior, esses arquivos são criados no diretório de trabalho da sessão do PowerShell na qual os cmdlets são executados.

Por padrão, os logs de depuração não são incluídos. Se houver um problema que precise dos logs de depuração adicionais, defina a preferência de depuração como Continuar executando o seguinte cmdlet antes de executar Register-AzStackHCI ou Unregister-AzStackHCI:

$DebugPreference = 'Continue'

Coletar logs hcisvc locais

Para habilitar logs de depuração para hcisvc, execute o seguinte comando no PowerShell em cada servidor no cluster:

wevtutil.exe sl /q /e:true Microsoft-AzureStack-HCI/Debug

Para obter os logs:

Get-WinEvent -Logname Microsoft-AzureStack-HCI/Debug -Oldest -ErrorAction Ignore

Falha ao registrar. Não foi possível gerar certificado autoassinado em nós {Node1,Node2}. Não foi possível definir e verificar o certificado de registro em nós {Node1,Node2}

Explicação do estado de falha:

Durante o registro, cada servidor no cluster deve estar em funcionamento com conectividade de saída com a Internet com o Azure. O cmdlet Register-AzStackHCI conversa com cada servidor no cluster para provisionar certificados. Cada servidor usa seu certificado para fazer uma chamada à API para serviços HCI na nuvem para validar o registro.

Se o registro falhar, você poderá ver a seguinte mensagem: Falha ao registrar. Não foi possível gerar certificado autoassinado em nós {Node1,Node2}. Não foi possível definir e verificar o certificado de registro em nós {Node1,Node2}

Se houver nomes de nó após a parte do (s) certificado autoassinado não foi possível gerar certificado autoassinado nos nós da mensagem de erro, o sistema não pôde gerar o certificado nesses servidores.

Ação de correção:

  1. Verifique se cada servidor listado na mensagem acima está em funcionamento. Você pode marcar o status do hcisvc executando-o sc.exe query hcisvc e iniciá-lo se necessário com start-service hcisvc.

  2. Verifique se cada servidor listado na mensagem de erro tem conectividade com o computador no qual o Register-AzStackHCI cmdlet é executado. Verifique isso executando o seguinte cmdlet do computador no qual Register-AzStackHCI é executado, usando New-PSSession para se conectar a cada servidor no cluster e verificar se ele funciona:

    New-PSSession -ComputerName {failing nodes}
    

Se houver nomes de nó após o Não foi possível definir e verificar o certificado de registro na parte de nós da mensagem de erro, o serviço foi capaz de gerar o certificado nos servidores, mas os servidores não foram capazes de chamar com êxito a API do serviço de nuvem HCI. Para solucionar problemas:

  1. Verifique se cada servidor tem a conectividade de Internet necessária para conversar com os serviços de nuvem do Azure Stack HCI e outros serviços necessários do Azure, como Microsoft Entra ID, e se ele não está sendo bloqueado por firewalls. Confira Requisitos de firewall para o Azure Stack HCI.

  2. Tente executar o Invoke-AzStackHciConnectivityValidation cmdlet no módulo AzStackHCI.EnvironmentChecker e verifique se ele foi bem-sucedido. Esse cmdlet invoca o ponto de extremidade de integridade dos serviços de nuvem HCI para testar a conectividade.

  3. Examine os logs de depuração do hcisvc em cada nó listado na mensagem de erro.

    • Não há problema em que a mensagem ExecuteWithRetry operação AADTokenFetch falhou com erro retryable aparecer algumas vezes antes de falhar com a operação ExecuteWithRetry AADTokenFetch falhou depois que todas as repetições ou a operação ExecuteWithRetry AADTokenFetch teve êxito na repetição.
    • Se você encontrar falha na operação ExecuteWithRetry AADTokenFetch após todas as tentativas nos logs, o sistema não pôde buscar o token Microsoft Entra do serviço mesmo após todas as tentativas. Haverá uma exceção Microsoft Entra associada registrada com esta mensagem.
    • Se você vir AADSTS700027: a asserção do cliente contém uma assinatura inválida. [Motivo - A chave usada expirou. Impressão digital da chave usada pelo cliente: '{SomeThumbprint}', Chave encontrada 'Start=06/29/2021 21:13:15, End=06/29/2023 21:13:15', esse é um problema com a forma como a hora é definida no servidor. Verifique a hora UTC em todos os servidores executando [System.DateTime]::UtcNow no PowerShell e compare-a com a hora UTC real. Se a hora não estiver correta, defina os horários corretos nos servidores e tente o registro novamente.

Excluir o recurso HCI do portal e registrar novamente o mesmo cluster causa problemas

Explicação do estado de falha:

Se você excluiu explicitamente o recurso de cluster do Azure Sack HCI do portal do Azure sem primeiro cancelar o registro do cluster do Windows Admin Center ou do PowerShell, a exclusão de um recurso do HCI Azure Resource Manager diretamente do portal resultará em um estado de recurso de cluster incorreto. O cancelamento do registro deve ser sempre disparado de dentro do cluster HCI usando o Unregister-AzStackHCI cmdlet para um limpo cancelamento do registro. Esta seção descreve as etapas de limpeza para cenários em que o recurso de cluster HCI foi excluído do portal.

Ação de correção:

  1. Entre no servidor de cluster HCI local usando as credenciais do usuário do cluster.
  2. Execute o Unregister-AzStackHCI cmdlet no cluster para limpo o estado de registro do cluster e o estado arc do cluster.
    • Se o cancelamento do registro for bem-sucedido, navegue até Microsoft Entra ID > Registros de aplicativo (Todos os aplicativos) e pesquise a correspondência clusterName de nomes e clusterName.arc. Exclua as duas IDs do aplicativo se elas existirem.
    • Se o cancelamento de registro falhar com o erro ERRO: não foi possível desabilitar a integração do Azure Arc no <nome> do nó, tente executar o Disable-AzureStackHCIArcIntegration cmdlet no nó. Se o nó estiver em um estado em Disable-AzureStackHCIArcIntegration que não pode ser executado, remova o nó do cluster e tente executar o Unregister-AzStackHCI cmdlet novamente. Entre em cada nó individual:
      1. Altere o diretório para onde o agente do Arc está instalado: cd 'C:\Program Files\AzureConnectedMachineAgent\'.
      2. Obtenha o status no arcmagent.exe e determine o grupo de recursos do Azure para o qual ele é projetado: .\azcmagent.exe show. A saída para esse comando mostra as informações do grupo de recursos.
      3. Forçar a desconexão do agente do Arc do nó: .\azcmagent.exe disconnect --force-local-only.
      4. Entre no portal do Azure e exclua o recurso Arc-for-Server do grupo de recursos determinado na etapa ii.

O usuário excluiu as IDs do aplicativo por engano

Explicação do estado de falha:

Se o cluster estiver desconectado por mais de 8 horas, é possível que os registros de aplicativo Microsoft Entra associados que representam o cluster HCI e os registros do Arc possam ter sido excluídos acidentalmente. Para o funcionamento adequado dos cenários do cluster HCI e do Arc, dois registros de aplicativo são criados no locatário durante o registro.

  • Se a ID do <clustername> aplicativo for excluída, o recurso de cluster Conexão do Azure no portal do Azure exibirá Desconectado – Cluster não conectado por mais de 8 horas. Examine os logs de depuração do HCIsvc no nó: a mensagem de erro será Aplicativo com o identificador '<ID>' não encontrado no diretório 'Diretório Padrão'. Isso pode acontecer se o aplicativo não tiver sido instalado pelo administrador do locatário ou consentido por qualquer usuário no locatário. Talvez você tenha enviado sua solicitação de autenticação para o locatário errado.
  • Se <clustername>.arc criado durante a habilitação do Arc for excluído, não haverá erros visíveis durante a operação normal. Essa identidade é necessária somente durante os processos de registro e cancelamento do registro. Nesse cenário, o cancelamento do registro falha com o erro Não foi possível desabilitar a integração do Azure Arc no <Nome> do Nó. Tente executar o cmdlet Disable-AzureStackHCIArcIntegration no nó. Se o nó estiver em um estado em que o cmdlet Disable-AzureStackHCIArcIntegration não pôde ser executado, remova o nó do cluster e tente executar o cmdlet Unregister-AzStackHCI novamente.

A exclusão de qualquer um desses aplicativos resulta em uma falha na comunicação do cluster HCI com a nuvem.

Ação de correção:

  • Se apenas o <clustername> AppId for excluído, execute um registro de reparo no cluster para configurar os aplicativos Microsoft Entra:

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
    

    Reparar o registro recria os aplicativos Microsoft Entra necessários, mantendo outras informações, como nome do recurso, grupo de recursos e outras opções de registro.

  • Se a ID do <clustername>.arc aplicativo for excluída, não haverá erro visível nos logs. O cancelamento do registro falhará se <clustername>.arc for excluído. Se o cancelamento do registro falhar, siga a mesma ação de correção descrita nesta seção.

Erro fora da política

Explicação do estado de falha:

Se um cluster registrado anteriormente estiver mostrando o status OutOfPolicy, é possível que as alterações na configuração do sistema tenham causado a queda do status de registro do Azure Stack HCI para fora da política.

Por exemplo, as alterações do sistema podem incluir, dentre outras coisas:

  • Desativar os conflitos de configurações de Inicialização Segura no nó registrado.
  • Limpar o TPM (Trusted Platform Module).
  • Uma alteração significativa no tempo do sistema.

Observação

O Azure Stack HCI 21H2 com KB5010421 e versões posteriores tentará se recuperar automaticamente do estado OutOfPolicy . Examine o Log de Eventos microsoft-AzureStack-HCI/Administração para obter mais informações sobre o status OutOfPolicy atual e outras informações.

Quais mensagens de ID de evento 'OutOfPolicy' eu poderia esperar ver durante o registro?

Há três tipos de mensagens de ID de evento: informativos, avisos e erros.

As mensagens a seguir foram atualizadas com o Azure Stack HCI 21H2 com KB5010421 e não serão vistas se esse KB não estiver instalado.

ID do evento informativo

Mensagens de ID de evento informativo que ocorrem durante o registro. Examine e siga todas as sugestões na mensagem:

  • (Informativo) ID do evento 592: "O Azure Stack HCI iniciou um reparo de seus dados. Nenhuma ação adicional do usuário é necessária no momento."

  • (Informativo) ID do evento 594: "O Azure Stack HCI encontrou um erro ao acessar seus dados. Para reparar, marcar quais nós são afetados – se todo o cluster for OutOfPolicy (execute Get-AzureStackHCI), execute Unregister-AzStackHCI no cluster, reinicie e execute Register-AzStackHCI. Se apenas esse nó for afetado, remova esse nó do cluster, reinicie e aguarde a conclusão do reparo e retome para o cluster."

ID do evento de aviso

Com mensagens de aviso, o status do registro não está concluído. Pode ou não haver um problema. Primeiro, examine a mensagem de ID do evento antes de executar qualquer etapa de solução de problemas.

(Aviso) ID do evento 585: "O Azure Stack HCI não conseguiu renovar a licença do Azure. Para obter mais detalhes sobre o erro específico, habilite o canal de eventos Microsoft-AzureStack-HCI/Debug."

Observação

Possíveis atrasos no restabelecimento de uma conexão completa com o Azure são esperados após o reparo automático bem-sucedido e podem resultar na exibição da ID do Evento 585 . Isso não afeta cargas de trabalho ou licenciamento do nó. Ou seja, ainda há uma licença instalada, a menos que o nó tenha saído da janela de 30 dias antes do reparo automático.

Observação

Em alguns casos, o Azure Stack HCI pode não ter êxito na recuperação automática. Isso pode ocorrer quando o registro status de todos os nós no cluster estiverem fora da política. Algumas etapas manuais são necessárias. Confira as mensagens de ID do evento Microsoft-AzureStack-HCI/Administração.

ID do evento de erro

As mensagens de erro da ID do evento identificam uma falha no processo de registro. A mensagem de erro fornece instruções sobre como resolve o erro.

  • (Erro) ID do evento 591: "O Azure Stack HCI não conseguiu se conectar ao Azure. Se você continuar a ver esse erro, tente executar Register-AzStackHCI novamente com o -RepairRegistration parâmetro ."

  • (Erro) ID do evento 594: "O Azure Stack HCI encontrou um erro ao acessar seus dados. Para reparar, marcar quais nós são afetados – se todo o cluster for OutOfPolicy (executar Get-AzureStackHCI), execute Unregister-AzStackHCI no cluster, reinicie e execute Register-AzStackHCI. Se apenas esse nó for afetado, remova-o do cluster, reinicie, aguarde a conclusão do reparo e reingresse-o no cluster".

O recurso cluster e Arc no portal do Azure existe, mas o Get-AzureStackHCI status diz "Ainda não" registrado

Explicação do estado de falha:

Esse problema é causado pelo cancelamento do registro de um cluster HCI com o ambiente de nuvem incorreto ou informações de assinatura incorretas. Se um usuário executar o Unregister-AzStackHCI cmdlet com parâmetros incorretos -EnvironmentName ou -SubcriptionId para um cluster, o estado de registro do cluster será removido do próprio cluster local, mas os recursos do cluster e do Arc no portal do Azure ainda existirão no ambiente ou assinatura original.

Por exemplo:

  • Errado -EnvironmentName <value>: você registrou o cluster no -EnvironmentName AzureUSGovernment como no exemplo a seguir. Observe que o padrão -EnvironmentName é "Azurecloud". Por exemplo, você executou:

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -EnvironmentName AzureUSGovernment
    

    Mas, em seguida, você executou o Unregister-AzStackHCI cmdlet com -EnvironmentName Azurecloud (o padrão) da seguinte maneira:

    Unregister-AzStackHCI -SubscriptionId "<subscription_ID>"
    
  • Errado -SubscriptionId <value>: você registrou o cluster com -SubscriptionId "<subscription_id_1>" o seguinte:

    Register-AzStackHCI  -SubscriptionId "<subscription_id_1>"
    

    Mas, em seguida, você executou o Unregister-AzStackHCI cmdlet para uma ID de assinatura diferente:

    Unregister-AzStackHCI -SubscriptionId "<subscription_id_2>"
    

Ação de correção:

  1. Exclua os recursos do cluster e do Arc do portal.
  2. Navegue até Microsoft Entra ID > Registros de aplicativo (Todos os aplicativos) e pesquise a correspondência <clusterName> de nomes e<clusterName>.arc, em seguida, exclua as duas IDs do aplicativo.

Emitir Sync-AzureStackHCI imediatamente após a reinicialização dos nós do cluster resulta na exclusão de recursos do Arc

Explicação do estado de falha:

Executar uma sincronização de censo antes da sincronização de nós pode resultar no envio da sincronização para o Azure, que não inclui o nó. Isso resulta na remoção do recurso do Arc para esse nó. O Sync-AzureStackHCI cmdlet deve ser usado apenas para depurar a conectividade de nuvem do cluster HCI. O cluster HCI tem um pequeno tempo de aquecimento após uma reinicialização para reconciliar o estado do cluster; portanto, não execute Sync-AzureStackHCI logo após a reinicialização de um nó.

Ação de correção:

  1. No portal do Azure, entre no nó que aparece como Não instalado.

  2. Desconecte o agente do Arc usando os dois comandos a seguir:

    cd "C:\Program Files\AzureConnectedMachineAgent"
    

    e, em seguida,

    .\azcmagent.exe disconnect --force-local-only
    
  3. Reparar o registro:

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1  -RepairRegistration
    
  4. Após a operação de reparo, o nó retorna a um estado conectado.

O registro é concluído com êxito, mas a conexão do Azure Arc no portal diz Não Instalado

Cenário 1

Explicação do estado de falha:

Isso pode acontecer se a função necessária do Azure Connected Machine Resource Manager for removida do provedor de recursos HCI no grupo de recursos Arc-for-Server.

Você pode encontrar a permissão na folha Controle de Acesso do grupo de recursos no portal do Azure. A imagem a seguir mostra a permissão:

Captura de tela da folha de controle de acesso.

Ação de correção:

Execute o cmdlet de registro de reparo:

Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1  -RepairRegistration

Cenário 2

Explicação do estado de falha:

Essa mensagem também pode ser devido a um problema transitório que, às vezes, ocorre durante a execução do registro do Azure Stack HCI. Quando isso acontece, o Register-AzStackHCI cmdlet mostra a seguinte mensagem de aviso:

Captura de tela da mensagem de saída do cmdlet Register-AzStackHCI.

Ação de correção:

Aguarde 12 horas após o registro para que o problema seja resolvido automaticamente.

Cenário 3

Explicação do estado de falha:

Isso também pode acontecer quando o proxy não estiver configurado corretamente para uma conexão com os serviços de nuvem do Azure ARC de nós HCI. Você pode ver o seguinte erro nos logs do agente do Arc:

Captura de tela dos logs do agente do Arc.

Ação de correção:

Para resolve esse problema, siga as diretrizes para atualizar as configurações de proxy. Em seguida, registre novamente o cluster do Azure Stack HCI.

Não é possível girar certificados em Fairfax e Mooncake

Explicação do estado de falha:

  1. No portal do Azure, o recurso de cluster Conexão do Azure exibe Desconectado.
  2. Examine os logs de depuração do HCIsvc no nó. A mensagem de erro será exceção: AADSTS700027: validação de assinatura com falha na asserção do cliente.
  3. O erro também pode ser mostrado como RotateRegistrationCertificate falhou: Público-alvo inválido.

Ação de correção:

Execute um registro de reparo no cluster para adicionar novos certificados no aplicativo Microsoft Entra:

Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration

Reparar o registro gera novos certificados de substituição no aplicativo Microsoft Entra, mantendo outras informações, como o nome do recurso, o grupo de recursos e outras opções de registro.

OnPremisesPasswordValidationTimeSkew

Explicação do estado de falha:

Microsoft Entra geração de token falhará com um erro de tempo se a hora do nó local estiver muito fora de sincronia com a hora atual verdadeira (UTC). Microsoft Entra ID retorna o seguinte erro:

AADSTS80013: OnPremisesPasswordValidationTimeSkew – A tentativa de autenticação não pôde ser concluída devido à distorção de tempo entre o computador que executa o agente de autenticação e o AD. Corrigir problemas de sincronização de horário.

Ação de correção:

Verifique se o tempo está sincronizado com uma fonte de tempo conhecida e precisa.

Não é possível adquirir o token para o locatário com erro

Explicação do estado de falha:

Se a conta de usuário usada para registro fizer parte de vários locatários Microsoft Entra, você deverá especificar -TenantId durante o registro do cluster e cancelar o registro, caso contrário, falhará com o erro Não é possível adquirir o token para o locatário com erro. Você deve usar a autenticação multifator para acessar o locatário. Execute novamente Connect-AzAccount com o parâmetro -TenantIdadicional .

Ação de correção:

  • Para registro de cluster, especifique o -TenantId parâmetro :

    Register-AzStackHCI  -SubscriptionId "<subscription_ID>" -ComputerName Server1 -TenantId <Tenant_ID>
    
  • Para cancelar o registro, especifique o -TenantId parâmetro :

    Unregister-AzStackHCI -ComputerName ClusterNode1 -SubscriptionId "<subscription ID GUID>" -ResourceName HCI001 -TenantId <Tenant_ID>
    

Um ou mais nós de cluster não conseguem se conectar ao Azure

Explicação do estado de falha:

Esse problema ocorre quando um ou mais nós de cluster tiveram problemas de conectividade após o registro e não conseguiram se conectar ao Azure por muito tempo. Mesmo após a resolução de problemas de conectividade, os nós não podem se reconectar ao Azure devido aos certificados expirados.

Ação de correção:

  1. Entre no nó desconectado.

  2. Execute Disable-AzureStackHCIArcIntegration.

  3. Verifique o status da integração do ARC executando Get-AzureStackHCIArcIntegration e verifique se ele agora diz "Desabilitado" para o nó desconectado:

    Captura de tela de Get-AzureStackHCIArcIntegration saída do cmdlet.

  4. Entre no portal do Azure e exclua o recurso de Resource Manager do Azure que representa o servidor Arc para esse nó.

  5. Entre no nó desconectado novamente e execute Enable-AzureStackHCIArcIntegration.

  6. Execute Sync-AzureStackHCI no nó .

Falha no trabalho ao tentar criar uma VM

Explicação do estado de falha:

Se o cluster não estiver registrado no Azure após a implantação ou se o cluster estiver registrado, mas não estiver conectado ao Azure por mais de 30 dias, o sistema não permitirá que novas VMs (máquinas virtuais) sejam criadas ou adicionadas. Quando isso ocorrer, você verá a seguinte mensagem de erro ao tentar criar VMs:

There was a failure configuring the virtual machine role for 'vmname'. Job failed. Error opening "vmname" clustered roles. The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept.

Ação de correção:

Registre seu cluster HCI no Azure. Para obter informações sobre como registrar o cluster, consulte as instruções na documentação do Register-AzStackHCI.

Usar o grupo de recursos comum para recursos do cluster e do Arc-for-Server

O módulo mais recente do PowerShell dá suporte a ter um grupo de recursos comum para recursos do cluster e do Arc-for-Server ou usar qualquer grupo de recursos pré-existente para recursos do Arc-for-Server.

Para clusters registrados com o módulo do PowerShell versão 1.4.1 ou anterior, você pode executar as seguintes etapas para usar o novo recurso:

  1. Cancele o registro do cluster executando Unregister-AzStackHCI de um dos nós. Confira Cancelar o registro do Azure Stack HCI usando o PowerShell.
  2. Instale o módulo mais recente do PowerShell: Install-Module Az.StackHCI -Force.
  3. Execute Register-AzStackHCI passando os parâmetros apropriados para -ResourceGroupName e -ArcForServerResourceGroupName.

Observação

Se você estiver usando um grupo de recursos separado para recursos do Arc-for-Server, recomendamos usar um grupo de recursos com recursos do Arc-for-Server relacionados apenas ao Azure Stack HCI. O provedor de recursos do Azure Stack HCI tem permissões para gerenciar outros recursos do Arc-for-Server no ArcServerResourceGroup.

Próximas etapas