PowerFlex 3.X: Přidání příkazu SDC způsobující paniku MDM a převzetí služeb při selhání
Summary:
Po provedení příkazu add SDC (scli --add_sdc /), dojde k převzetí služeb při selhání MDM
Symptoms
1. MDM je spuštěn v "Omezeném režimu"
2.Uživatel se pokusí přidat SDC s IP adresami, které neexistují ve schválených IP adresách SDC, což donutí MDM vytvořit nový SDC objekt
3. Použitý název SDC je s názvem SDC, který již existoval před
4. Dojde k panice MDM na primárním MDM a převzetí
sekundárního MDM 1.Uživatel spustí příkaz add SDC pomocí IP adres a ne GUID, a obdrží chybu komunikace jako stdout, například:
# scli --add_sdc --sdc_ip 123.234.234.201 --sdc_name SDC40
Error: MDM failed command. Status: Communication error
2. Při kontrole souboru MDM exp.0 lze zaznamenat níže uvedenou paniku.
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)]
Dopad:
1. Příkaz Add SDC selže – SDC se do systému
nepřidá 2. MDM failover
Cause
Ve verzích před PowerFlex v3.0 ukládala komponenta MDM všechny IP adresy SDC, a to i odpojené SDC. Od verze 3.0 sleduje komponenta MDM pouze připojené nebo schválené IP adresy SDC.
V rámci příkazu "add SDC" musí uživatel použít další parametry, jako například: "SDC IPS" nebo "SDC GUID" s volitelným parametrem "SDC name".
Jakmile je vydán příkaz "add SDC", MDM se pokusí vyhledat existující SDC s těmito parametry, v našem scénáři uživatel zadal neznámé "IP adresy SDC", a proto
MDM není obeznámen s nově zadanými "IP adresami SDC" kvůli změně zavedené ve verzi 3.0, a proto MDM vytvořilo nový objekt SDC.
Parametr "Název SDC", který byl použit při spuštění příkazu, byl navíc existujícím názvem SDC, a proto byl okamžitě odstraněn právě vytvořený objekt SDC, protože služba MDM zjistila, že se tento název již používá.
Jakmile se uzel MDM pokusil o přístup k odstraněnému objektu SDC, došlo k jeho uplatnění a došlo k převzetí služeb při selhání.
Resolution
Chcete-li tento scénář překonat a úspěšně přidat SDC, které byly připojeny dříve, použijte parametr "SDC GUID" namísto "SDC IP".
Například:
scli --add_sdc --sdc_guid FA4BFBF6-546A-11E8-B40D-0050568D283E
Dotčené verze
Všechny verze vyšší než 3.0