Partager via


Résoudre les problèmes d’approvisionnement de BMM dans un cluster Azure Operator Nexus

Dans le cadre d’une action de déploiement de cluster, les machines nues (BMM) sont approvisionnées avec des rôles qui sont obligatoires pour participer au cluster. Ce document prend en charge la résolution des problèmes d’approvisionnement courants à l’aide de l’interface de ligne de commande Azure, du portail Azure et du contrôleur de gestion de la carte de base (BMC) du serveur. Pour la plateforme Azure Operator Nexus, le matériel serveur sous-jacent utilise le contrôleur d’accès à distance Dell intégré (iDRAC) en tant que contrôleur BMC. L’approvisionnement utilise l’interface d’environnement PXE (Preboot eXecution Environment) pour charger le système d’exploitation (OS) sur la BMM.

Prérequis

  1. Installez la dernière version des extensions Azure CLI appropriées.
  2. Collectez les informations suivantes :
    • ID d’abonnement (SUBSCRIPTION)
    • Nom du cluster (CLUSTER)
    • Groupe de ressources (CLUSTER_RG)
    • Groupe de ressources managées (CLUSTER_MRG)
  3. Demandez un accès à l’abonnement pour exécuter les commandes d’extension CLI de la structure réseau (NF) et du cloud réseau Azure Operator Nexus.
  4. Connectez-vous à l’interface de ligne de commande Azure et sélectionnez l’abonnement où le cluster est déployé.

Rôles BMM

Pour une version spécifique, des rôles sont obligatoires pour gérer et exécuter le cluster Kubernetes sous-jacent.

Les rôles suivants sont attribués aux ressources de la BMM (consultez Référence des rôles BMM) :

  • Plan de contrôle : BMM responsable de l’exécution des agents du plan de contrôle Kubernetes du cluster.
  • Plan de gestion : BMM responsable de l’exécution des agents de plateforme, notamment les contrôleurs et les extensions.
  • Plan de calcul : BMM responsable de l’exécution des charges de travail réelles des locataires, notamment des clusters Kubernetes et des machines virtuelles.

Lister l’état de la BMM

La commande suivante liste toutes les ressources bareMetalMachineName du groupe de ressources managées avec un état simple :

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

Le processus STATUS passe par les phases définies dans le tableau suivant tout au long du processus d’approvisionnement de la BMM (consultez État d’une BMM dans les concepts de calcul Azure Operator Nexus) :

Phase Actions
Registering Vérifie la connectivité du contrôleur BMC/les informations d’identification du contrôleur BMC et ajoute la BMM au service d’approvisionnement.
Preparing Redémarre la BMM, réinitialise le contrôleur BMC et vérifie l’état de l’alimentation.
Inspecting Met à jour le microprogramme, applique les paramètres BIOS et configure le stockage.
Available Indique que la BMM est prête à installer le système d’exploitation.
Provisioning Indique que l’image du système d’exploitation est installée sur la BMM. Une fois le système d’exploitation installé, la BMM tente de rejoindre le cluster.
Provisioned Indique que la BMM est correctement approvisionnée et jointe au cluster.
Deprovisioning Indique que l’approvisionnement de la BMM a échoué. Le service d’approvisionnement nettoie la ressource pour une nouvelle tentative.
Failed Indique que l’approvisionnement de la BMM a échoué et qu’une récupération manuelle est nécessaire. Toutes les nouvelles tentatives sont épuisées.

Pendant n’importe quelle phase, l’état détaillé de la BMM est défini sur Failed. La phase est bloquée si l’une des perturbations suivantes se produit :

  • Le contrôleur BMC est indisponible.
  • Le port réseau est hors service.
  • Un composant matériel est défaillant.

Pour obtenir un état plus détaillé de la 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

Le tableau suivant indique où est définie la sortie.

Sortie Définition
BMM_NAME Nom de la BMM.
RSTATE État de participation au cluster (True,False).
PROV_STATE État d’approvisionnement (Succeeded,Failed).
STATUS État détaillé de l’approvisionnement (Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,Deprovisioning,Failed).
STATUS_MSG Message détaillé sur l’état d’approvisionnement.
POWER_STATE État d’alimentation de la BMM (On,Off).
BMM_ROLE Rôle de la BMM dans le cluster (control-plane,management-plane,compute-plane).
CREATE_DATE Date de création de la BMM.

