Freigeben über


Problembehandlung bei der BMM-Bereitstellung in einem Azure Operator Nexus-Cluster

Bei einer Clusterbereitstellung werden Bare-Metal-Computer (Bare Metal Machine, BMM) mit den erforderlichen Rollen bereitgestellt, um dem Cluster anzugehören. Dieses Dokument unterstützt die Problembehandlung für häufige bei der Bereitstellung auftretende Probleme mithilfe der Azure CLI, des Azure-Portals und des Baseboard-Verwaltungscontrollers für Server (Baseboard Management Controller, BMC). Die zugrunde liegende Serverhardware verwendet für die Azure Operator Nexus-Plattform den integrierten Dell-Remotezugriffscontroller (integrated Dell Remote Access Controller, iDRAC) als BMC. Die Bereitstellung verwendet die PXE-Schnittstelle (Pre-Boot eXecution Environment), um das Betriebssystem auf dem BMM zu laden.

Voraussetzungen

  1. Installieren Sie die neueste Version der passenden Azure CLI-Erweiterung.
  2. Stellen Sie die folgenden Informationen zusammen:
    • Abonnement-ID (SUBSCRIPTION)
    • Clustername (CLUSTER)
    • Ressourcengruppe (CLUSTER_RG)
    • Verwaltete Ressourcengruppe (CLUSTER_MRG)
  3. Fordern Sie den Zugriff auf das Abonnement an, um die CLI-Erweiterungsbefehle für Azure Operator Nexus Network Fabric (NF) und Network Cloud auszuführen.
  4. Melden Sie sich bei der Azure CLI an, und wählen Sie das Abonnement aus, in dem der Cluster bereitgestellt wird.

BMM-Rollen

Für eine bestimmte Version sind zum Verwalten und Ausführen des zugrunde liegenden Kubernetes-Clusters Rollen erforderlich.

Die folgenden Rollen werden BMM-Ressourcen zugewiesen (weitere Informationen finden Sie in der BMM-Rollenreferenz):

  • Steuerungsebene: Die BMM, die für die Ausführung der Kubernetes-Agents auf Steuerungsebene für das Cluster verantwortlich ist
  • Verwaltungsebene: Die BMM, die für die Ausführung der Plattform-Agents einschließlich Controllern und Erweiterungen verantwortlich ist
  • Computeebene: Die BMM, die für die Ausführung der tatsächlichen Mandantenworkloads einschließlich Kubernetes-Clustern und VMs verantwortlich ist

Auflisten des BMM-Status

Der folgende Befehl listet alle bareMetalMachineName-Ressourcen in der verwalteten Ressourcengruppe mit einfachem Status auf:

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

Der Prozess STATUS durchläuft die Phasen, die in der folgenden Tabelle im BMM-Bereitstellungsprozess definiert sind (weitere Informationen unter BMM-Status in den Azure Operator Nexus-Computekonzepten):

Phase Aktionen
Registering Überprüf die BMC-Konnektivität/BMC-Anmeldeinformationen und fügt BMM zum Bereitstellungsdienst hinzu
Preparing Startet die BMM neu, setzt die BMC zurück und überprüft den Energiezustand.
Inspecting Aktualisiert Firmware, wendet BIOS-Einstellungen an und konfiguriert Speicher.
Available Gibt an, dass die BMM zum Installieren des Betriebssystems bereit ist.
Provisioning Gibt an, dass das Betriebssystemimage auf der BMM installiert wird. Nach der Installation des Betriebssystems versucht die BMM, dem Cluster beizutreten.
Provisioned Gibt an, dass die BMM erfolgreich bereitgestellt und mit dem Cluster verknüpft ist.
Deprovisioning Gibt an, dass bei der BMM-Bereitstellung ein Fehler aufgetreten ist. Der Bereitstellungsdienst bereinigt die Ressourcen für Wiederholungsversuche.
Failed Gibt an, dass bei der BMM-Bereitstellung ein Fehler aufgetreten ist, und eine manuelle Wiederherstellung erforderlich ist. Alle Wiederholungen sind ausgeschöpft.

In jeder Phase wird der detaillierte BMM-Status auf Failed festgelegt. Die Phase wird blockiert, wenn eine der folgenden Unterbrechungen auftritt:

  • Der BMC ist nicht verfügbar.
  • Der Netzwerkport ist nicht erreichbar.
  • Eine Hardwarekomponente fällt aus.

So rufen Sie einen detaillierteren Status des BMM ab:

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

In der folgenden Tabelle ist aufgeführt, wo die Ausgabe definiert ist.

