Compartir a través de


Solución de problemas de aprovisionamiento de BMM en el clúster de Azure Operator Nexus

Como parte de la acción de implementación del clúster, las máquinas sin sistema operativo (BMM) se aprovisionan con los roles necesarios para participar en el clúster. Este documento le ayuda a solucionar problemas comunes de aprovisionamiento usando la CLI de Azure, Azure Portal y el controlador de administración de placa base (BMC) del servidor. Para la plataforma de Azure Operator Nexus, el hardware del servidor subyacente utiliza el controlador de acceso remoto integrado de Dell (iDRAC) como BMC. El aprovisionamiento usa la interfaz del entorno de ejecución previo al arranque (PXE) para cargar el sistema operativo (SO) en la BMM.

Requisitos previos

  1. Instale la versión más reciente de las extensiones de la CLI adecuadas.
  2. Recopile la siguiente información:
    • Identificador de suscripción (SUBSCRIPTION)
    • Nombre del clúster (CLUSTER)
    • Grupo de recursos (CLUSTER_RG)
    • Grupo de recursos administrado (CLUSTER_MRG)
  3. Solicite acceso a la suscripción para ejecutar comandos de extensión de la CLI de tejido de red (NF) y nube de red de Azure Operator Nexus.
  4. Inicie sesión en la CLI de Azure y seleccione la suscripción en la que se implementa el clúster.

Roles de BMM

Para una versión específica, se requieren roles para administrar y operar el clúster de Kubernetes subyacente.

Los siguientes roles se asignan a los recursos de BMM (consulte Referencia de roles de BMM):

  • Plano de control: BMM responsable de ejecutar los agentes del plano de control de Kubernetes para el clúster.
  • Plano de administración: BMM responsable de ejecutar los agentes de plataforma, incluidos controladores y extensiones.
  • Plano de proceso: BMM responsable de ejecutar cargas de trabajo de inquilino reales, incluidos los clústeres de Kubernetes y las máquinas virtuales.

Enumerar el estado de BMM

El siguiente comando enumera todos los recursos de bareMetalMachineName del grupo de recursos administrados con un estado sencillo:

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

El proceso de STATUS pasa por las fases definidas en la tabla siguiente del proceso de aprovisionamiento de BMM (consulte Estado de BMM en conceptos de proceso de Azure Operator Nexus):

Fase Acciones
Registering Verifica la conectividad de BMC o sus credenciales y agrega el BMM al servicio de aprovisionamiento.
Preparing Reinicia el BMM, restablece el BMC y comprueba el estado de energía.
Inspecting Actualiza el firmware, aplica la configuración del BIOS y configura el almacenamiento.
Available Indica que BMM está listo para instalar el sistema operativo.
Provisioning Indica que la imagen del sistema operativo se está instalando en BMM. Una vez instalado el sistema operativo, BMM intenta unir el clúster.
Provisioned Indica que el BMM se ha aprovisionado correctamente y se ha unido al clúster.
Deprovisioning Indica que se produjo un error en el aprovisionamiento de BMM. El servicio de aprovisionamiento limpia el recurso para reintentar.
Failed Indica que se ha producido un error en el aprovisionamiento de BMM y se requiere recuperación manual. Todos los reintentos se agotan.

Durante cualquier fase, el estado detallado de BMM se establece en Failed. La fase se bloquea si se produce alguna de las siguientes interrupciones:

  • El BMC no está disponible.
  • Un puerto de red está inactivo.
  • Se produce un error en un componente de hardware.

Para obtener un estado más detallado de 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

En la tabla siguiente se muestra dónde se define la salida.

Resultados Definición
BMM_NAME Nombre de BMM.
RSTATE Estado de participación del clúster (True,False).
PROV_STATE Estado de aprovisionamiento (Succeeded,Failed).
STATUS Estado detallado del aprovisionamiento (Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,Deprovisioning,Failed).
STATUS_MSG Mensaje de estado de aprovisionamiento detallado.
POWER_STATE Estado de energía de BMM (On,Off).
BMM_ROLE Rol de clúster de BMM (control-plane,management-plane,compute-plane).
CREATE_DATE Fecha de creación de BMM.