Par exemple :

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

Détails de la BMM

Pour afficher les détails et l’état d’une seule BMM :

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

Pour obtenir des détails spécifiques à la résolution des problèmes de la BMM :

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

Résolution des problèmes liés à un état d’approvisionnement en échec

Les conditions suivantes peuvent entraîner des échecs d’approvisionnement.

Type d’erreur Résolution
BMC affiche l’erreur critique Backplane Comm. 1. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
2. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
3. Exécutez l’action replace de la BMM.
Aucune réponse aux données réseau à partir du contrôleur BMC durant le démarrage (PXE). 1. Réinitialisez le port sur l’appareil de structure.
2. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
3. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
4. Exécutez l’action replace de la BMM.
Incompatibilité d’adresses MAC durant le démarrage (PXE). 1. Validez les données d’adresse MAC de la BMM par rapport aux données du contrôleur BMC.
2. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
3. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
4. Exécutez l’action replace de la BMM.
Incompatibilité d’adresse MAC du contrôleur BMC. 1. Validez les données d’adresse MAC de la BMM par rapport aux données du contrôleur BMC.
2. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
3. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
4. Exécutez l’action replace de la BMM.
Réponse aux données de disque vide en provenance du contrôleur BMC. 1. Retirez ou remplacez le disque.
2. Retirez ou remplacez le contrôleur de stockage.
3. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
4. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
5. Exécutez l’action replace de la BMM.
BMC inaccessible. 1. Réinitialisez le port sur l’appareil de structure.
2. Retirez ou remplacez le câble.
3. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
4. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
5. Exécutez l’action replace de la BMM.
La connexion du BMC échoue. 1. Mettez à jour les informations d’identification sur le contrôleur BMC.
2. Exécutez l’action replace de la BMM.
Erreurs critiques liées à la mémoire, au processeur et à l’OEM sur le contrôleur BMC. 1. Résolvez le problème matériel par un retrait/remplacement.
2. Exécutez un vidage à distance de l’électricité résiduelle de la BMM.
3. Effectuez un vidage physique de l’électricité résiduelle de la BMM.
4. Exécutez l’action replace de la BMM.
Console bloquée au niveau du menu du chargeur de démarrage (GRUB). 1. Exécutez une réinitialisation de la NVRAM.
2. Exécutez l’action replace de la BMM.

Journal d’activité de BMM Azure

  1. Connectez-vous au portail Azure.
  2. Recherchez le nom de la BMM dans la zone de Recherche située en haut.
  3. Sélectionnez le nom de la Machine nue (Opérateur Nexus) dans les résultats de la recherche.
  4. Dans le menu du service, sélectionnez Journal d'activité.
  5. Vérifiez que la valeur Timespan englobe la période d’approvisionnement.
  6. Développez l’opération BareMetalMachines_Update, puis sélectionnez les BMM qui présentent un état Failed.
  7. Sélectionnez l’onglet JSON pour obtenir le message d’état détaillé.

Recherchez les échecs liés à des informations d’identification non valides ou regardez si le contrôleur BMC est indisponible.

Déterminer l’adresse IPv4 du contrôleur BMC

L’adresse IPv4 du contrôleur BMC (BMC_IP) se trouve dans la valeur Connect retournée dans la section « Détails de la BMM » précédente.

Valider l’adresse MAC de la BMM en fonction des données du contrôleur BMC

Pour obtenir les informations d’adresse MAC de la 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

Vérifiez les données d’adresse MAC du contrôleur BMC via l’interface utilisateur web :

  • BMC>Dashboard : affiche l’adresse MAC du contrôleur BMC.
  • BMC>System Info>Network>Embedded.1-1-1 : affiche l’adresse MAC de démarrage.

Vérifiez que l’adresse MAC utilise racadm d’une jumpbox ayant accès au réseau du contrôleur 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 l’adresse MAC fournie au cluster est incorrecte, utilisez l’action de BMM replace décrite dans Actions de BMM pour corriger les adresses.

Effectuer un test ping de la connectivité du contrôleur BMC

