共用方式為


針對 Azure 操作員 Nexus 叢集中的 BMM 布建進行疑難解答

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

必要條件

  1. 安裝最新版本的適當 CLI 延伸模組
  2. 收集下列資訊:
    • 訂用帳戶識別碼 (SUBSCRIPTION
    • 叢集名稱 (CLUSTER
    • 資源群組 (CLUSTER_RG)
    • 受控資源群組 (CLUSTER_MRG
  3. 要求訂用帳戶存取權,以執行 Azure 操作員 Nexus 網路網狀架構 (NF) 和網路雲端 CLI 擴充功能命令。
  4. 登入 Azure CLI,然後選取部署叢集的訂用帳戶。

BMM 角色

針對特定版本,需要角色才能管理和操作基礎 Kubernetes 叢集。

下列角色會指派給 BMM 資源(請參閱 BMM 角色參考):

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

列出 BMM 狀態

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

az networkcloud baremetalmachine list -g $CLUSTER_MRG -o table

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

STATUS 程式會經歷 BMM 佈建程式中下表所定義的階段(請參閱 Azure 操作員 Nexus 計算概念中的 BMM 狀態):

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

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

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

若要取得 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

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

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

例如:

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 詳細資料

若要顯示單一 BMM 的詳細資料和狀態:

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

如需疑難排解特定的 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

針對失敗的布建狀態進行疑難解答

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

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

Azure BMM 活動記錄

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

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

判斷 BMC IPv4 位址

BMC (BMC_IP) 的 IPv4 位址位於 Connect 上一節「BMM 詳細數據」所傳回的值中。

根據 BMC 資料驗證 BMM 的 MAC 位址

若要從 BMM 取得 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 位址是否使用 racadm 來自可存取 BMC 網路的 Jumpbox:

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 位址不正確,請使用 BMM 動作中的 BMM replace 動作來修正位址。

Ping 測試 BMC 連線能力

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

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

  2. 測試 ping BMC:

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

    ping $BMC_IP -c 3
    

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

    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. RackID從上一節取得 和 RackSlot 值「BMM 詳細數據」。

  2. 在 Azure 入口網站 中,向下切入至 BMM 的網路機架標識碼。

  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
    

BMM 遠端電源清空 (Flea 清空)

若要透過 BMC UI 對 BMM 執行遠端跳跳排:

  1. 選取 [BMC>組態>BIOS 設定>] [其他設定]。

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

從可存取 BMC 網路的 Jumpbox 執行 racadm 遠端跳板清空:

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

BMM 實體電源清空 (Flea 清空)

對於實體跳水,本機月臺會實際中斷兩個電源適配卡的電源纜線五分鐘,然後恢復電源。 此程式可確保伺服器、壓縮機和所有元件都有完整的電源移除,而且會清除所有快取的數據。

重設 NVRAM

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

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

若要重設 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

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

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