PowerFlex 3.x: Služba SDS neustále panikaří s funkcí drl_IsClean
Summary: Ve vzácných případech může služba SDS neustále panikařit s funkcí drl_IsClean. K tomuto problému dochází, když jsou zařízení SDS větší než 2 TB.
Symptoms
Služba SDS neustále panikaří s následujícím trasováním zásobníku:
/opt/emc/scaleio/sds/logs/exp.0
2024/07/22 21:54:33.819866 Panic in file /data/build/workspace/ScaleIO-Common-Job/src/tgt/bm/drl.c, line 1238, function drl_IsClean, PID 17253.Panic Expression !(offsetInLbs < pDrl->protectedOffsetInLbs) PANIC_ID_tgt_1497349762194.
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mosDbg_PanicPrepare+0x13a) [0x93ab8a]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(drl_IsClean+0x5e) [0x9346ae]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgPhyDev_IsDrlGroupClean+0x4b) [0x93476b]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgPhyComb_ReadIntegrityBits+0x130) [0x906040]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(mgStorageRegion_ReadRegionIntegrity+0xb4) [0x906224]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(storageRegion_ReadDirtyRegion+0xad) [0x740f4d]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(raidComb_ReadDrl+0x7d) [0x74105d]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(ioh_ReadCombDrl+0x758) [0x5eb368]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(ioh_NewRequest+0x2084) [0x5fb4a4]
/opt/emc/scaleio/sds/bin/sds-3.6.400.107(contNet_RecvIORequest+0x2c4) [0x601534]
Důsledky
K nedostupnosti uživatelských dat může dojít, pokud se jakýkoli jiný bezpečnostní list odpojí v rámci svého působení v jednom z následujících stavů:
- Režim okamžité údržby (IMM)
- Chybový stav
- Během probíhající přestavby
Cause
Panika služby SDS způsobená velkými posuny zařízení.
Resolution
Oprava:
- PowerFlex 3.6.5 a vyšší (ukončení podpory)
- PowerFlex 4.5 a vyšší
Zástupné řešení:
Postupujte podle jedné z možností.
Pokud možnost 1 problém nevyřeší, přejděte k možnosti 2.
1. možnost:
-
- Zadejte uzel SDS do IMM z příkazového řádku scli nebo z uživatelského rozhraní prezentačního serveru.
- Pokud uzel SDS nemůže vstoupit do IMM, zastavte démona SDS spuštěním skriptu
/opt/emc/scaleio/sds/bin/delete_service.sh.Take necessary precautions to prevent the cluster from entering a Data Unavailability (DU) state. Before stopping the SDS daemon, verify that no Rebuild is in progress. If you're unsure about the DU state, consult L2 or an SME.
- Pokud uzel SDS nemůže vstoupit do IMM, zastavte démona SDS spuštěním skriptu
- Ukončete službu SDS, jakmile je SDS umístěn do IMM.
/opt/emc/scaleio/sds/bin/delete_service.sh - Odeberte sdílenou paměť na disku SDS (včetně sdílené paměti CloudLink).
- Přesuňte soubory vygenerované následujícím příkazem do dočasného adresáře
ls -l /dev/shm | egrep -i *EMC_sds* ls -l /dev/shm | egrep emc_scaleio_*
- Přesuňte soubory vygenerované následujícím příkazem do dočasného adresáře
- Spusťte službu SDS
/opt/emc/scaleio/sds/bin/create_service.sh
- Zadejte uzel SDS do IMM z příkazového řádku scli nebo z uživatelského rozhraní prezentačního serveru.
-
- Ukončete SDS z IMM pomocí scli nebo uživatelského rozhraní prezentačního serveru. Očekává se zahájení přestavby. Pokud se SDS v IMM nenacházel, přejděte k dalšímu kroku
- Zkontrolujte výstup následujícího příkazu a ujistěte se, že je SDS připojený:
scli --query_all_sds
- Ukončete SDS z IMM pomocí scli nebo uživatelského rozhraní prezentačního serveru. Očekává se zahájení přestavby. Pokud se SDS v IMM nenacházel, přejděte k dalšímu kroku
2. možnost:
-
Pokud systém není ve stavu selhání dat a je k dispozici dostatečná volná nebo volná kapacita, odeberte uzel SDS z clusteru PowerFlex. Po dokončení vyvážení znovu přidejte uzel SDS se všemi zařízeními SDS.
DŮLEŽITÝ:
Skener na pozadí (BGS) a chyba částečného zařízení (PDE) mohou potenciálně způsobit opakování problému. Pokud je to možné, zakažte BGS nebo použijte BGS v režimu "pouze hlášení".
Trvalé kontrolní součty by neměly způsobovat problémy. Pokud se však kontrolní součet neshoduje, spustí se mírné přebudování, což může způsobit opětovné výskytu problému. Pokud je to možné, zakažte trvalý kontrolní součet.