Udostępnij za pośrednictwem


Rozwiązywanie problemów z aprowizowaniem programu BMM w klastrze Platformy Azure Operator Nexus

W ramach akcji wdrażania klastra maszyny bez systemu operacyjnego (BMM) są aprowidowane z rolami, które są wymagane do udziału w klastrze. Ten dokument obsługuje rozwiązywanie typowych problemów z aprowizacją przy użyciu interfejsu wiersza polecenia platformy Azure, witryny Azure Portal i kontrolera zarządzania płytą główną serwera (BMC). W przypadku platformy Azure Operator Nexus podstawowy sprzęt serwera używa zintegrowanego kontrolera dostępu zdalnego firmy Dell (iDRAC) jako kontrolera BMC. Aprowizacja używa interfejsu Preboot eXecution Environment (PXE) do ładowania systemu operacyjnego w programie BMM.

Wymagania wstępne

  1. Zainstaluj najnowszą wersję odpowiednich rozszerzeń interfejsu wiersza polecenia.
  2. Zbierz następujące informacje:
    • Identyfikator subskrypcji (SUBSCRIPTION)
    • Nazwa klastra (CLUSTER)
    • Grupa zasobów (CLUSTER_RG)
    • Zarządzana grupa zasobów (CLUSTER_MRG)
  3. Zażądaj dostępu do subskrypcji, aby uruchomić polecenia rozszerzenia interfejsu wiersza polecenia platformy Azure Operator Nexus (NF) i interfejsu wiersza polecenia chmury sieciowej.
  4. Zaloguj się do interfejsu wiersza polecenia platformy Azure i wybierz subskrypcję, w której wdrożono klaster.

Role programu BMM

W przypadku określonej wersji role są wymagane do zarządzania bazowym klastrem Kubernetes i zarządzania nim.

Następujące role są przypisywane do zasobów programu BMM (zobacz dokumentację ról programu BMM):

  • Płaszczyzna sterowania: program BMM odpowiedzialny za uruchamianie agentów płaszczyzny sterowania Kubernetes dla klastra.
  • Płaszczyzna zarządzania: program BMM odpowiedzialny za uruchamianie agentów platformy, w tym kontrolerów i rozszerzeń.
  • Płaszczyzna obliczeniowa: program BMM odpowiedzialny za uruchamianie rzeczywistych obciążeń dzierżawy, w tym klastrów Kubernetes i maszyn wirtualnych.

Wyświetlanie listy stanu programu BMM

Następujące polecenie wyświetla listę wszystkich bareMetalMachineName zasobów w zarządzanej grupie zasobów o prostym stanie:

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

Proces STATUS przechodzi przez fazy zdefiniowane w poniższej tabeli w procesie aprowizacji BMM (zobacz stan BMM w pojęciach obliczeniowych platformy Azure Operator Nexus):

Faza Akcje
Registering Weryfikuje poświadczenia łączności BMC/BMC i dodaje program BMM do usługi aprowizacji.
Preparing Uruchamia ponownie program BMM, resetuje kontroler BMC i weryfikuje stan zasilania.
Inspecting Aktualizuje oprogramowanie układowe, stosuje ustawienia systemu BIOS i konfiguruje magazyn.
Available Wskazuje, że program BMM jest gotowy do zainstalowania systemu operacyjnego.
Provisioning Wskazuje, że obraz systemu operacyjnego jest instalowany w programie BMM. Po zainstalowaniu systemu operacyjnego program BMM próbuje dołączyć do klastra.
Provisioned Wskazuje, że program BMM został pomyślnie aprowizowany i przyłączony do klastra.
Deprovisioning Wskazuje, że aprowizowanie programu BMM nie powiodło się. Usługa aprowizacji czyści zasób na potrzeby ponawiania próby.
Failed Wskazuje, że aprowizowanie programu BMM nie powiodło się, a ręczne odzyskiwanie jest wymagane. Wszystkie ponawianie prób jest wyczerpane.

W dowolnej fazie stan szczegółowy programu BMM jest ustawiony na Failedwartość . Faza jest blokowana, jeśli wystąpią jakiekolwiek z następujących zakłóceń:

  • Kontroler BMC jest niedostępny.
  • Port sieciowy nie działa.
  • Składnik sprzętowy kończy się niepowodzeniem.

Aby uzyskać bardziej szczegółowy stan programu 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

W poniższej tabeli wymieniono miejsce, w którym zdefiniowano dane wyjściowe.

