PowerFlex 3.X:新增導致 MDM 錯誤和容錯移轉的 SDC 命令
Summary:
執行新增 SDC 命令後 (scli --add_sdc /),發生 MDM 容錯移轉
Symptoms
1. MDM 在「受限模式」
下執行 2. 使用者嘗試新增 SDC 的 IP 在核准的 SDC IP 中不存在,這會強制 MDM 建立新的 SDC 物件
3. 使用的 SDC
名稱是在 4. 主要 MDM 和次要 MDM 接管
時發生 MDM 錯誤 1. 使用者使用 IP 而非 GUID 執行新增 SDC 命令, 並接收通訊錯誤作為標準輸出,例如:
# scli --add_sdc --sdc_ip 123.234.234.201 --sdc_name SDC40
Error: MDM failed command. Status: Communication error
2. 檢查 MDM exp.0 檔案時,可能會發生以下錯誤
21/12 02:43:26.897784 Panic in file /data/builds/workspace/ScaleIO-Common-Job@2/src/mdm/control/obj_container.c, line 2291, function objContainer_GetObjId, PID 30902.Panic Expression (((void *)0) != (pObjHeader)) && ((pObjHeader)->magic == 0x68cab8db) .
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(mosDbg_PanicPrepare+0x13a) [0x9a51ca]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(objContainer_GetObjId+0xe8) [0x981768]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(iniMgr_ApproveInitiator+0x359) [0x8c7fe9]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175() [0x562a08]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(netRecvGroup_WaitForWork+0x3dc) [0x7b2cfc]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(netRecvGroup_WaitForWorkLoop+0x18) [0x7b3008]
/opt/emc/scaleio/mdm/bin/mdm-3.5.1000.175(mosUmt_StartFunc+0x7a) [0x7fb5da]
/lib64/libc.so.6(+0x48140) [0x7ff1b5a8d140]
[(nil)]
影響:
1. 新增 SDC 命令將會失敗:SDC 不會新增至系統
2. MDM 容錯移轉
Cause
在 PowerFlex v3.0 之前,MDM 元件會儲存所有 SDC IP,即使是中斷連線的 SDC 也是如此。從版本 3.0 及以後,MDM 元件僅跟蹤已連接或批准的 SDC IP。
作為「add SDC」命令的一部分,使用者必須使用其他參數,例如:「SDC IP」或「SDC GUID」,含選用參數「SDC name」
發出「add SDC」命令後,MDM 會嘗試尋找具有這些參數的現有 SDC,在我們的方案中,使用者提供了不熟悉的「SDC IP」,因此,
由於版本 3.0 中引入的變更,MDM 並不熟悉新提供的「SDC IP」,因此 MDM 建立了新的 SDC 物件。
此外,執行命令時使用的「SDC 名稱」參數是現有的 SDC 名稱,因此它會立即刪除剛建立的 SDC 物件,因為 MDM 已偵測到此名稱已在使用中。
MDM 嘗試存取已刪除的 SDC 物件後,即會發出訊號,並發生容錯移轉。
Resolution
若要克服這種情況,並成功新增先前連接過的 SDC,請使用「SDC GUID」參數,而非「SDC IP」。
例如:
scli --add_sdc --sdc_guid FA4BFBF6-546A-11E8-B40D-0050568D283E
受影響的版本
所有高於 3.0 的版本