Tentez d’exécuter la commande ping sur l’adresse IPv4 du contrôleur BMC :

  1. Récupérez l’adresse IPv4 (BMC_IP) dans la section précédente « Déterminer l’adresse IPv4 du contrôleur BMC ».

  2. Testez le ping au contrôleur BMC :

    Pour effectuer un test à partir d’un serveur de rebond (jumpbox) ayant accès au réseau du contrôleur BMC :

    ping $BMC_IP -c 3
    

    Pour effectuer un test à partir d’un hôte de plan de contrôle d’une BMM à l’aide de l’interface de ligne de commande 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]}]"
    

Réinitialiser le port sur un appareil de structure

Si BMC_IP ne répond pas, une réinitialisation du port de l’appareil de structure déclenche à nouveau une négociation automatique sur le port et peut le remettre en ligne.

Pour rechercher le port Network Fabric à partir d’Azure :

  1. Récupérez les valeurs RackID et RackSlot dans la section «Détails de la BMM » précédente.

  2. Dans le portail Azure, descendre dans la hiérarchie vers l’ID de rack du Rack réseau de la BMM.

  3. Sélectionnez l’onglet Périphériques réseau, puis le commutateur de gestion (Mgmt) du rack.

  4. Sous Ressources, sélectionnez Interfaces réseau. Puis sélectionnez le contrôleur BMC (iDRAC) ou l’interface de démarrage (PXE) du port qui nécessite une réinitialisation.

    Collectez les informations suivantes :

    • Groupe de ressources de structure réseau (NF_RG)
    • Nom de l’appareil (NF_DEVICE_NAME)
    • Nom de l'interface (NF_DEVICE_INTERFACE_NAME)
  5. Réinitialisez le port :

    Pour réinitialiser le port à l’aide de l’interface de ligne de commande 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
    

Réinitialisation électrique à distance de la BMM (vidage de l’électricité résiduelle)

Pour effectuer un vidage à distance de l’électricité résiduelle de la BMM via l’interface utilisateur du contrôleur BMC :

  1. Sélectionnez BMC>Configuration>Paramètres BIOS>Paramètres divers.

  2. Sous Demande de cycle d’alimentation, sélectionnez Cycle d’alimentation complet. Puis sélectionnez Appliquer et redémarrer.

Effectuez un vidage à distance de l’électricité résiduelle en utilisant racadm à partir d’une jumpbox ayant accès au réseau du contrôleur BMC :

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

Réinitialisation électrique physique de la BMM (vidage de l’électricité résiduelle)

Pour effectuer un vidage physique de l’électricité résiduelle, le personnel présent sur le site local déconnecte physiquement les câbles d’alimentation des deux adaptateurs d’alimentation pendant cinq minutes, puis rétablit l’alimentation. Ce processus garantit que le serveur, les condensateurs et tous les composants sont complètement mis hors tension, et que toutes les données en cache sont effacées.

Réinitialiser la NVRAM

Si l’approvisionnement a échoué à cause d’une erreur OEM ou matérielle, la séquence de démarrage peut être verrouillée dans la NVRAM sur PXE boot au lieu d’afficher hdd ou hard drive en premier dans l’ordre de démarrage.

Cette situation montre généralement la BMM à l’étape du chargeur de démarrage sur la console, et est bloquée en l’absence d’intervention manuelle via une frappe au clavier.

Pour réinitialiser la NVRAM, utilisez la séquence suivante dans l’interface utilisateur du contrôleur BMC :

  1. Sélectionnez Maintenance>Diagnostics>Réinitialiser l’iDrac sur les paramètres d’usine par défaut.

  2. Sélectionnez Ignorer tous les paramètres, mais conservez les paramètres utilisateur et réseau, puis Appliquer et redémarrer.

Réinitialiser le mot de passe du contrôleur BMC

Si le journal d’activité indique des informations d’identification non valides sur le contrôleur BMC, exécutez la commande suivante à partir d’un serveur de rebond (jumpbox) ayant accès au réseau du contrôleur BMC :

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

Réintégrer des serveurs dans le cluster après une réparation

Une fois le matériel résolu, exécutez l’action replace de BMM en suivant les instructions contenues dans Gérer le cycle de vie des machines nues.