Por ejemplo:

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

Detalles de BMM

Para mostrar los detalles y el estado de un único BMM:

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

Para obtener detalles de BMM específicos de la solución 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

Solución de problemas de estados de aprovisionamiento con errores

Las condiciones siguientes pueden provocar errores de aprovisionamiento.

Tipo de error Solución
El BMC muestra el error crítico Backplane Comm. 1. Ejecute la purga remota de BMM.
2. Realice la purga física de BMM.
3. Ejecute la acción replace de BMM.
Respuesta de datos de red de arranque (entorno PXE) vacía de BMC. 1. Restablezca el puerto en el dispositivo de tejido.
2. Ejecute la purga remota de BMM.
3. Realice la purga física de BMM.
4. Ejecute la acción replace de BMM.
Error de coincidencia de direcciones MAC de arranque (entorno PXE). 1. Valide los datos de dirección MAC de BMM con los datos de BMC.
2. Ejecute la purga remota de BMM.
3. Realice la purga física de BMM.
4. Ejecute la acción replace de BMM.
Error de coincidencia de direcciones MAC de BMC. 1. Valide los datos de dirección MAC de BMM con los datos de BMC.
2. Ejecute la purga remota de BMM.
3. Realice la purga física de BMM.
4. Ejecute la acción replace de BMM.
Respuesta de datos de disco vacía de BMC. 1. Quite o reemplace el disco.
2. Quite o reemplace el controlador de almacenamiento.
3. Ejecute la purga remota de BMM.
4. Realice la purga física de BMM.
5. Ejecute la acción replace de BMM.
BMC inaccesible. 1. Restablezca el puerto en el dispositivo de tejido.
2. Quite o reemplace el cable.
3. Ejecute la purga remota de BMM.
4. Realice la purga física de BMM.
5. Ejecute la acción replace de BMM.
BMC produce un error en el inicio de sesión. 1. Actualice las credenciales en BMC.
2. Ejecute la acción replace de BMM.
Errores críticos de memoria, CPU y OEM en BMC. 1. Resuelva el problema de hardware mediante la eliminación o el reemplazo.
2. Ejecute la purga remota de BMM.
3. Realice la purga física de BMM.
4. Ejecute la acción replace de BMM.
Consola bloqueada en el menú del cargador de arranque (GRUB). 1. Ejecute el restablecimiento de NVRAM.
2. Ejecute la acción replace de BMM.

Registro de actividad de Azure BMM

  1. Inicie sesión en Azure Portal.
  2. Busque el nombre de BMM en el cuadro de Búsqueda superior.
  3. Seleccione el nombre de la Máquina sin sistema operativo (Operator Nexus) entre los resultados de la búsqueda.
  4. En el menú servicio, seleccione Registro de actividad.
  5. Asegúrese de que el valor de Intervalo de tiempo abarca el período de aprovisionamiento.
  6. Expanda la operación BareMetalMachines_Update y seleccione cualquier BMM que muestre un estado Failed.
  7. Seleccione la pestaña JSON para obtener el mensaje de estado detallado.

Busque errores relacionados con credenciales no válidas o si BMC no está disponible.

Determinación de la dirección IPv4 de BMC

La dirección IPv4 del BMC (BMC_IP) está en el valor Connect devuelto de la sección anterior "Detalles de BMM".

Validación de la dirección MAC del BMM con datos de BMC

Para obtener la información de dirección MAC de 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

Compruebe los datos de dirección MAC en el BMC a través de la interfaz de usuario web:

  • BMC>Dashboard: muestra la dirección MAC de BMC.
  • BMC>System Info>Network>Embedded.1-1-1: muestra la dirección MAC de arranque.

