PowerFlex 3.x: Usługa SDS ciągle panikuje z funkcją drl_IsClean
Summary: W rzadkich przypadkach usługa SDS może stale ulegać awarii z funkcją drl_IsClean. Ten problem zaobserwowano, gdy urządzenia SDS są większe niż 2 TB.
Symptoms
Usługa SDS stale wpada w błąd z następującym śladem stosu:
/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]
Wpływ
Niedostępność danych użytkownika może wystąpić, jeśli nastąpi odłączenie innych kart SDS w jednym z następujących stanów:
- Tryb natychmiastowej konserwacji (IMM)
- Stan błędu
- Podczas trwającej przebudowy
Cause
Awarie usługi SDS spowodowane przesunięciami dużych urządzeń.
Resolution
Rozwiązanie:
- PowerFlex 3.6.5 i nowsze wersje (koniec wsparcia)
- PowerFlex 4.5 i nowsze modele
Obejście problemu:
Postępuj zgodnie z jedną z opcji.
Jeśli opcja 1 nie rozwiąże problemu, przejdź do opcji 2.
Opcja 1:
-
- Wprowadź węzeł SDS do IMM z wiersza poleceń scli lub interfejsu użytkownika serwera prezentacji.
- Jeśli węzeł SDS nie może przejść do IMM, zatrzymaj demona SDS, uruchamiając skrypt
/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.
- Jeśli węzeł SDS nie może przejść do IMM, zatrzymaj demona SDS, uruchamiając skrypt
- Zatrzymaj usługę SDS po umieszczeniu karty SDS w IMM
/opt/emc/scaleio/sds/bin/delete_service.sh - Wymontuj pamięć współużytkowaną z serwera SDS (w tym pamięć współużytkowaną CloudLink).
- Przenieś pliki wygenerowane za pomocą następującego polecenia do katalogu tymczasowego
ls -l /dev/shm | egrep -i *EMC_sds* ls -l /dev/shm | egrep emc_scaleio_*
- Przenieś pliki wygenerowane za pomocą następującego polecenia do katalogu tymczasowego
- Uruchom usługę SDS
/opt/emc/scaleio/sds/bin/create_service.sh
- Wprowadź węzeł SDS do IMM z wiersza poleceń scli lub interfejsu użytkownika serwera prezentacji.
-
- Zamknij SDS z IMM za pomocą interfejsu użytkownika scli lub serwera prezentacji. Ma się rozpocząć odbudowa. Jeśli karty charakterystyki SDS nie było w IMM, przejdź do następnego kroku
- Sprawdź dane wyjściowe następującego polecenia, aby upewnić się, że serwer SDS jest podłączony:
scli --query_all_sds
- Zamknij SDS z IMM za pomocą interfejsu użytkownika scli lub serwera prezentacji. Ma się rozpocząć odbudowa. Jeśli karty charakterystyki SDS nie było w IMM, przejdź do następnego kroku
Opcja 2:
-
Jeśli system nie jest w stanie awarii danych i dostępna jest wystarczająca wolna lub zapasowa pojemność, usuń węzeł SDS z klastra PowerFlex. Po zakończeniu ponownego równoważenia dodaj ponownie węzeł SDS ze wszystkimi urządzeniami SDS.
WAŻNY:
Skaner w tle (BGS) i częściowy błąd urządzenia (PDE) mogą potencjalnie spowodować ponowne wystąpienie problemu. Jeśli to możliwe, wyłącz usługę BGS lub użyj usługi BGS w trybie
"tylko raport".Trwałe sumy kontrolne nie powinny powodować problemów. Jeśli jednak występuje niezgodność sumy kontrolnej, inicjowana jest niewielka przebudowa, co może spowodować ponowne pojawienie się problemu. Jeśli to możliwe, wyłącz trwałą sumę kontrolną.