PowerFlex 3.x: SDS-service raakt voortdurend in paniek door functie-drl_IsClean
Summary: In zeldzame gevallen kan de SDS-service voortdurend in paniek raken met de functie drl_IsClean. Dit probleem is waargenomen wanneer de SDS-apparaten groter zijn dan 2 TB.
Symptoms
De SDS-service raakt voortdurend in paniek met de volgende stacktrace:
/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]
Impact
Niet-beschikbaarheid van gebruikersdata kan optreden als een andere SDS wordt ontkoppeld als onderdeel van het feit dat deze zich in een van de volgende statussen bevindt:
- Instant Maintenance Mode (IMM)
- Foutstatus
- Tijdens een lopende verbouwing
Cause
SDS-servicepanics veroorzaakt door grote apparaatoffsets.
Resolution
Oplossing:
- PowerFlex 3.6.5 en hoger (einde van support)
- PowerFlex 4.5 en hoger
Tijdelijke oplossing:
Volg een van de opties.
Als optie 1 het probleem niet oplost, gaat u naar optie 2.
Optie 1:
-
- Voer het SDS-knooppunt in IMM in via de scli-opdrachtregel of de gebruikersinterface van de presentatieserver.
- Als het SDS-knooppunt IMM niet kan openen, stopt u de SDS-daemon door het script uit te voeren
/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.
- Als het SDS-knooppunt IMM niet kan openen, stopt u de SDS-daemon door het script uit te voeren
- Stop de SDS-service zodra de SDS in IMM is geplaatst
/opt/emc/scaleio/sds/bin/delete_service.sh - Verwijder het gedeelde geheugen op de SDS (inclusief het gedeelde CloudLink-geheugen).
- Verplaats de bestanden die met de volgende opdracht worden gegenereerd naar een tijdelijke map
ls -l /dev/shm | egrep -i *EMC_sds* ls -l /dev/shm | egrep emc_scaleio_*
- Verplaats de bestanden die met de volgende opdracht worden gegenereerd naar een tijdelijke map
- De SDS-service starten
/opt/emc/scaleio/sds/bin/create_service.sh
- Voer het SDS-knooppunt in IMM in via de scli-opdrachtregel of de gebruikersinterface van de presentatieserver.
-
- Sluit SDS af bij IMM met behulp van scli of de gebruikersinterface van de presentatieserver. Naar verwachting zal een verbouwing beginnen. Als de SDS niet in IMM was, gaat u verder met de volgende stap
- Controleer de uitvoer van de volgende opdracht om ervoor te zorgen dat de SDS is aangesloten:
scli --query_all_sds
- Sluit SDS af bij IMM met behulp van scli of de gebruikersinterface van de presentatieserver. Naar verwachting zal een verbouwing beginnen. Als de SDS niet in IMM was, gaat u verder met de volgende stap
Optie 2:
-
Als het systeem geen datafoutstatus heeft en er voldoende vrije of reservecapaciteit beschikbaar is, verwijdert u het SDS-knooppunt uit het PowerFlex cluster. Zodra de herverdeling is voltooid, voegt u het SDS-knooppunt opnieuw toe met alle SDS-apparaten.
BELANGRIJK:
Achtergrondscanner (BGS) en gedeeltelijke apparaatfout (PDE) kunnen ervoor zorgen dat het probleem zich opnieuw voordoet. Schakel BGS indien mogelijk uit of gebruik BGS in de modus 'alleen rapporteren'.
Persistente checksums zouden geen problemen moeten veroorzaken. Als er echter sprake is van een checksum-mismatch, wordt een kleine heropbouw gestart, waardoor het probleem zich opnieuw kan voordoen. Schakel indien mogelijk de Persistent Checksum uit.