Compartilhar via


Solucionar problemas de provisionamento do BMM em um cluster nexus do Operador do Azure

Como parte de uma ação de implantação de cluster, as BMMs (máquinas bare-metal) são provisionadas com funções necessárias para participar do cluster. Este documento dá suporte à solução de problemas de provisionamento comuns usando a CLI do Azure, o portal do Azure e o controlador de gerenciamento de placa base do servidor (BMC). Para a plataforma Nexus do Operador do Azure, o hardware do servidor subjacente usa o controlador de acesso remoto integrado da Dell (iDRAC) como BMC. O provisionamento usa a interface do Preboot eXecution Environment (PXE) para carregar o Sistema Operacional no BMM.

Pré-requisitos

  1. Instale a última versão das extensões apropriadas da CLI.
  2. Colete as seguintes informações:
    • ID da assinatura (SUBSCRIPTION)
    • Nome do cluster (CLUSTER)
    • Grupo de recursos (CLUSTER_RG)
    • Grupo de recursos gerenciado (CLUSTER_MRG)
  3. Solicite acesso à assinatura para executar os comandos de extensão NF (Malha de Rede) do Operador Nexus do Azure e da CLI da nuvem de rede.
  4. Entre na CLI do Azure e selecione a assinatura em que o cluster está implantado.

Funções do BMM

Para uma versão específica, as funções são necessárias para gerenciar e operar o cluster do Kubernetes subjacente.

As funções a seguir são atribuídas aos recursos do BMM (confira a Referência de funções do BMM):

  • Plano de controle: o BMM responsável por executar os agentes do plano de controle do Kubernetes para o cluster.
  • Plano de gerenciamento: o BMM responsável pela execução dos agentes da plataforma, incluindo controladores e extensões.
  • Plano de computação: o BMM responsável por executar cargas de trabalho de locatário reais, incluindo clusters kubernetes e máquinas virtuais.

Listar o status do BMM

O comando a seguir lista todos os recursos bareMetalMachineName no grupo de recursos gerenciados com um status simples:

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

Name          ResourceGroup                  DetailedStatus    DetailedStatusMessage
------------  -----------------------------  ----------------  ---------------------------------------
BMM_NAME      CLUSTER_MRG                    STATUS            STATUS_MSG

O processo de STATUS passa pelas fases definidas na tabela a seguir no processo de provisionamento do BMM (consulte Status do BMM nos conceitos de computação do Nexus do Operador do Azure):

Fase Ações
Registering Verifica as credenciais de BMC/conectividade do BMC e adiciona o BMM ao serviço de provisionamento.
Preparing Reinicializa o BMM, redefine o BMC e verifica o estado de energia.
Inspecting Atualiza o firmware, aplica as configurações do BIOS e configura o armazenamento.
Available Indica que o BMM está pronto para instalar o sistema operacional.
Provisioning Indica que a imagem do sistema operacional está sendo instalada no BMM. Depois que o sistema operacional é instalado, o BMM tenta ingressar no cluster.
Provisioned Indica que o BMM foi provisionado com êxito e ingressado no cluster.
Deprovisioning Indica que o provisionamento do BMM falhou. O serviço de provisionamento limpa o recurso para repetição.
Failed Indica que o provisionamento do BMM falhou e a recuperação manual é necessária. Todas as tentativas estão esgotadas.

Durante qualquer fase, o status detalhado do BMM é definido como Failed. A fase será bloqueada se ocorrerem qualquer uma das seguintes interrupções:

  • O BMC não está disponível.
  • Uma porta de rede está inoperante.
  • Um componente de hardware falha.

Para obter um status mais detalhado do BMM:

az networkcloud baremetalmachine list -g $CLUSTER_MRG --query "sort_by([].{name:name,readyState:readyState,provisioningState:provisioningState,detailedStatus:detailedStatus,detailedStatusMessage:detailedStatusMessage,powerState:powerState,machineRoles:machineRoles| join(', ', @),createdAt:systemData.createdAt}, &name)" --output table

Name            ReadyState    ProvisioningState    DetailedStatus    DetailedStatusMessage                      PowerState    MachineRoles                                      CreatedAt
------------    ----------    -----------------    --------------    -----------------------------------------  ----------    ------------------------------------------------  -----------
BMM_NAME        RSTATE        PROV_STATE           STATUS            STATUS_MSG                                 POWER_STATE   BMM_ROLE                                          CREATE_DATE

A tabela a seguir lista onde a saída é definida.

Saída Definição
BMM_NAME Nome do BMM.
RSTATE Status de participação do cluster (True, False).
PROV_STATE Estado de provisionamento (Succeeded, Failed).
STATUS Status detalhado do provisionamento (Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,Deprovisioning,Failed).
STATUS_MSG Mensagem de status de provisionamento detalhada.
POWER_STATE Estado de energia do BMM (On, Off).
BMM_ROLE Função do cluster do BMM (control-plane, management-plane, compute-plane).
CREATE_DATE Data de criação do BMM.