Output Definition
BMM_NAME BMM-Name
RSTATE Clusterteilnahmestatus (True,False)
PROV_STATE Bereitstellungsstatus (Succeeded,Failed)
STATUS Detaillierter Bereitstellungsstatus (Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,Deprovisioning,Failed)
STATUS_MSG Detaillierte Bereitstellungsstatusmeldung
POWER_STATE Energiezustand des BMM (On,Off)
BMM_ROLE BMM-Clusterrolle (control-plane,management-plane,compute-plane)
CREATE_DATE BMM-Erstellungsdatum

Zum Beispiel:

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

BMM-Details

So zeigen Sie Details und den Status einer einzelnen BMM an:

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

Für BMM-Details, die für die Problembehandlung spezifisch sind:

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

Fehlerbehebung bei fehlgeschlagenen Provisionierungsvorgängen

Die folgenden Bedingungen können zu Fehlern bei der Bereitstellung führen.

Fehlertyp Lösung
Der BMC zeigt einen kritischen Backplane Comm-Fehler an. 1. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
2. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
3. Führen Sie BMM Aktion replace aus.
Die Netzwerkdatenantwort beim Starten (PXE) aus dem BMC ist leer. 1. Setzen Sie den Port auf einem Fabric-Gerät zurück.
2. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
3. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
4. Führen Sie BMM Aktion replace aus.
MAC-Adresskonflikt beim Starten (PXE) 1. Überprüfen Sie die MAC-Adressdaten der BMM anhand der BMC-Daten.
2. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
3. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
4. Führen Sie BMM Aktion replace aus.
MAC-Adresskonflikt beim BMC 1. Überprüfen Sie die MAC-Adressdaten der BMM anhand der BMC-Daten.
2. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
3. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
4. Führen Sie BMM Aktion replace aus.
Die Datenträgerdatenantwort aus dem BMC ist leer. 1. Entfernen oder ersetzen Sie den Datenträger.
2. Entfernen oder ersetzen Sie den Speichercontroller.
3. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
4. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
5. Führen Sie BMM Aktion replace aus.
Der BMC ist nicht erreichbar. 1. Setzen Sie den Port auf einem Fabric-Gerät zurück.
2. Entfernen oder ersetzen Sie das Kabel.
3. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
4. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
5. Führen Sie BMM Aktion replace aus.
Die Anmeldung des BMC schlägt fehl. 1. Aktualisieren Sie die Anmeldeinformationen auf dem BMC.
2. Führen Sie BMM Aktion replace aus.
Kritische Fehler im Zusammenhang mit Arbeitsspeicher, CPU und OEM sind auf dem BMC aufgetreten. 1. Beheben Sie das Hardwareproblem durch Entfernen oder Ersetzen.
2. Führen Sie für den BMM einen Flea-Drain-Remotevorgang aus.
3. Führen Sie für den BMM einen physischen Flea-Drain-Vorgang durch.
4. Führen Sie BMM Aktion replace aus.
Die Konsole bleibt im Menü des Bootstrapladeprogramms (GRUB) hängen. 1. Führen Sie eine NVRAM-Zurücksetzung aus.
2. Führen Sie BMM Aktion replace aus.

BMM-Aktivitätsprotokoll in Azure

  1. Melden Sie sich beim Azure-Portal an.
  2. Suchen Sie im oberen Suchen-Feld nach dem BMM-Namen.
  3. Wählen Sie den Bare Metal Machine (Operator Nexus)-Namen aus den Suchergebnissen aus.
  4. Wählen Sie im Dienstmenü die Option Aktivitätsprotokoll aus.
  5. Stellen Sie sicher, dass der Wert Zeitspanne den Bereitstellungszeitraum umfasst.
  6. Erweitern Sie den Vorgang BareMetalMachines_Update, und wählen Sie beliebige BMMs aus, die den Status Failed anzeigen.
  7. Wählen Sie die Registerkarte JSON aus, um die detaillierte Statusmeldung abzurufen.

Suchen Sie nach Fehlern im Zusammenhang mit ungültigen Anmeldeinformationen oder ob der BMC nicht verfügbar ist.

Ermitteln der IPv4-Adresse des BMC

Die IPv4-Adresse des BMC (BMC_IP) befindet sich im Wert Connect, der aus dem vorherigen Abschnitt „BMM-Details“ zurückgegeben wird.

Überprüfen der MAC-Adresse der BMM anhand der BMC-Daten

So rufen Sie die Informationen zur MAC-Adresse aus dem BMM ab:

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

Überprüfen Sie die MAC-Adressdaten anhand des BMC über die Web-UI:

  • BMC>Dashboard: Zeigt die MAC-Adresse des BMC an.
  • BMC>System Info>Network>Embedded.1-1-1: Zeigt die Boot-MAC-Adresse an.

Vergewissern Sie sich, dass die MAC-Adresse racadm von einer Jumpbox verwendet wird, die Zugriff auf das BMC-Netzwerk hat:

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

Wenn die an den Cluster übergebene MAC-Adresse falsch ist, verwenden Sie die replace-Aktion für den BMM unter BMM-Aktionen, um die Adressen zu korrigieren.