Wyjście Definicja
BMM_NAME Nazwa programu BMM.
RSTATE Stan uczestnictwa klastra (True,False).
PROV_STATE Stan aprowizacji (Succeeded,Failed).
STATUS Aprowizowanie szczegółowego stanu (Registering,Preparing,Inspecting,Available,Provisioning,Provisioned,,Deprovisioning,).Failed
STATUS_MSG Szczegółowy komunikat o stanie aprowizacji.
POWER_STATE Stan zasilania programu BMM (On,Off).
BMM_ROLE Rola klastra BMM (control-plane,management-plane,compute-plane).
CREATE_DATE Data utworzenia programu BMM.

Na przykład:

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

Szczegóły programu BMM

Aby wyświetlić szczegóły i stan pojedynczego programu BMM:

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

Aby uzyskać szczegółowe informacje dotyczące programu BMM dotyczące rozwiązywania problemów:

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

Rozwiązywanie problemów ze stanami aprowizacji, które zakończyły się niepowodzeniem

Poniższe warunki mogą powodować błędy aprowizacji.

Typ błędu Rozwiązanie
Kontroler BMC pokazuje Backplane Comm błąd krytyczny. 1. Uruchom zdalny drenaż bMM pchli.
2. Wykonaj fizyczny drenaż bMM pchli.
3. Uruchom akcję BMM replace .
Odpowiedź na dane sieciowe rozruchu (PXE) jest pusta z kontrolera BMC. 1. Zresetuj port na urządzeniu sieci szkieletowej.
2. Uruchom zdalny drenaż bMM pchli.
3. Wykonaj fizyczny drenaż bMM pchli.
4. Uruchom akcję BMM replace .
Niezgodność adresów MAC rozruchu (PXE). 1. Zweryfikuj dane adresów MAC programu BMM względem danych kontrolera BMC.
2. Uruchom zdalny drenaż bMM pchli.
3. Wykonaj fizyczny drenaż bMM pchli.
4. Uruchom akcję BMM replace .
Niezgodność adresów MAC kontrolera BMC. 1. Zweryfikuj dane adresów MAC programu BMM względem danych kontrolera BMC.
2. Uruchom zdalny drenaż bMM pchli.
3. Wykonaj fizyczny drenaż bMM pchli.
4. Uruchom akcję BMM replace .
Odpowiedź na dane dysku jest pusta z kontrolera BMC. 1. Usuń lub zastąp dysk.
2. Usuń lub zastąp kontroler magazynu.
3. Uruchom zdalny drenaż bMM zflea.
4. Wykonaj fizyczny drenaż bMM pchli.
5. Uruchom akcję BMM replace .
Usługa BMC nie jest osiągalna. 1. Zresetuj port na urządzeniu sieci szkieletowej.
2. Wyjmij lub zastąp.
3. Uruchom zdalny drenaż bMM zflea.
4. Wykonaj fizyczny drenaż bMM pchli.
5. Uruchom akcję BMM replace .
Logowanie przy użyciu kontrolera BMC kończy się niepowodzeniem. 1. Zaktualizuj poświadczenia w kontrolerze BMC.
2. Uruchom akcję BMM replace .
Błędy krytyczne pamięci, procesora CPU, producenta OEM w usłudze BMC. 1. Rozwiąż problem ze sprzętem z usunięciem lub zastąpieniem.
2. Uruchom zdalny drenaż bMM pchli.
3. Wykonaj fizyczny drenaż bMM pchli.
4. Uruchom akcję BMM replace .
Konsola zablokowana w menu modułu ładującego rozruchu (GRUB). 1. Uruchom resetowanie pamięci NVRAM.
2. Uruchom akcję BMM replace .

Dziennik aktywności programu Azure BMM

  1. Zaloguj się w witrynie Azure Portal.
  2. Wyszukaj nazwę programu BMM w górnym polu Wyszukiwania .
  3. Wybierz nazwę Bez systemu operacyjnego (Operator Nexus) z wyników wyszukiwania.
  4. W menu usługi wybierz pozycję Dziennik aktywności.
  5. Upewnij się, że wartość Przedział czasu obejmuje okres aprowizacji.
  6. Rozwiń operację BareMetalMachines_Update i wybierz wszystkie maszyny BM, które mają Failed stan.
  7. Wybierz kartę JSON , aby uzyskać szczegółowy komunikat o stanie.

Poszukaj błędów związanych z nieprawidłowymi poświadczeniami lub jeśli kontroler BMC jest niedostępny.

Określanie adresu IPv4 kontrolera BMC

Adres IPv4 kontrolera BMC (BMC_IP) znajduje się w Connect wartości zwracanej z poprzedniej sekcji "Szczegóły programu BMM".

Weryfikowanie adresu MAC programu BMM względem danych BMC

Aby uzyskać informacje o adresie MAC z programu 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

Sprawdź dane adresu MAC względem kontrolera BMC za pośrednictwem internetowego interfejsu użytkownika:

  • BMC>Dashboard: wyświetla adres MAC kontrolera BMC.
  • BMC>System Info>Network>Embedded.1-1-1: wyświetla adres MAC rozruchu.