Por exemplo:

x01dev01c01w01  True          Succeeded            Provisioned       The OS is provisioned to the machine       On            platform.afo-nc.microsoft.com/compute-plane=true  2024-05-03T15:12:48.0934793Z
x01dev01c01w01  False         Failed               Preparing         Preparing for provisioning of the machine  Off           platform.afo-nc.microsoft.com/compute-plane=true  2024-05-03T15:12:48.0934793Z

Detalhes do BMM

Para mostrar detalhes e o status de um único BMM:

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME

Para obter os detalhes do BMM específicos para a solução de problemas:

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME --query "{name:name,BootMAC:bootMacAddress,BMCMAC:bmcMacAddress,Connect:bmcConnectionString,SN:serialNumber,rackId:rackId,RackSlot:rackSlot}" -o table

Solução de problemas dos estados de provisionamento com falha

As seguintes condições podem causar falhas de provisionamento:

Tipo de erro Resolução
O BMC mostra um erro crítico Backplane Comm. 1. Execute o dreno de pulgas remota do BMM.
2. Execute a drenagem de carga residual física do BMM.
3. Execute a ação do BMM replace.
Resposta de dados de rede da inicialização (PXE) vazia do BMC. 1. Redefinir a porta no dispositivo fabric.
2. Execute o dreno de pulgas remota do BMM.
3. Execute a drenagem de carga residual física do BMM.
4. Execute a ação do BMM replace.
Incompatibilidade de endereço MAC na inicialização (PXE). 1. Validar os dados de endereço MAC do BMM com relação aos dados do BMC.
2. Execute o dreno de pulgas remota do BMM.
3. Execute a drenagem de carga residual física do BMM.
4. Execute a ação do BMM replace.
Incompatibilidade do endereço MAC do BMC. 1. Validar os dados de endereço MAC do BMM com relação aos dados do BMC.
2. Execute o dreno de pulgas remota do BMM.
3. Execute a drenagem de carga residual física do BMM.
4. Execute a ação do BMM replace.
Resposta de dados de disco vazia do BMC. 1. Remova ou substitua o disco.
2. Remova ou substitua o controlador de armazenamento.
3. Execute o dreno de pulgas remota do BMM.
4. Execute a drenagem de carga residual física do BMM.
5. Execute a ação do BMM replace.
BMC inacessível. 1. Redefinir a porta no dispositivo fabric.
2. Remova ou substitua o cabo.
3. Execute o dreno de pulgas remota do BMM.
4. Execute a drenagem de carga residual física do BMM.
5. Execute a ação do BMM replace.
Falha na entrada do BMC. 1. Atualize as credenciais no BMC.
2. Execute a ação do BMM replace.
Memória, CPU, erros críticos do fabricante do equipamento original (OEM) no BMC. 1. Resolva o problema de hardware com a remoção ou substituição.
2. Execute o dreno de pulgas remota do BMM.
3. Execute a drenagem de carga residual física do BMM.
4. Execute a ação do BMM replace.
Console travado no menu do carregador da inicialização (GRUB). 1. Execute a redefinição de NVRAM.
2. Execute a ação do BMM replace.

Log de atividades do BMM do Azure

  1. Entre no portal do Azure.
  2. Pesquise o nome do BMM na caixa de Pesquisa superior.
  3. Selecione o nome da Máquina Bare Metal (Operador Nexus) nos resultados da pesquisa.
  4. No menu de serviço, selecione Log de atividades.
  5. Verifique se o valor de Timespan abrange o período de provisionamento.
  6. Expanda a operação BareMetalMachines_Update e selecione qualquer um que mostre o status Failed.
  7. Selecione a guia JSON para obter a mensagem de status detalhada.

Procure falhas relacionadas a credenciais inválidas ou se o BMC não estiver disponível.

Determinar o endereço IPv4 do BMC

O endereço IPv4 do BMC (BMC_IP) está no valor Connect retornado da seção anterior "Detalhes do BMM".

Validar o endereço MAC do BMM em relação aos dados do BMC

Para obter as informações do endereço MAC do BMM:

az networkcloud baremetalmachine show -g $CLUSTER_MRG -n $BMM_NAME --query "{name:name,BootMAC:bootMacAddress,BMCMAC:bmcMacAddress,SN:serialNumber,rackId:rackId,RackSlot:rackSlot}" -o table

Verifique os dados do endereço MAC no BMC por meio da interface do usuário da Web:

  • BMC>Dashboard: mostra o endereço MAC do BMC.
  • BMC>System Info>Network>Embedded.1-1-1: mostra o endereço MAC de inicialização.

Verifique se o endereço MAC está usando racadm de um jumpbox que tem acesso à rede BMC:

