共用方式為


對 Azure 運算子連接點叢集中的裸機電腦佈建進行疑難排解

作為叢集部署動作的一部分,裸機電腦 (BMM) 會以參與叢集所需的角色佈建。 本文件支援使用 Azure CLI、Azure 入口網站 和伺服器基礎板管理控制器 (BMC) 進行常見布建問題的疑難解答。 對於 Azure 運算子連接點平台,基礎伺服器硬體使用整合式 Dell 遠端存取控制器 (iDRAC) 作為 BMC。 佈建使用開機前執行環境 (PXE) 介面在裸機電腦上載入作業系統 (OS)。

必要條件

  1. 安裝最新版本的適當 CLI 延伸模組
  2. 要求存取權以執行 Azure 運算子連接點網路網狀架構 (NF) 和網路雲端 CLI 延伸模組命令。
  3. 登入 Azure CLI,然後選取部署叢集的訂用帳戶。
  4. 收集下列資訊:
    • 訂用帳戶識別碼 (SUBSCRIPTION
    • 叢集名稱 (CLUSTER
    • 資源群組 (CLUSTER_RG)
    • 受控資源群組 (CLUSTER_MRG) - 裸機 (BMM) 資源存在於受控資源群組中
    • 需要生命週期管理作業的裸機電腦名稱 (BMM_NAME)

裸機電腦角色

對於特定版本,需要角色來管理和運作基礎 Kubernetes 叢集。

下列角色會指派給裸機電腦資源 (請參閱裸機電腦角色參考):

  • 控制平面:負責執行叢集 Kubernetes 控制平面代理程式的裸機電腦。
  • 管理平面:負責執行平台代理程式的裸機電腦,包括控制器和擴充功能。
  • 計算平面:負責執行實際租用戶工作負載的裸機電腦,包括 Kubernetes 叢集和虛擬機器。

列出裸機電腦狀態

下列命令會列出 bareMetalMachineName 受控資源群組中的所有資源,其狀態為簡單:

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

STATUS 程序會經歷裸機電腦佈建程序中下表所定義的階段(請參閱 Azure 運算子連接點計算概念中的裸機電腦狀態):

階段 動作
Registering 驗證 BMC 連線能力/BMC 認證,並將裸機電腦新增至佈建服務。
Preparing 重新開機裸機電腦、重設 BMC,並驗證電源狀態。
Inspecting 更新韌體、套用 BIOS 設定,以及設定記憶體。
Available 表示裸機電腦已準備好安裝作業系統。
Provisioning 表示作業系統映像正在裸機電腦上安裝。 安裝OS之後,裸機電腦會嘗試加入叢集。
Provisioned 表示裸機電腦已成功佈建並加入叢集。
Deprovisioning 表示裸機電腦佈建失敗。 佈建服務會清除資源以進行重試。
Failed 表示裸機電腦佈建失敗,需要手動復原。 所有重試已用盡。

在任何階段,裸機電腦的詳細狀態會設定為 Failed。 如果發生下列任何中斷,就會封鎖階段:

  • BMC 無法使用。
  • 網路埠已關閉。
  • 硬體元件失敗。

若要取得裸機電腦的詳細狀態:

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

下表列出定義輸出的位置。

輸出 定義
BMM_NAME 裸機電腦名稱。
RSTATE 叢集參與狀態 (TrueFalse)。
PROV_STATE 佈建狀態 (SucceededFailed)。
STATUS 佈建詳細狀態 (RegisteringPreparingInspectingAvailableProvisioning,ProvisionedDeprovisioningFailed)。
STATUS_MSG 詳細的佈建狀態訊息。
POWER_STATE 裸機電腦的電源狀態 (OnOff)。
BMM_ROLE 裸機電腦叢集角色 (control-planemanagement-planecompute-plane)。
CREATE_DATE 裸機電腦建立日期。

例如:

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

裸機電腦詳細資料

若要顯示單一裸機電腦的詳細資料和狀態:

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

如需疑難排解特定的裸機電腦詳細資料:

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

疑難排解失敗的佈建狀態

下列情況可能會導致佈建失敗。

錯誤類型 解決方案
BMC 顯示 Backplane Comm 嚴重錯誤。 1.執行裸機電腦遠端 Flea 清空。
2.執行裸機電腦實體 Flea 清空。
3.執行裸機電腦 replace 動作。
來自 BMC 的啟動 (PXE) 網路資料回應為空。 1.重設網狀架構裝置上的連接埠。
2.執行裸機電腦遠端 Flea 清空。
3.執行裸機電腦實體 Flea 清空。
4.執行裸機電腦 replace 動作。
開機 (PXE) MAC 位址不相符。 1.根據 BMC 數據驗證裸機 MAC 位址數據。
2.執行裸機電腦遠端 Flea 清空。
3.執行裸機電腦實體 Flea 清空。
4.執行裸機電腦 replace 動作。
BMC MAC 位址不相符。 1.根據 BMC 數據驗證裸機 MAC 位址數據。
2.執行裸機電腦遠端 Flea 清空。
3.執行裸機電腦實體 Flea 清空。
4.執行裸機電腦 replace 動作。
來自 BMC 的磁碟資料回應空白。 1.移除或取代磁碟。
2.移除或取代儲存控制器。
3.執行裸機電腦遠端 Flea 清空。
4.執行裸機電腦實體 Flea 清空。
5.執行裸機電腦 replace 動作。
無法連線到 BMC。 1.重設網狀架構裝置上的連接埠。
2.移除或更換纜線。
3.執行裸機電腦遠端 Flea 清空。
4.執行裸機電腦實體 Flea 清空。
5.執行裸機電腦 replace 動作。
BMC 無法登入。 1.更新 BMC 上的認證。
2.執行裸機電腦 replace 動作。
BMC 上的記憶體、CPU、OEM 嚴重錯誤。 1.利用移除或取代解決硬體問題。
2.執行裸機電腦遠端 Flea 清空。
3.執行裸機電腦實體 Flea 清空。
4.執行裸機電腦 replace 動作。
主控台卡在開機載入器 (GRUB) 功能表上。 1.執行 NVRAM 重設。
2.執行裸機電腦 replace 動作。

Azure 裸機電腦活動記錄

  1. 登入 Azure 入口網站
  2. 在頂端的 [搜尋] 方塊中搜尋裸機電腦名稱。
  3. 從搜尋結果中選取裸機電腦 (運算子連接點) 名稱。
  4. 在服務功能表上,選取 [ 活動記錄]。
  5. 請確定 Timespan 值包含布建期間。
  6. 展開BareMetalMachines_Update操作,然後選取任何顯示Failed狀態的BMM。
  7. 選取 [JSON] 索引標籤以取得詳細的狀態消息。

尋找與無效認證或 BMC 無法使用相關的失敗。

判斷 BMC IPv4 位址

BMC 的 IPv4 位址 (BMC_IP) 位於從之前的「裸機電腦詳細資料」區段傳回的 Connect 值中。

針對 BMC 資料驗證裸機電腦的 MAC 位址

若要從裸金屬機器取得 MAC 地址資訊:

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

透過 Web UI 驗證 BMC 的 MAC 位址資料:

  • BMC>Dashboard:顯示 BMC MAC 位址。
  • BMC>System Info>Network>Embedded.1-1-1:顯示開機 MAC 位址。

驗證 MAC 位址正在從有權存取 BMC 網路的 Jumpbox 使用 racadm

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

如果提供給叢集的 MAC 位址不正確,請使用裸機電腦動作中的裸機電腦 replace 動作來修正位址。

Ping 測試 BMC 連線能力

嘗試對 BMC IPv4 位址執行 ping 命令:

  1. 從上一節取得 IPv4 位址 (BMC_IP) 「判斷 BMC IPv4 位址」。

  2. 測試 ping BMC:

    若要從有權存取 BMC 網路的 Jumpbox 進行測試:

    ping $BMC_IP -c 3
    

    若要使用 Azure CLI 從裸機電腦控制平面主機進行測試:

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

重設網狀架構裝置上的連接埠

如果 BMC_IP 無法回應,則會在連接埠上重設網狀架構裝置連接埠重新觸發自動交涉,並可能會讓它重新上線。

若要從 Azure 尋找 Network Fabric 連接埠:

  1. 從之前的「裸機電腦詳細資料」區段取得 RackIDRackSlot 值。

  2. 在 Azure 入口網站中,向下切入裸機電腦的網路機架機架識別碼。

  3. 選取網路裝置標籤頁,然後選取機架的管理(Mgmt)交換器。

  4. 在 [資源] 底下,選取 [網络介面]。 然後,針對需要重設的埠選取 BMC (iDRAC) 或開機 (PXE) 介面。

    收集下列資訊:

    • 網路網狀架構資源群組 (NF_RG
    • 裝置名稱 (NF_DEVICE_NAME
    • 介面名稱 (NF_DEVICE_INTERFACE_NAME
  5. 重設連接埠:

    若要使用 Azure CLI 重設埠:

    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
    

裸機電腦遠端電源清空 (Flea 清空)

若要透過 BMC UI 對裸機電腦執行遠端 Flea 清空:

  1. 選取 BMC>設定>BIOS 設定>其他設定

  2. 在 [電源週期要求] 底下,選取 [完整電源週期]。 然後選取 [ 套用並重新啟動]。

使用 racadm 從有權存取 BMC 網路的 Jumpbox 執行遠端 Flea 清空:

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

裸機電腦實體電源清空 (Flea 清空)

對於實體 Flea 清空,本機網站實際中斷連線兩個電源配接器的電源線 5 分鐘,然後還原電源。 此流程可確保伺服器、電容器和所有元件完全斷電,並且清除所有快取資料。

重設 NVRAM

如果由於 OEM 或硬體錯誤而佈建失敗,開機順序可能會在 NVRAM 中鎖定為 PXE boot,而不是顯示開機順序中首先列出的 hddhard drive

這種狀況通常會在主台上顯示裸機處於開機載入器階段,並且在沒有手動按鍵輸入介入的情況下進行封鎖。

若要重設 NVRAM,請在 BMC UI 中使用下列順序:

  1. 選取 [維護>>[將 iDRAC 重設為原廠預設值]。

  2. 選取 [ 捨棄所有設定],但保留使用者和網络設定,然後選取 [ 套用並重新啟動]。

重設 BMC 密碼

如果活動記錄指示 BMC 上的認證無效,請從有權存取 BMC 網路的 Jumpbox 執行下列命令:

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

修復之後,將伺服器新增回叢集

修正硬體之後,請遵循管理裸機機器生命週期中的指示,執行裸機replace動作。