針對 Azure 操作員 Nexus 叢集中的 BMM 布建進行疑難解答
在叢集部署動作中,裸機機器會布建角色,這些角色需要參與叢集。 本文件支援使用 Azure CLI、Azure 入口網站 和伺服器基礎板管理控制器 (BMC) 進行常見布建問題的疑難解答。 對於 Azure 運算子連接點平台,基礎伺服器硬體使用整合式 Dell 遠端存取控制器 (iDRAC) 作為 BMC。 布建會使用 Preboot eXecution Environment (PXE) 介面,在 BMM 上載入作業系統 (OS)。
必要條件
- 安裝最新版本的適當 CLI 延伸模組。
- 收集下列資訊:
- 訂用帳戶識別碼 (
SUBSCRIPTION
) - 叢集名稱 (
CLUSTER
) - 資源群組 (
CLUSTER_RG
) - 受控資源群組 (
CLUSTER_MRG
)
- 訂用帳戶識別碼 (
- 要求訂用帳戶存取權,以執行 Azure 操作員 Nexus 網路網狀架構 (NF) 和網路雲端 CLI 擴充功能命令。
- 登入 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 |
叢集參與狀態 (True 、False )。 |
PROV_STATE |
佈建狀態 (Succeeded 、Failed )。 |
STATUS |
佈建詳細狀態 (Registering 、Preparing 、Inspecting 、Available 、Provisioning ,Provisioned 、Deprovisioning 、Failed )。 |
STATUS_MSG |
詳細的佈建狀態訊息。 |
POWER_STATE |
BMM 的電源狀態 (On 、Off )。 |
BMM_ROLE |
BMM 叢集角色 (control-plane 、management-plane 、compute-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 活動記錄
- 登入 Azure 入口網站。
- 在頂端 的 [搜尋 ] 方塊中搜尋 BMM 名稱。
- 從搜尋結果中選取裸機電腦 (操作員 Nexus) 名稱。
- 在服務功能表上,選取 [ 活動記錄]。
- 請確定 Timespan 值包含布建期間。
BareMetalMachines_Update
展開作業,然後選取任何顯示狀態的Failed
BBMM。- 選取 [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
命令:
從上一節取得 IPv4 位址 (
BMC_IP
) 「判斷 BMC IPv4 位址」。測試
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
連接埠:
RackID
從上一節取得 和RackSlot
值「BMM 詳細數據」。在 Azure 入口網站 中,向下切入至 BMM 的網路機架標識碼。
選取 [ 網络裝置] 索引 標籤,然後選取機架的管理 (Mgmt) 交換器。
在 [資源] 底下,選取 [網络介面]。 然後,針對需要重設的埠選取 BMC (iDRAC) 或開機 (PXE) 介面。
收集下列資訊:
- 網路網狀架構資源群組 (
NF_RG
) - 裝置名稱 (
NF_DEVICE_NAME
) - 介面名稱 (
NF_DEVICE_INTERFACE_NAME
)
- 網路網狀架構資源群組 (
重設連接埠:
若要使用 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 執行遠端跳跳排:
選取 [BMC>組態>BIOS 設定>] [其他設定]。
在 [電源週期要求] 底下,選取 [完整電源週期]。 然後選取 [ 套用並重新啟動]。
從可存取 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
而不是先以開機順序顯示 hdd
或 hard drive
列出。
這種狀況通常會在主台上顯示 BMM 處於開機載入器階段,並且在沒有手動按鍵輸入介入的情況下進行封鎖。
若要重設 NVRAM,請在 BMC UI 中使用下列順序:
選取 [維護>診斷]>[將 iDrac 重設為原廠預設值]。
選取 [ 捨棄所有設定],但保留使用者和網络設定,然後選取 [ 套用並重新啟動]。
重設 BMC 密碼
如果活動記錄指示 BMC 上的認證無效,請從有權存取 BMC 網路的 Jumpbox 執行下列命令:
racadm -r $BMC_IP -u $BMC_USER -p $CURRENT_PASSWORD set iDRAC.Users.2.Password $BMC_PWD
修復之後,將伺服器新增回叢集
修正硬體之後,請遵循管理裸機機器生命週期中的指示,執行 BMM replace
動作。
相關內容
- 如果您仍有問題,請連絡 Azure 支援。
- 如需支援計劃的詳細資訊,請參閱 Azure 支援計劃。