racadm --nocertwarn -r $IP -u $BMC_USR -p $BMC_PWD getsysinfo | grep "MAC Address "        #BMC MAC
racadm --nocertwarn -r $IP -u $BMC_USR -p $BMC_PWD getsysinfo | grep "NIC.Embedded.1-1-1"  #Boot MAC

Se o endereço MAC fornecido para o cluster estiver incorreto, use a ação replace do BMM em ações do BMM para corrigir os endereços.

Teste de ping da conectividade do BMC

Tente executar o comando ping no endereço IPv4 do BMC:

  1. Obtenha o endereço IPv4 (BMC_IP) da seção anterior "Determinar o endereço IPv4 do BMC".

  2. Teste ping para o BMC:

    Para testar a partir de um servidor de salto que tenha acesso à rede do BMC:

    ping $BMC_IP -c 3
    

    Para testar em um host de plano de controle do BMM usando a CLI do Azure:

    az networkcloud baremetalmachine run-read-command -g $CLUSTER_MRG -n $BMM_NAME --limit-time-seconds 60 --commands "[{command:'ping',arguments:['$BMC_IP',-c,3]}]"
    

Redefinir a porta em um dispositivo de malha

Se BMC_IP não for responsivo, uma redefinição da porta do dispositivo de malha repetirá a configuração automática na porta e poderá colocá-la novamente online.

Para localizar a porta de Network Fabric a partir do Azure:

  1. Obtenha os valores de RackID e RackSlot da seção anterior "Detalhes do BMM".

  2. No portal do Azure, faça uma busca detalhada na ID do rack de rede do BMM.

  3. Selecione a guia Dispositivos de Rede e, em seguida, selecione a opção de gerenciamento (Mgmt) para o rack.

  4. Em Recursos, selecione Interfaces de Rede. Em seguida, selecione a interface BMC (iDRAC) ou inicialização (PXE) para a porta que requer uma redefinição.

    Colete as seguintes informações:

    • Grupo de recursos da malha de rede (NF_RG)
    • Nome do dispositivo (NF_DEVICE_NAME)
    • Nome da interface (NF_DEVICE_INTERFACE_NAME)
  5. Redefina a porta:

    Para redefinir a porta usando a CLI do Azure:

    az networkfabric interface update-admin-state -g $NF_RG --network-device-name $NF_DEVICE_NAME --resource-name $NF_DEVICE_INTERFACE_NAME --state Disable
    az networkfabric interface update-admin-state -g $NF_RG --network-device-name $NF_DEVICE_NAME --resource-name $NF_DEVICE_INTERFACE_NAME --state Enable
    

Drenagem de energia remota do BMM (drenagem de carga residual)

Para executar um dreno de pulgas remoto no BMM por meio da interface do usuário do BMC:

  1. Selecione BMC>Configurações>Configuração da BIOS>Configurações diversas.

  2. Em Solicitação do Ciclo de Energia, selecione Ciclo de Energia Completo. Em seguida, selecione Aplicar e reinicializar.

Execute um dreno de pulgas remoto usando racadm de um jumpbox que tenha acesso à rede BMC:

racadm set bios.miscsettings.powercyclerequest FullPowerCycle
racadm jobqueue create BIOS.Setup.1-1
racadm serveraction powercycle

Drenagem de energia física do BMM (drenagem de carga residual)

Para uma drenagem de carga residual física, o estabelecimento local se encarrega de desconectar fisicamente os cabos elétricos dos dois adaptadores de energia por 5 minutos e, em seguida, restaura a energia. Esse processo garante que o servidor, os capacitores e todos os componentes tenham a remoção completa da energia e que todos os dados armazenados em cache sejam limpos.

Redefinir a NVRAM

Se o provisionamento falhou devido a um erro de OEM ou hardware, a sequência de inicialização poderá ser bloqueada na NVRAM do PXE boot em vez de mostrar hdd ou hard drive listados em primeiro lugar na ordem de inicialização.

Essa condição costuma mostrar o BMM no estágio do carregador de inicialização no console e é bloqueada sem a intervenção manual do pressionamento de teclas.

Para redefinir a NVRAM, use a seguinte sequência na interface do usuário do BMC:

  1. Selecione Manutenção>Diagnóstico>Redefinir iDrac para Padrões de Fábrica.

  2. Selecione Descartar Todas as Configurações, mas preservar as configurações de usuário e rede e selecione Aplicar e reinicializar.

Redefinir a senha do BMC

Se o log de atividades indicar credenciais inválidas no BMC, execute o seguinte comando em um servidor de salto que tenha acesso à rede do BMC:

racadm -r $BMC_IP -u $BMC_USER -p $CURRENT_PASSWORD  set iDRAC.Users.2.Password $BMC_PWD

Adicionar os servidores novamente ao cluster após um conserto

Depois que o hardware for corrigido, execute a ação replace do BMM seguindo as instruções em Gerenciar o ciclo de vida de máquinas bare-metal.