Solucionar problemas de registro HCI do Azure Stack
Aplica-se a: Azure Stack HCI, versão 22H2
Importante
As instruções de solução de problemas fornecidas neste artigo aplicam-se a uma versão mais antiga, Azure Stack HCI, versão 22H2. Para solucionar problemas de novas implantações que executam a versão mais recente disponível em geral, Azure Stack HCI, versão 23H2, consulte Obter suporte para problemas de implantação 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 hcisvc de cada servidor no cluster.
Coletar logs de registro do PowerShell
Quando os cmdlets e Unregister-AzStackHCI
são executados, os Register-AzStackHCI
arquivos de log chamados RegisterHCI_{yyyymmdd-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 os logs de depuração para hcisvc, execute o seguinte comando no PowerShell em cada servidor do 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 se registrar. Não foi possível gerar certificado autoassinado no(s) nó(s) {Node1,Node2}. Não foi possível definir e verificar o certificado de registro no(s) nó(s) {Node1,Node2}
Explicação do estado de falha:
Durante o registro, cada servidor no cluster deve estar ativo e em execução com conectividade de saída à Internet para o Azure. O cmdlet Register-AzStackHCI conversa com cada servidor no cluster para provisionar certificados. Cada servidor usa seu certificado para fazer uma chamada de API para serviços HCI na nuvem para validar o registro.
Se o registo falhar, poderá ver a seguinte mensagem: Falha ao registar-se. Não foi possível gerar certificado autoassinado no(s) nó(s) {Node1,Node2}. Não foi possível definir e verificar o certificado de registro no(s) nó(s) {Node1,Node2}
Se houver nomes de nó após a parte Não foi possível gerar certificado autoassinado no(s) nó(s) da mensagem de erro, o sistema não foi capaz de gerar o certificado nesses servidores.
Ação de reparação:
Verifique se cada servidor listado na mensagem acima está instalado e funcionando. Você pode verificar o status do hcisvc executando
sc.exe query hcisvc
e iniciá-lo, se necessário, comstart-service hcisvc
.Verifique se cada servidor listado na mensagem de erro tem conectividade com a máquina na qual o
Register-AzStackHCI
cmdlet é executado. Verifique isso executando o seguinte cmdlet da máquina na qual é executado, usandoNew-PSSession
para se conectar a cada servidor no cluster e certificar-se de queRegister-AzStackHCI
ele funciona:New-PSSession -ComputerName {failing nodes}
Se houver nomes de nó após a parte Não foi possível definir e verificar o certificado de registro no(s) nó(s) da mensagem de erro, o serviço conseguiu gerar o certificado no(s) servidor(es), mas o(s) servidor(es) não pôde(m) chamar com êxito a API do serviço de nuvem HCI. Para resolver os problemas:
Certifique-se de que cada servidor tem a conectividade de Internet necessária para falar com os serviços de nuvem HCI do Azure Stack e outros serviços necessários do Azure, como o Microsoft Entra ID, e que não está sendo bloqueado por firewall(s). Consulte Requisitos de firewall para o Azure Stack HCI.
Tente executar o
Invoke-AzStackHciConnectivityValidation
cmdlet a partir do módulo AzStackHCI.EnvironmentChecker e certifique-se de que ele seja bem-sucedido. Este cmdlet invoca o ponto de extremidade de integridade dos serviços de nuvem HCI para testar a conectividade.Observe os logs de depuração hcisvc em cada nó listado na mensagem de erro.
- Não há problema em fazer com que a mensagem ExecuteWithRetry operação AADTokenFetch falhou com erro retryable apareça algumas vezes antes de falhar com a operação ExecuteWithRetry AADTokenFetch falhou depois de todas as novas tentativas ou a operação ExecuteWithRetry AADTokenFetch foi bem-sucedida em tentar novamente.
- Se você encontrar a operação ExecuteWithRetry AADTokenFetch falhou depois de todas as novas tentativas nos logs, o sistema não foi capaz de buscar o token Microsoft Entra do serviço, mesmo depois de todas as tentativas. Há uma exceção associada ao Microsoft Entra que é registrada com esta mensagem.
- Se você vir AADSTS700027: A asserção do cliente contém uma assinatura inválida. [Justificação - A chave utilizada expirou. Impressão digital da chave usada pelo cliente: '{SomeThumbprint}', Found key 'Start=06/29/2021 21:13:15, End=06/29/2023 21:13:15', este é um problema com a forma como o tempo é definido 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 as horas corretas 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 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 acionado 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 nos quais o recurso de cluster HCI foi excluído do portal.
Ação de reparação:
- Entre no servidor de cluster HCI local usando as credenciais de usuário do cluster.
- Execute o
Unregister-AzStackHCI
cmdlet no cluster para limpar o estado de registro do cluster e o estado do arco do cluster.- Se o cancelamento do registro for bem-sucedido, navegue até Registros do aplicativo Microsoft Entra ID > (Todos os aplicativos) e procure o nome correspondente
clusterName
eclusterName.arc
. Exclua os dois IDs de aplicativo, se existirem. - Se o cancelamento do registro falhar com o erro ERRO: Não foi possível desabilitar a integração do Azure Arc no nome do <nó do nó>, tente executar o
Disable-AzureStackHCIArcIntegration
cmdlet no nó. Se o nó estiver em um estado em queDisable-AzureStackHCIArcIntegration
não possa ser executado, remova o nó do cluster e tente executar oUnregister-AzStackHCI
cmdlet novamente. Inicie sessão em cada nó individual:- Altere o diretório para onde o agente Arc está instalado:
cd 'C:\Program Files\AzureConnectedMachineAgent\'
. - Obtenha o status no arcmagent.exe e determine o grupo de recursos do Azure para o qual ele está projetado:
.\azcmagent.exe show
. A saída para este comando mostra as informações do grupo de recursos. - Força a desconexão do agente Arc do nó:
.\azcmagent.exe disconnect --force-local-only
. - Entre no portal do Azure e exclua o recurso Arc-for-Server do grupo de recursos determinado na etapa ii.
- Altere o diretório para onde o agente Arc está instalado:
- Se o cancelamento do registro for bem-sucedido, navegue até Registros do aplicativo Microsoft Entra ID > (Todos os aplicativos) e procure o nome correspondente
O usuário excluiu os 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 associados do aplicativo Microsoft Entra que representam o cluster HCI e os registros Arc possam ter sido excluídos acidentalmente. Para o funcionamento adequado dos 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á Desconectado - Cluster não conectado por mais de 8 horas. Observe os logs de depuração HCIsvc no nó: a mensagem de erro é Aplicativo com identificador '<ID>' não foi 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. Você pode ter enviado sua solicitação de autenticação para o locatário errado. - Se
<clustername>.arc
criado durante a ativação do Arc for excluído, não há erros visíveis durante a operação normal. Esta identidade é necessária apenas durante os processos de registo e cancelamento de registo. 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ó 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 para a nuvem.
Ação de reparaçã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 necessários do Microsoft Entra, mantendo outras informações, como nome do recurso, grupo de recursos e outras opções de registro.
Se o ID do
<clustername>.arc
aplicativo for excluído, não haverá nenhum 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 de política fora da política
Explicação do estado de falha:
Se um cluster registrado anteriormente estiver mostrando um status de OutOfPolicy, as alterações na configuração do sistema podem fazer com que o status de registro do Azure Stack HCI saia da política.
Por exemplo, as alterações do sistema podem incluir, mas não estão limitadas a:
- Desativar conflitos de definições de Arranque Seguro no nó registado.
- Limpar o Trusted Platform Module (TPM).
- Uma alteração significativa na hora do sistema.
Nota
O Azure Stack HCI 21H2 com KB5010421 e versões posteriores tentará se recuperar automaticamente do estado OutOfPolicy . Consulte o Log de Eventos Microsoft-AzureStack-HCI/Admin para obter mais informações sobre o status atual de OutOfPolicy e outras informações.
Que mensagens de ID de evento 'OutOfPolicy' eu poderia esperar ver durante o registro?
Existem três tipos de mensagens de identificação de evento: informativas, avisos e erros.
As mensagens a seguir foram atualizações 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 informativas de identificação de evento que ocorrem durante o registro. Analise e acompanhe 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, verifique quais nós são afetados - se todo o cluster estiver OutOfPolicy (execute Get-AzureStackHCI), execute Unregister-AzStackHCI no cluster, reinicie e execute Register-AzStackHCI. Se apenas este nó for afetado, remova-o do cluster, reinicie e aguarde a conclusão do reparo e, em seguida, junte-se novamente ao 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, revise a mensagem de ID do evento antes de executar qualquer etapa de solução de problemas.
(Atenção) 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."
Nota
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 ou o licenciamento do nó. Ou seja, ainda há uma licença instalada, a menos que o nó estivesse fora da janela de 30 dias antes do reparo automático.
Nota
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 está fora da política. Alguns passos manuais são necessários. Consulte as mensagens de ID do evento Microsoft-AzureStack-HCI/Admin .
ID do evento de erro
As 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 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, verifique quais nós são afetados - se todo o cluster estiver OutOfPolicy (executar
Get-AzureStackHCI
), executeUnregister-AzStackHCI
no cluster, reinicie e executeRegister-AzStackHCI
. Se apenas este nó for afetado, remova-o do cluster, reinicie, aguarde pela conclusão da reparação e, em seguida, volte a juntar-se 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 de falha:
Esse problema é causado pelo cancelamento do registro de um cluster HCI com o ambiente de nuvem errado 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 do cluster e do Arc no portal do Azure ainda existirão no ambiente ou na assinatura original.
Por exemplo:
Errado
-EnvironmentName <value>
: Você registrou seu cluster no-EnvironmentName AzureUSGovernment
exemplo a seguir. O padrão-EnvironmentName
é "Azurecloud". Por exemplo, você executou:Register-AzStackHCI -SubscriptionId "<subscription_ID>" -EnvironmentName AzureUSGovernment
Mas 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 com-SubscriptionId "<subscription_id_1>"
o seguinte:Register-AzStackHCI -SubscriptionId "<subscription_id_1>"
Mas você executou o
Unregister-AzStackHCI
cmdlet para uma ID de assinatura diferente:Unregister-AzStackHCI -SubscriptionId "<subscription_id_2>"
Ação de reparação:
- Exclua os recursos do cluster e do Arc do portal.
- Navegue até Registos da Aplicação Microsoft Entra ID > (Todas as aplicações) e procure o nome correspondente
<clusterName>
<clusterName>.arc
e, em seguida, elimine os dois IDs da aplicação.
A emissão de 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 do nó pode resultar no envio da sincronização para o Azure, que não inclui o nó. Isso resulta na remoção do recurso 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 reparação:
No portal do Azure, entre no nó que aparece como Não instalado.
Desconecte o agente Arc usando os dois comandos a seguir:
cd "C:\Program Files\AzureConnectedMachineAgent"
then …
.\azcmagent.exe disconnect --force-local-only
Repare o registo:
Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -RepairRegistration
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:
Ação de reparaçã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 ao executar o registro HCI do Azure Stack. Quando isso acontece, o Register-AzStackHCI
cmdlet mostra a seguinte mensagem de aviso:
Ação de reparação:
Aguarde 12 horas após o registo 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 está configurado corretamente para uma conexão com os serviços de nuvem do Azure ARC a partir de nós HCI. Você pode ver o seguinte erro nos logs do agente Arc:
Ação de reparação:
Para resolver esse problema, siga as diretrizes para atualizar as configurações de proxy. Em seguida, registre novamente o cluster HCI do Azure Stack.
Não é possível alternar certificados em Fairfax e Mooncake
Explicação do estado de falha:
- No portal do Azure, o recurso de cluster Conexão do Azure exibe Desconectado.
- Observe os logs de depuração HCIsvc no nó. A mensagem de erro é exceção: AADSTS700027: A asserção do cliente falhou na validação da assinatura.
- O erro também pode ser mostrado como RotateRegistrationCertificate failed: Invalid Audience.
Ação de reparaçã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, grupo de recursos e outras opções de registro.
OnPremisesPasswordValidationTimeSkew
Explicação do estado de falha:
A geração de token do Microsoft Entra 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 a máquina que executa o agente de autenticação e o AD. Corrija problemas de sincronização de tempo.
Ação de reparação:
Certifique-se de que o tempo está sincronizado com uma fonte de tempo conhecida e precisa.
Não é possível adquirir token para locatário com erro
Explicação do estado de falha:
Se a conta de usuário usada para o registro fizer parte de vários locatários do Microsoft Entra, você deverá especificar -TenantId
durante o registro do cluster e o cancelamento do registro, caso contrário, ele falhará com o erro Não é possível adquirir token para locatário com erro. Você deve usar a autenticação multifator para acessar o locatário. Execute Connect-AzAccount
novamente com o parâmetro -TenantId
adicional.
Ação de reparação:
Para o 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 acontece 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 conseguem se reconectar ao Azure devido aos certificados expirados.
Ação de reparação:
Entre no nó desconectado.
Execute o
Disable-AzureStackHCIArcIntegration
.Verifique o status da integração ARC executando
Get-AzureStackHCIArcIntegration
e certifique-se de que agora diz "Desativado" para o nó desconectado:Entre no portal do Azure e exclua o recurso do Azure Resource Manager que representa o servidor Arc para este nó.
Entre no nó desconectado novamente e execute
Enable-AzureStackHCIArcIntegration
.Execute
Sync-AzureStackHCI
no nó .
Falha de trabalho ao tentar criar 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 máquinas virtuais (VMs) 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 reparação:
Registre seu cluster HCI com o Azure. Para obter informações sobre como registrar o cluster, consulte as instruções na documentação Register-AzStackHCI.
Usar grupo de recursos comum para recursos de cluster e Arc-for-Server
O módulo PowerShell mais recente oferece suporte a ter um grupo de recursos comum para recursos de cluster e Arc-for-Server, ou usar qualquer grupo de recursos pré-existente para recursos do Arc-for-Server.
Para clusters registrados com o módulo PowerShell versão 1.4.1 ou anterior, você pode executar as seguintes etapas para usar o novo recurso:
- Cancele o registro do cluster executando
Unregister-AzStackHCI
a partir de um dos nós. Consulte Cancelar o registro do Azure Stack HCI usando o PowerShell. - Instale o módulo PowerShell mais recente:
Install-Module Az.StackHCI -Force
. - Execute
Register-AzStackHCI
passando os parâmetros apropriados para-ResourceGroupName
e-ArcForServerResourceGroupName
.
Nota
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 somente ao Azure Stack HCI. O provedor de recursos HCI do Azure Stack tem permissões para gerenciar quaisquer outros recursos do Arc-for-Server no ArcServerResourceGroup.