Solucionar problemas de registro do Azure Stack HCI

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 cmdlets e os Register-AzStackHCI cmdlets são executados, arquivos de log chamados RegisterHCI_{yyymmdd-hhss}.log e UnregisterHCI_{yyymmdd-hhss}.log são criados para cada Unregister-AzStackHCI tentativa. Esses arquivos são criados no diretório de trabalho da sessão do PowerShell na qual os cmdlets são executados. Os logs de depuração não são incluídos por padrão. 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 da falha:

Durante o registro, cada servidor no cluster deve estar em execução com conectividade de saída da Internet com o Azure. O Register-AzStackHCI cmdlet conversa com todos os servidores do cluster para provisionar certificados para cada um. Cada servidor usará 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ó depois que o certificado não foi possível gerar certificado autoassinado na parte (s) da mensagem de erro, o sistema não foi capaz de gerar o certificado nesses servidores.

Ação de correção:

  1. Verifique se cada servidor listado na mensagem acima está em execução. Você pode verificar o status do hcisvc executando-o sc.exe query hcisvc e iniciá-lo, se necessário.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 verifique se ele funciona:

    New-PSSession -ComputerName {failing nodes}
    

Se houver nomes de nó depois que não foi possível definir e verificar o certificado de registro na parte (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 o Azure Active Directory, e se ele não está sendo bloqueado por firewalls. Consulte os requisitos de firewall para o Azure Stack HCI.

  2. Tente executar o Test-AzStackHCIConnection cmdlet e verifique se ele tem êxito. 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 fazer com que a operação ExecuteWithRetry AADTokenFetch falhe com erro retryable algumas vezes antes de falhar com a operação ExecuteWithRetry AADTokenFetch falhar depois que todas as novas tentativas ou a operação ExecuteWithRetry AADTokenFetch tiver êxito na repetição.
    • Se você encontrar falha na operação ExecuteWithRetry AADTokenFetch após todas as novas tentativas nos logs, o sistema não pôde buscar o token do Azure Active Directory do serviço mesmo depois de todas as novas tentativas. Haverá uma exceção Azure AD associada que está 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=29/06/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-o com o tempo 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 da falha:

Se você excluiu explicitamente o recurso de cluster HCI do Azure Sack 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 de registro deve ser sempre disparado de dentro do cluster HCI usando o Unregister-AzStackHCI cmdlet para um cancelamento de registro limpo. 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 limpar o estado de registro do cluster e o estado do cluster Arc.
    • Se o cancelamento de registro for bem-sucedido, navegue até o Azure Active Directory > 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 que Disable-AzureStackHCIArcIntegration 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 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 se projeta: .\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 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 da falha:

Se o cluster estiver desconectado por mais de 8 horas, é possível que os registros de aplicativo Azure AD associados que representam o cluster HCI e os registros arc possam ter sido excluídos acidentalmente. Para o funcionamento adequado de cenários de cluster HCI e 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á Disconnected – Cluster não conectado por mais de 8 horas. Examine os logs de depuração do HCIsvc no nó: a mensagem de erro será Application with identifier '<ID>' not found in the directory 'Default Directory'. 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. Você pode ter 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 não registro. Nesse cenário, o cancelamento de registro falha com o erro Não foi possível desabilitar a integração do Azure Arc no Nome> do Nó 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.

Excluir qualquer um desses aplicativos resulta em uma falha na comunicação do cluster HCI para 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 Azure AD:

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

    Reparar o registro recria os aplicativos Azure AD 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 de registro falhar, siga a mesma ação de correção descrita nesta seção.

Erro fora da política

Explicação do estado da falha:

Se um cluster registrado anteriormente estiver mostrando um status de OutOfPolicy, as alterações na configuração do sistema podem ter feito com que o status de registro do Azure Stack HCI caísse fora da política.

Por exemplo, as alterações do sistema podem incluir, mas não se limitam a:

  • Desativar conflitos de configurações de Inicialização Segura no nó registrado.
  • Desmarcando 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 do Microsoft-AzureStack-HCI/Administração para obter mais informações sobre o status atual do OutOfPolicy 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 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, verifique quais nós foram 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, em seguida, volte para o cluster."

ID do evento de aviso

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

(Aviso) ID do evento 585: "O Azure Stack HCI falhou ao 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 de Evento 585 . Isso não afeta as cargas de trabalho nem o 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 status de registro de todos os nós no cluster estiver fora da política. Algumas etapas manuais são necessárias. Consulte as mensagens de ID do evento Microsoft-AzureStack-HCI/Administração.

ID do evento de erro

Mensagens de erro de ID de evento identificam uma falha no processo de registro. A mensagem de erro fornece instruções sobre como resolver o erro.

  • (Erro) ID do evento 591: "O Azure Stack HCI falhou ao 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, verifique quais nós foram afetados - se o cluster inteiro for OutOfPolicy (run Get-AzureStackHCI), execute Unregister-AzStackHCI no cluster, reinicie e execute Register-AzStackHCI. Se apenas esse nó for afetado, remova esse nó do cluster, reinicie, aguarde a conclusão do reparo e, em seguida, volte ao cluster."

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

Explicação do estado da 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 ou -SubcriptionId incorretos -EnvironmentName para um cluster, o estado de registro do cluster será removido do próprio cluster local, mas os recursos de cluster e Arc no portal do Azure ainda existirão no ambiente ou assinatura original.

Por exemplo:

  • Errado -EnvironmentName <value>: você registrou seu cluster -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 seu cluster da -SubscriptionId "<subscription_id_1>" seguinte maneira:

    Register-AzStackHCI  -SubscriptionId "<subscription_id_1>"
    

    Mas, em seguida, você executou o Unregister-AzStackHCI cmdlet para obter 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é o Azure Active Directory > Registros de aplicativo (todos os aplicativos) e pesquise a correspondência <clusterName> de nomes e <clusterName>.arcexclua 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 da falha:

A execução de 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 no recurso Arc para que esse nó seja removido. 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.

    Captura de tela do portal do Azure com nós realçados que aparecem como não instalados.

  2. Desconecte o agente 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

Explicação do estado da falha:

Isso acontece em cenários em que um ou todos os nós de cluster HCI foram habilitados manualmente para Arc e não como parte do cmdlet ou do Register-AzStackHCI fluxo de trabalho de registro do Azure Stack HCI central do Windows Administração centro. Isso também pode acontecer em cenários em que o cluster HCI não foi registrado corretamente conforme recomendado neste artigo antes de tentar registrar novamente o mesmo cluster.

Com o cluster nesse estado, quando você tenta registrar o HCI no Azure, o registro é concluído com êxito. No entanto, no portal do Azure, a conexão do Azure Arc exibe Não Instalado.

Ação de correção:

  1. Entre no cluster-nó com o status do Azure Arc que mostra como Não instalado:

    Captura de tela de nós que aparecem como não instalados no cluster-nó de status do Azure Arc.

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

    cd "C:\Program Files\AzureConnectedMachineAgent"
    

    e, em seguida,

    .\azcmagent.exe disconnect --force-local-only
    
  3. Verifique se você está executando o módulo PS mais recente do Az.StackHCI :

    Install-Module -Name Az.StackHCI 
    
  4. Execute o cmdlet de registro de reparo:

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

Não é capaz de girar certificados em Fairfax e Mooncake

Explicação do estado da falha:

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

Ação de correção:

Execute um registro de reparo no cluster para adicionar novos certificados no aplicativo Azure AD:

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

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

OnPremisesPasswordValidationTimeSkew

Explicação do estado da falha:

Azure AD geração de token falhará com um erro de tempo se o tempo do nó local estiver muito fora de sincronia com o UTC (tempo atual verdadeiro). Azure AD 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 a hora está sincronizada com uma fonte de tempo conhecida e precisa.

Próximas etapas