PowerFlex 3.x: SDS-tjänsten får kontinuerlig panik med funktions drl_IsClean
Summary: I sällsynta fall kan SDS-tjänsten kontinuerligt få panik med funktionen drl_IsClean. Det här problemet har observerats när SDS-enheterna är större än 2 TB.
Symptoms
SDS-tjänsten får kontinuerligt panik med följande stackspårning:
/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]
Påverkan
Otillgänglighet för användardata kan inträffa om något annat säkerhetsdatablad frikopplas som en del av att det befinner sig i något av följande tillstånd:
- Instant Maintenance-läge (IMM)
- Feltillstånd
- Under pågående ombyggnad
Cause
SDS-tjänstpanik orsakad av stora enhetsförskjutningar.
Resolution
Korrigering:
- PowerFlex 3.6.5 och senare (supporten upphör)
- PowerFlex 4.5 och senare
Alternativ lösning:
Välj ett av alternativen.
Om alternativ 1 inte löser problemet går du till alternativ 2.
Alternativ 1:
-
- Ange SDS-noden i IMM från scli-kommandoraden eller presentationsserverns användargränssnitt.
- Om SDS-noden inte kan ange IMM stoppar du SDS-daemonen genom att köra skriptet
/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.
- Om SDS-noden inte kan ange IMM stoppar du SDS-daemonen genom att köra skriptet
- Stoppa SDS-tjänsten när SDS har placerats i IMM
/opt/emc/scaleio/sds/bin/delete_service.sh - Ta bort det delade minnet på SDS (inklusive CloudLink delat minne).
- Flytta filerna som genereras med följande kommando till en tillfällig katalog
ls -l /dev/shm | egrep -i *EMC_sds* ls -l /dev/shm | egrep emc_scaleio_*
- Flytta filerna som genereras med följande kommando till en tillfällig katalog
- Starta SDS-tjänsten
/opt/emc/scaleio/sds/bin/create_service.sh
- Ange SDS-noden i IMM från scli-kommandoraden eller presentationsserverns användargränssnitt.
-
- Avsluta SDS från IMM med hjälp av scli eller presentationsserverns användargränssnitt. En ombyggnad förväntas starta. Om SDS inte fanns i IMM går du till nästa steg
- Kontrollera utdata för följande kommando för att säkerställa att SDS är ansluten:
scli --query_all_sds
- Avsluta SDS från IMM med hjälp av scli eller presentationsserverns användargränssnitt. En ombyggnad förväntas starta. Om SDS inte fanns i IMM går du till nästa steg
Alternativ 2:
-
Om systemet inte är i ett datafeltillstånd och det finns tillräckligt med ledig eller reserv kapacitet tar du bort SDS-noden från PowerFlex-klustret. När ombalanseringen är klar lägger du till SDS-noden igen med alla SDS-enheter.
VIKTIG:
Bakgrundsskanner (BGS) och partiellt enhetsfel (PDE) kan eventuellt orsaka att problemet återkommer. Inaktivera om möjligt BGS eller använd BGS i läget "endast rapport".
Beständiga kontrollsummor bör inte utlösa problem. Men om det finns ett matchningsfel för kontrollsumman initieras en liten återskapning, vilket kan leda till att problemet uppstår igen. Inaktivera om möjligt beständig kontrollsumma.