PowerFlex ha risolto molti errori di lettura dopo l'avvio a freddo di un server SDS

Summary: Dopo un ciclo di alimentazione imprevisto del server SDS, MDM segnala molti errori di lettura corretti. Sistema PowerFlex che utilizza un pool di storage con granularità media (MG, Medium Granularity) e ha la funzione di checksum persistente abilitata. Dispositivi di dimensioni superiori a 2 TB. Su un singolo server SDS si verifica un ciclo di alimentazione imprevisto (avvio a freddo). Due o più server SDS subiscono un ciclo di alimentazione imprevisto (avvio a freddo). Abbiamo confermato che questo problema deriva dalla funzione di checksum persistente (PC) con dispositivi di dimensioni superiori a 2 TB, in particolare se abbinato a un avvio a freddo di un server SDS. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Scenario

Sistema PowerFlex che utilizza un pool di storage con granularità media e ha la funzione di checksum persistente abilitata. 

Dispositivi di dimensioni superiori a 2 TB.

Su un singolo server SDS si verifica un ciclo di alimentazione imprevisto (avvio a freddo).

Due o più server SDS subiscono un ciclo di alimentazione imprevisto (avvio a freddo).

Sintomi


I registri eventi MDM segnalano molti errori di lettura corretti:

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)
...


I registri di traccia SDS mostrano le mancate corrispondenze del checksum:

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

Se più SDS subiscono un avvio a freddo, potrebbe essere osservata una capacità inaccessibile. Questo può essere visto dal query_all:

Number of devices with inaccessible capacity: 367

 


Impatto: 

Avvisi MDM che indicano errori di lettura corretti dalla copia con mirroring.
I registri eventi MDM si riempiono di eventi relativi agli errori di lettura risolti.

Cause

A seguito di un avvio a freddo su un server SDS, si verifica un problema del codice software che impedisce la ricostruzione completa dei checksum persistenti su dispositivi di dimensioni superiori a 2 TB. La funzione del background scanner (BGS) rileva le discrepanze tra le copie primarie e secondarie dei dati a causa del checksum mancante, contrassegnandole come errori di lettura corretti. È importante notare che non vi è alcun rischio di integrità o perdita dei dati. La funzione BGS corregge automaticamente le differenze identificate rettificando i checksum. Di conseguenza, gli errori di lettura corretti osservati sono un sottoprodotto di questo processo, con la garanzia che l'integrità dei dati rimanga intatta.

Resolution

Questi eventi e avvisi possono essere tranquillamente ignorati. Gli eventi e gli avvisi scompariranno una volta che BGS avrà superato tutti i dispositivi. 
Se gli avvisi e gli eventi MDM sono problematici, l SDS che ha subito un avvio a freddo può essere rimosso dal sistema e aggiunto nuovamente.
 

Se più SDS riscontrano un avvio a freddo e viene rilevata una capacità inaccessibile, il checksum persistente deve essere temporaneamente disabilitato.

Per disabilitare la funzione di checksum persistente, è prima necessario disabilitare BGS:

1) Connettersi al server MDM primario.

2) Disabilitare BGS:

scli --disable_background_device_scanner --protection_domain_name <pd> --storage_pool_name <sp>

 

3) Disabilitare il checksum persistente:

scli --disable_persistent_checksum --protection_domain_name <pd> --storage_pool_name <sp>

Le aree inaccessibili dovrebbero smettere di aumentare e iniziare a diminuire. Questa operazione potrebbe richiedere del tempo. In alcuni casi, l'esecuzione del comando SCLI di test_inaccessible_capoacity per ogni dispositivo interessato può contribuire a velocizzare questo processo.

4) Se le aree inaccessibili non diminuiscono a causa delle azioni di cui sopra, posizionare gli SDS contrassegnati con PDE nell'IMM e riavviare il servizio SDS. 

 

Una volta esaurita la capacità inaccessibile, abilitare checksum e BGS persistenti.

1) Abilitare il checksum persistente:

scli --enable_persistent_checksum --protection_domain_name <pd> --storage_pool_name <sp>

Questa operazione potrebbe richiedere molto tempo poiché tutti i checksum per tutti i dati devono essere ricostruiti. L'avanzamento di questa operazione può essere monitorato utilizzando il comando SCLI query_all. Una volta calcolati e protetti i checksum persistenti, solo allora è possibile abilitare BGS.

2) Abilitare BGS:

scli --enable_background_device_scanner --protection_domain_name <pd> --storage_pool_name <sp>

Additional Information

Versioni interessate

PowerFlex 3.xPowerFlex
4.x

Risolto nella versione

PowerFlex 3.6.3
PowerFlex 4.5.2

Affected Products

PowerFlex rack, ScaleIO
Article Properties
Article Number: 000220798
Article Type: Solution
Last Modified: 10 Feb 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.