PowerFlex 4.X:遺失虛擬 IP 導致作業系統轉換失敗
Summary: 當 MDM 叢集的虛擬 IP 少於 MDM 資料 IP 時,資源群組 (RG) 的作業系統轉換會完成並造成 DU。
Symptoms
- 作業系統轉換作業會在僅儲存 (SO) RG 中的一或多個節點上執行,且程序會失敗。
- 目標節點已成功轉換為 SLES 作業系統。
- MDM 叢集在轉換操作後具有不同的組態模式,且狀態顯示為已降級。
--query_cluster輸出可能會將原本是 Manager MDM 的節點顯示為仲裁程式,反之亦然。 角色可能與以下角色不相符actor_roleMDM 組態檔案中的設定 -/opt/emc/scaleio/mdm/cfg/conf.txt.
範例:
作業系統轉換前
MDM 叢集5_node的組態模式和正常 (正常) 狀態,而節點 xxx002 則處於正常狀態,且管理員為 MDM (主要):

作業系統轉換後
MDM 叢集的組態模式為「3_node」和「降級 (不健全)」,節點 xxx002 處於「錯誤」狀態,而管理員 MDM (次要):

節點 xxx002 的組態檔案設定為 actor_role_is_manager=0,亦即決勝局:

影響
MDM 叢集處於故障和意外狀態 - 可能是 DU。
Cause
在作業系統轉換期間,PFMP 會在可用的節點之間重新平衡 MDM 角色。PFMP 使用 MDM 叢集的虛擬 IP 位址作為安裝和新增 MDM 叢集節點和待機管理員/仲裁程式的錨點。
在節點的作業系統成功轉換為 SLES 後,會觸發 MDM 叢集節點的重新平衡程序,而且由於虛擬 IP 位址表示有 2 個要尋找的 IP,而節點有 4 個 IP,因此預設安裝為待機仲裁程式,這會導致搜尋失敗,然後安裝繼續進行。
Cluster:
Name: sio-1, ID: 0a1707234b50f20f, Mode: 5_node, State: Normal, Active: 5/5, Replicas: 3/3
...
Virtual IP Addresses: 10.122.160.100, 10.123.160.100 <<<<<
Primary MDM:
Name: sio-101, ID: 0x6bd7be1d61b4c900
IP Addresses: 10.122.160.101, 10.123.160.101, 10.122.224.101, 10.123.224.101, Port: 9011, Virtual IP interfaces: bond0.393, bond1.398 <<<<<
...
Secondary MDMs:
Name: sio-102, ID: 0x0b5a343e4caba901
IP Addresses: 10.122.160.102, 10.123.160.102, 10.122.224.102, 10.123.224.102, Port: 9011, Virtual IP interfaces: bond0.393, bond1.398 <<<<<
....
Name: sio-104, ID: 0x749bb9791864d903
IP Addresses: 10.122.160.104, 10.123.160.104, 10.122.224.104, 10.123.224.104, Port: 9011, Virtual IP interfaces: bond0.393, bond1.398 <<<<<
....
Tie-Breakers:
Name: sio-105, ID: 0x612f04b03a127004
IP Addresses: 10.122.160.105, 10.123.160.105, 10.122.224.105, 10.123.224.105, Port: 9011 <<<<<
...
Name: sio-103, ID: 0x154f223f2046a305
IP Addresses: 10.122.160.103, 10.123.160.103, 10.122.224.103, 10.123.224.103, Port: 9011 <<<<<
...
Standby MDMs:
Name: sio-106, ID: 0x6bd7be1d61b4c900, Manager
IP Addresses: 10.122.160.106, 10.123.160.106, 10.122.224.106, 10.123.224.106, Port: 9011, Virtual IP interfaces: bond0.393, bond1.398 <<<<<
...
Name: sio-107, ID: 0x612f04b03a127004, Tie-Breaker
IP Addresses: 10.122.160.107, 10.123.160.107, 10.122.224.107, 10.123.224.107, Port: 9011 <<<<<
Name: sio-108, ID: 0x0b5a343e4caba901, Manager
IP Addresses: 10.122.160.108, 10.123.160.108, 10.122.224.108, 10.123.224.108, Port: 9011, Virtual IP interfaces: bond0.393, bond1.398 <<<<<
...
Name: sio-112, ID: 0x612f04b03a127004, Tie-Breaker
IP Addresses: 10.122.160.112, 10.123.160.112, 10.122.224.112, 10.123.224.112, Port: 9011 <<<<<
因此,安裝程序將還原為預設的 MDM 角色「決勝局」,而且所有 MDM 都將安裝為決勝局,從而中斷 MDM 叢集:
DEBUG [2025-11-23T06:51:03.699277] 316828: provider/elementmanager/scaleio.rb:5702:in `add_mdm': scaleio-block-legacy-gateway: Failed to add MDM sio-102 to VxOS cluster with error {"message"=>"Illegal number of IP addresses. The Primary MDM, the Secondary MDM, and the Tie-Breaker must each have the same number of IP addresses.", "httpStatusCode"=>500, "errorCode"=>298}. Retying 1
Resolution
如果如上所述,MDM 叢集處於失敗狀態,請聯絡 EE 團隊,以取得復原叢集的協助。
為避免作業系統轉換或 DU 失敗,請在嘗試作業系統轉換之前執行以下動作。
MDM 叢集成員和待機 MDM 的 IP 位址 (DATA IP) 計數必須與叢集的虛擬 IP 位址 (DATA IP) 計數相同,方法是增加虛擬 IP 介面並新增虛擬 IP 位址,或減少 MDM 的資料 IP。
請遵循下列其中一個選項來修正此問題:增加 MDM 叢集的虛擬 IP 以對應主要/次要/決勝器/待命 MDM 的資料 IP 計數,或減少資料 IP 以對應 MDM 叢集的虛擬 IP 計數。
增加 MDM 叢集的虛擬 IP。
- 請務必採用與對應 SDS IP 角色相同的順序新增virtual_ip_interface。
- 請務必按照與對應cluster_virtual_ip相同的順序新增virtual_ip_interface。
- 請務必將新的cluster_virtual_ip新增至 SDC。
1) 將其他虛擬 IP 新增至叢集,並將虛擬 IP 介面新增至主要和次要 MDM。
a.清除現有的虛擬 IP:
scli --modify_cluster_virtual_ips --clear_all
b.新增舊的和新的虛擬 IP (以逗號分隔的清單,省略每個逗號後的空格):
scli --modify_cluster_virtual_ips --cluster_virtual_ip <Virtual IP 1,Virtual IP 2,Virtual IP 3,Virtual IP 4>
c. 清除現有的虛擬 IP 介面:
scli --modify_virtual_ip_interfaces --clear_all
2) 使用新的 IP 更新 SDC 和任何其他使用叢集虛擬 IP 的用戶端:
若要使變更生效,必須重新啟動伺服器。
- Linux:
/opt/emc/scaleio/sdc/bin/drv_cfg新的IP位址清單是逗號分隔的清單,必須省略每個逗號後面的空格。如果要保留現有位址,請將其包含在此清單中。
drv_cfg --mod_mdm_ip --ip <One of the existing MDM IP addresses> <All MDM IP addresses>
- Windows:
C:\Program Files\emc\scaleio\sdc\bin\drv_cfg
新的IP位址清單是逗號分隔的清單,需要省略每個逗號後面的空格。如果要保留現有位址,請將其包含在此清單中。
- ESXi:
- 獲取運行配置。命令會傳回一個字串,表示目前設定的所有 ESXi 組態參數、SDC GUID 和 MDM IP:
cat /etc/vmware/esx.conf | grep scini | grep options
-
- 使用輸出中的詳細資料執行命令,以新增虛擬 IP (以逗號分隔的清單,省略每個逗號後的空格):
<XXX> - 是使用者產生的 GUID 字串。您可以使用主要 MDM 上的 SCLI 命令「--query_all_sdc」驗證 GUID。 <> LIST_VIP_MDM_IPS 是所有 MDM IP 位址或 MDM 虛擬 IP 位址的逗號分隔清單。請勿在此處包含決勝局 IP 位址。
- 使用輸出中的詳細資料執行命令,以新增虛擬 IP (以逗號分隔的清單,省略每個逗號後的空格):
- 讓 ESXi 進入維護模式,然後重新開機。
3) 使用 PFMP UI 移除 RG,然後使用所有新舊 MDM 叢集虛擬 IP 位址重新新增。
4) 在作業系統對話順利完成且系統處於良好狀態後,若要還原變更,請執行 步驟 1-3。
減少 MDM 資料 IP。
1) 根據目前的叢集模式,將 MDM 叢集縮小至3_node或1_node模式。
2) 根據叢集的 VIP 數量,重新新增所有 MDM (待機、TB 和次要),含較少的 MDM 資料 IP。
受影響的版本
PFMP 4.x
已修正問題的版本
PFMP 5.1