Pingtest für die BMC-Konnektivität

Versuchen Sie, den Befehl ping mit der BMC IPv4-Adresse auszuführen:

  1. Ermitteln Sie die IPv4-Adresse (BMC_IP) aus dem vorherigen Abschnitt „Ermitteln der BMC-IPv4-Adresse“.

  2. Testen Sie ping am BMC:

    So führen Sie den Test von einer Jumpbox-Instanz aus, die Zugriff auf das BMC-Netzwerk hat:

    ping $BMC_IP -c 3
    

    So führen Sie mithilfe der Azure CLI den Test von einem BMM-Host auf Steuerungsebene aus:

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

Zurücksetzen des Ports auf einem Fabric-Gerät

Wenn BMC_IP nicht reagiert, wird durch die Zurücksetzung des Ports auf dem Fabric-Gerät auf dem Port erneut eine automatische Aushandlung ausgelöst. Dadurch könnte der Port wieder online geschaltet werden.

So suchen Sie den Network Fabric-Port von Azure:

  1. Rufen Sie aus dem vorherigen Abschnitt „BMM-Details“ die Werte RackID und RackSlot ab.

  2. Führen Sie im Azure-Portal einen Drilldown zur Network Rack Rack-ID für die BMM aus.

  3. Wählen Sie die Registerkarte Netzwerkgeräte und dann den Verwaltungsswitch (Mgmt) für das Rack aus.

  4. Wählen Sie unter Ressourcen Netzwerkschnittstellen aus. Wählen Sie anschließend die BMC-Schnittstelle (iDRAC) oder die Startschnittstelle (PXE) für den Port aus, der zurückgesetzt werden muss.

    Sammeln Sie die folgenden Informationen:

    • Network Fabric-Ressourcengruppe (NF_RG)
    • Gerätename (NF_DEVICE_NAME)
    • Schnittstellenname (NF_DEVICE_INTERFACE_NAME)
  5. Setzen Sie den Port zurück:

    So setzen Sie den Port mithilfe der Azure CLI zurück:

    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
    

Remotetiefenentladung (Flea Drain) für den BMM

So führen Sie über die BMC-Benutzeroberfläche für die BMM einen Flea-Drain-Remotevorgang durch:

  1. Wählen Sie BMC>Konfiguration>BIOS-Einstellungen>Verschiedene Einstellungen aus.

  2. Wählen Sie unter Power Cycle-Anfrage Vollständiger Power Cycle aus. Wählen Sie dann Anwenden und Neu starten aus.

Führen Sie mithilfe von racadm einen Flea-Drain-Remotevorgang aus einer Jumpbox-Instanz durch, die Zugriff auf das BMC-Netzwerk hat:

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

Physische Tiefenentladung (Flea Drain) für den BMM

Bei einem physischen Flea-Drain-Vorgang werden die Stromkabel am lokalen Standort fünf Minuten lang manuell von beiden Netzteilen getrennt. Danach wird die Stromversorgung wiederhergestellt. Dieser Prozess stellt sicher, dass Server, Kondensatoren und alle Komponenten vollständig von der Stromversorgung getrennt sind und alle zwischengespeicherten Daten gelöscht werden.

Zurücksetzen des NVRAM

Wenn die Bereitstellung aufgrund eines OEM-Fehlers oder eines Hardwarefehlers fehlgeschlagen ist, ist die Startsequenz möglicherweise im NVRAM auf PXE boot gesperrt, anstatt die in der Startreihenfolge zuerst aufgeführten Einträge hdd oder hard drive anzuzeigen.

Diese Bedingung zeigt den BMM in der Konsole üblicherweise in der Phase des Bootstrapladeprogramms an und wird ohne einen manuellen Eingriff durch Tastaturanschläge blockiert.

Verwenden Sie in der BMC-Benutzeroberfläche die folgende Sequenz, um den NVRAM zurückzusetzen:

  1. Wählen Sie Wartung>Diagnose>iDrac auf Werkseinstellungen zurücksetzen aus.

  2. Wählen Sie Alle Einstellungen verwerfen, aber Benutzer- und Netzwerkeinstellungen beibehalten, und wählen Sie dann Anwenden und Neu starten aus.

Zurücksetzen des BMC-Kennworts

Wenn das Aktivitätsprotokoll darauf hindeutet, dass ungültige Anmeldeinformationen für den BMC vorhanden sind, führen Sie den folgenden Befehl aus einer Jumpbox-Instanz aus, die Zugriff auf das BMC-Netzwerk hat:

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

Erneutes Hinzufügen von Servern zum Cluster nach einer Reparatur

Nachdem die Hardware repariert wurde, führen Sie die BMM-Aktion replace aus, indem Sie den Anweisungen in Verwalten des Lebenszyklus von Bare-Metal-Computern folgen.