Sprawdź, czy adres MAC jest używany racadm z serwera przesiadkowego, który ma dostęp do sieci 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

Jeśli adres MAC podany w klastrze jest niepoprawny, użyj akcji programu BMM w programie BMMreplace, aby poprawić adresy.

Ping — testowanie łączności BMC

Spróbuj uruchomić ping polecenie pod adresem IPv4 kontrolera BMC:

  1. Uzyskaj adres IPv4 (BMC_IP) z poprzedniej sekcji "Określanie adresu IPv4 kontrolera BMC".

  2. Przetestuj ping do kontrolera BMC:

    Aby przetestować z serwera przesiadkowego, który ma dostęp do sieci BMC:

    ping $BMC_IP -c 3
    

    Aby przetestować z hosta płaszczyzny sterowania BMM przy użyciu interfejsu wiersza polecenia platformy 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]}]"
    

Resetowanie portu na urządzeniu sieci szkieletowej

Jeśli BMC_IP port urządzenia sieci szkieletowej nie odpowiada, resetuje automatyczne negocjowanie na porcie i może przywrócić go do trybu online.

Aby znaleźć port z platformy Network Fabric Azure:

  1. RackID Uzyskaj wartości i RackSlot z poprzedniej sekcji "Szczegóły programu BMM".

  2. W witrynie Azure Portal przejdź do szczegółów identyfikatora stojaka na stojak sieci dla programu BMM.

  3. Wybierz kartę Urządzenia sieciowe, a następnie wybierz przełącznik zarządzania (Mgmt) dla stojaka.

  4. W obszarze Zasoby wybierz pozycję Interfejsy sieciowe. Następnie wybierz interfejs BMC (iDRAC) lub rozruchu (PXE) dla portu, który wymaga zresetowania.

    Zbierz wymienione poniżej informacje.

    • Grupa zasobów sieci szkieletowej (NF_RG)
    • Nazwa urządzenia (NF_DEVICE_NAME)
    • Nazwa interfejsu (NF_DEVICE_INTERFACE_NAME)
  5. Zresetuj port:

    Aby zresetować port przy użyciu interfejsu wiersza polecenia platformy 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
    

Odpływ zasilania zdalnego BMM (drenaż bmm)

Aby wykonać zdalny odpływ zflea przeciwko BMM za pośrednictwem interfejsu użytkownika BMC:

  1. Wybierz pozycję Ustawienia>systemu BIOS konfiguracji>BMC>Różne ustawienia.

  2. W obszarze Żądanie cyklu zasilania wybierz pozycję Pełny cykl zasilania. Następnie wybierz pozycję Zastosuj i uruchom ponownie.

Przeprowadź zdalny odpływ zflei za pomocą racadm serwera przesiadkowego, który ma dostęp do sieci BMC:

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

Drenaż zasilania fizycznego BMM (drenaż bmm)

W przypadku fizycznego drenażufle lokalne ręce fizycznie odłączają zasilania od obu kart zasilających przez pięć minut, a następnie przywracają moc. Ten proces gwarantuje, że serwer, pojemności i wszystkie składniki mają pełne usunięcie zasilania i że wszystkie buforowane dane są czyszczone.

Resetowanie pamięci NVRAM

Jeśli aprowizowanie nie powiodło się z powodu błędu producenta OEM lub sprzętu, sekwencja rozruchowa może być zablokowana w pamięci NVRAM zamiast pokazywać hdd lub hard drive wyświetlać PXE boot je jako pierwsze w kolejności rozruchu.

Ten warunek zazwyczaj pokazuje program BMM na etapie modułu ładującego rozruchu w konsoli i jest blokowany bez ręcznej interwencji naciśnięcia.

Aby zresetować pamięć NVRAM, użyj następującej sekwencji w interfejsie użytkownika kontrolera BMC:

  1. Wybierz pozycję Resetuj diagnostykę konserwacji>>iDrac do domyślnych ustawień fabrycznych.

  2. Wybierz pozycję Odrzuć wszystkie ustawienia, ale zachowaj ustawienia użytkownika i sieci, a następnie wybierz pozycję Zastosuj i uruchom ponownie.

Resetowanie hasła kontrolera BMC

Jeśli dziennik aktywności wskazuje nieprawidłowe poświadczenia w kontrolerze BMC, uruchom następujące polecenie z serwera przesiadkowego, które ma dostęp do sieci BMC:

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

Dodawanie serwerów z powrotem do klastra po naprawie

Po naprawieniu sprzętu uruchom akcję BMM replace , postępując zgodnie z instrukcjami w temacie Zarządzanie cyklem życia maszyn bez systemu operacyjnego.