PowerFlex mange faste lesefeil etter kald oppstart av SDS-server
Summary: Etter en uventet strømsyklus for SDS-serveren rapporterer MDM mange faste lesefeil. PowerFlex-system som bruker lagringsgruppe for middels granularitet (MG), og som har funksjonen for fast kontrollsum aktivert. Enheter som er større enn 2 TB. En enkelt SDS-server opplever uventet en strømsyklus (kald oppstart). To eller flere SDS-servere opplever uventet en strømsyklus (kald oppstart). Vi bekreftet at dette problemet oppstår fra funksjonen Persistent Checksum (PC) med enheter som er større enn 2 TB, spesielt når de er kombinert med kaldstart på en SDS-server. ...
Symptoms
Scenario
PowerFlex-system som bruker et lagringsutvalg med middels granularitet, og som har funksjonen for fast kontrollsum aktivert.
Enheter som er større enn 2 TB.
En enkelt SDS-server opplever uventet en strømsyklus (kald oppstart).
To eller flere SDS-servere opplever uventet en strømsyklus (kald oppstart).
Symptomer
MDM-hendelseslogger rapporterer mange faste lesefeil:
2023-12-05 12:01:42.634000:0031658:SCANNER_NEW_FIXED_ERRORS__INFO INFO SDS <name> encountered one or more read errors on device /dev/disk/by-id/scsi-<id>, and they were all fixed (Found: 29443, Fixed: 29443) ...
SDS-sporingslogger viser kontrollsumavvik:
2023/12/05 12:01:39.643280 7ff09dd3ddb0:mosT10Dif_VerifyContT10DIFBuffer:00381: (T10DIF) DIF Verification Failed: blk=0, blkSize=8, pData=0x7fedddbff000, pDif=0x7ff09dd38820, computed_guard=b5c2, DIF_guard=58e1, difGranularity=8 2023/12/05 12:01:39.643288 7ff09dd3ddb0:mgPhyDevPersChksm_IO_ReadValidate:03647: data Validation (state: PROTECTED) failed, devId 0xddd77b550046000e, combId 4716801282c6, combOffsetInLbs 16609280, dataOffsetInLbs 4306157568, dataSizeInLbs 2048, chksmRelativeOffsetBytes 1075099648, chksmSizeBytes 512, rc IO_ERR_PERS_CHECKSUM_MISMATCH (Pers. Checksum) 2023/12/05 12:01:39.643298 7ff09dd3ddb0:mgStorageRegion_ReadSync:03646: Reading tooth data failed: IO_ERR_PERS_CHECKSUM_MISMATCH. combId:4716801282c6,vTree:0xda6ddd6400000022,offsetVol:0x374ba9000,offsetInComb:16609280,sizeInLbs:2048,phyToothIdx:2101592,srcToothIdx:inv,dstToothIdx:inv New:(0,0) Requested:(37,1) volId:0 2023/12/05 12:01:39.643372 7ff09dd3ddb0:mgPhyDev_IncreaseInaccessibleCapacity:06587: PDE - devId ddd77b550046000e toothIndex 2101592 Increased inaccessible capacity to 1 2023/12/05 12:01:39.643383 7ff09dd3ddb0:raidComb_ReportCorruptionIfShould:19441: PDE - Comb 4716801282c6 Reported CORRUPT integrity result SUCCESS combId:4716801282c6,vTree:0xda6ddd6400000022,offsetVol:0x374ba9000,offsetInComb:16609280,sizeInLbs:2048,phyToothIdx:2101592,srcToothIdx:inv,dstToothIdx:inv New:(0,0) Requested:(37,1) volId:0 2023/12/05 12:01:39.643390 7ff09dd3ddb0:ioh_NewRequest:10209: Check for scan error on comb 4716801282c6 - Done rc is IO_ERR_PERS_CHECKSUM_MISMATCH (Lba 16609280 2048) (0 ms) 2023/12/05 12:01:39.647175 7ff098be4db0:storageRegion_PostIntegrityCorrection:04647: PDE - Clearing corruption in comb 4716801282c6 offsetInComb 16609280 extentSize 2048 after raidComb_WriteCombLocal combId:4716801282c6,vTree:0xda6ddd6400000022,offsetVol:0x374ba9000,offsetInComb:16609280,sizeInLbs:2048,phyToothIdx:2101592,srcToothIdx:inv,dstToothIdx:inv New:(0,0) Requested:(37,1) volId:0 2023/12/05 12:01:39.647259 7ff098be4db0:mgPhyDev_DecreaseInaccessibleCapacity:06604: PDE - devId ddd77b550046000e toothIndex 2101592 Decreased inaccessible capacity to 0 2023/12/05 12:01:39.647350 7ff098be4db0:ioh_NewRequest:09688: comb:4716801282c6,vTree:0x0,offsetVol:0xffffffffffffffff,offsetTooth:0x0, Succeeded to fix comb 4716801282c6, offset 16609280, by its primary
Hvis flere SDS-er opplever en kald oppstart, kan det oppstå utilgjengelig kapasitet. Dette kan sees fra query_all:
Number of devices with inaccessible capacity: 367
Innvirkning:
MDM-varsler som indikerer løste lesefeil som ble korrigert av den speilede kopien.
MDM-hendelseslogger fylles opp med hendelser om løste lesefeil.
Cause
Etter en kald oppstart til en SDS-server, er det et programvarekodeproblem som forhindrer full gjenoppbygging av vedvarende kontrollsummer på enheter større enn 2 TB. Bakgrunnsskannerfunksjonen (BGS) oppdager avvik mellom primære og sekundære kopier av data på grunn av manglende kontrollsum, og markerer dem som faste lesefeil. Det er viktig å merke seg at det ikke er noen risiko for dataintegritet eller tap. BGS-funksjonen korrigerer automatisk de identifiserte forskjellene ved å korrigere kontrollsummene. Som et resultat er observerte faste lesefeil et biprodukt av denne prosessen, med forsikring om at dataintegriteten forblir intakt.
Resolution
Disse hendelsene og varslene kan trygt ignoreres. Hendelsene og varslene vil til slutt forsvinne når BGS kommer gjennom alle enhetene.
Hvis MDM-varslene og hendelsene er problematiske, kan SDS som opplevde en kald oppstart, fjernes fra systemet og legges til igjen.
Hvis flere SDS-er opplever en kald oppstart og en utilgjengelig kapasitet blir sett, må den vedvarende kontrollsummen deaktiveres midlertidig.
Hvis du vil deaktivere funksjonen for vedvarende kontrollsum, må BGS deaktiveres først:
1) Koble til den primære MDM-tjeneren.
2) Deaktiver BGS:
scli --disable_background_device_scanner --protection_domain_name <pd> --storage_pool_name <sp>
3) Deaktiver vedvarende kontrollsum:
scli --disable_persistent_checksum --protection_domain_name <pd> --storage_pool_name <sp> |
De utilgjengelige områdene bør slutte å øke og begynne å minke. Dette kan ta litt tid. Noen ganger kan det å utføre SCLI-kommandoen for test_inaccessible_capoacity for hver berørte enhet bidra til å fremskynde denne prosessen.
4) Hvis de utilgjengelige områdene ikke reduseres fra handlingene ovenfor, plasserer du SDS-ene som er flagget med PDE i IMM og starter SDS-tjenesten på nytt.
Når all den utilgjengelige kapasiteten er borte, aktiverer du vedvarende kontrollsum og BGS.
1) Aktiver vedvarende kontrollsum:
scli --enable_persistent_checksum --protection_domain_name <pd> --storage_pool_name <sp>
Dette kan ta lang tid da alle kontrollsummer for alle dataene må bygges opp igjen. Fremdriften for dette kan spores ved hjelp av kommandoen SCLI query_all. Når de vedvarende kontrollsummene er beregnet og beskyttet, er det først da BGS kan aktiveres.
2) Aktiver BGS:
scli --enable_background_device_scanner --protection_domain_name <pd> --storage_pool_name <sp>
Additional Information
Berørte versjoner
PowerFlex 3.x
PowerFlex 4.x
Løst i versjon
PowerFlex 3.6.3
PowerFlex 4.5.2