Verifique la dirección MAC usando racadm desde un jumpbox que tenga acceso a la red de 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

Si la dirección MAC proporcionada al clúster es incorrecta, use la acción de BMM replace en Acciones de BMM para corregir las direcciones.

Prueba de ping de conectividad desde BMC

Intente ejecutar el comando ping en la dirección IPv4 de BMC:

  1. Obtenga la dirección IPv4 (BMC_IP) de la sección anterior "Determine la dirección IPv4 de BMC".

  2. Pruebe ping al BMC:

    Para probar desde un jumpbox que tenga acceso a la red de BMC:

    ping $BMC_IP -c 3
    

    Para probar desde un host de plano de control de BMM mediante la CLI de 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]}]"
    

Restablecimiento del puerto en un dispositivo de tejido

Si BMC_IP no responde, un restablecimiento del puerto del dispositivo de tejido vuelve a activar la negociación automática en el puerto y puede hacer que vuelva a estar en línea.

Para buscar el puerto de Network Fabric desde Azure:

  1. Obtenga los valores RackID y RackSlot de la sección anterior "Detalles de BMM".

  2. En Azure Portal, explore en profundidad el identificador del Bastidor de red para BMM.

  3. Seleccione la pestaña Dispositivos de red y, a continuación, seleccione el modificador de administración (Mgmt) del bastidor.

  4. En Recursos, seleccione Interfaces de red. A continuación, seleccione la interfaz de BMC (iDRAC) o de arranque (PXE) para el puerto que requiere un restablecimiento.

    Recopile la información siguiente:

    • Grupo de recursos de tejido de red (NF_RG)
    • Nombre del dispositivo (NF_DEVICE_NAME)
    • Nombre de interfaz (NF_DEVICE_INTERFACE_NAME)
  5. Restablezca el puerto:

    Para restablecer el puerto mediante la CLI de 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
    

Purga de alimentación remota de BMM

Para realizar una purga remota en la BMM a través de la interfaz de usuario del BMC:

  1. Seleccione BMC>Configuración>Configuración de BIOS>Configuración miscelánea.

  2. En Solicitud de ciclo de energía, seleccione Ciclo de energía completo. A continuación, seleccione Aplicar y reiniciar.

Realice una purga remota usando racadm desde un jumpbox que tenga acceso a la red del BMC:

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

Purga de energía física de BMM

Para una purga física, el personal del sitio local desconectará físicamente los cables de alimentación de ambos adaptadores de corriente durante cinco minutos y después restablecerá la alimentación. Este proceso garantiza que el servidor, los condensadores y todos los componentes tengan una eliminación completa de la energía y que se borren todos los datos almacenados en caché.

Restablecimiento de NVRAM

Si el aprovisionamiento falló debido a un error de OEM o el hardware, la secuencia de arranque puede estar bloqueada en la NVRAM en PXE boot en lugar de mostrar hdd o hard drive en primer lugar en el orden de arranque.

Esta condición suele mostrar la BMM en la fase del cargador de arranque en la consola y se bloquea sin intervención manual del teclado.

Para reiniciar la NVRAM, use la siguiente secuencia en la interfaz de usuario del BMC:

  1. Seleccione Mantenimiento>Diagnósticos>Restablecer iDrac a valores predeterminados de fábrica.

  2. Seleccione Descartar toda la configuración, pero conservar la configuración de usuario y red y, a continuación, seleccione Aplicar y reiniciar.

Restablecimiento de la contraseña de BMC

Si el registro de actividad indica credenciales no válidas en el BMC, ejecute el siguiente comando desde un jumpbox que tenga acceso a la red del BMC:

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

Volver a agregar servidores al clúster después de una reparación

Una vez corregido el hardware, ejecute la acción replace de BMM siguiendo las instrucciones de Administrar el ciclo de vida de las máquinas sin sistema operativo.