Le périphérique PowerFlex présente des erreurs de lecture corrigées
Summary: Les appareils SDS présentent des erreurs indiquant « L’appareil a corrigé des erreurs de lecture ».
Symptoms
Scénario
Cela peut se produire lorsqu’un appareil SDS présente des erreurs de lecture qui ont été corrigées par le SDS.
Cela peut se produire lorsque le scanner en arrière-plan est désactivé ou activé.
Symptômes
Les erreurs corrigées sur un périphérique peuvent être affichées aux emplacements suivants :
-
L’interface graphique affiche une erreur :
-
La sortie « --query_sds --sds_id <SDS_ID> » affiche un compteur pour chaque appareil avec des erreurs de lecture corrigées :
15: Name: /dev/sdr Path: /dev/sdr Original-path: /dev/sdr ID: 2d63f7c80003000e
Storage Pool: SAS_pool1, Capacity: 1116 GB Error-fixes: 6 scanned 0 MB, Compare errors: 0 State: Normal
Le counters_dump.txt dans MDM getInfoDump affiche les FIXED_READ_ERROR_COUNT sur différents objets :
ID: df7700a600120012 DEVICE_TYPE READ_ERR FIXED_READ_ERROR_COUNT 1 ID: 1d1e4e5500000012 SDS_TYPE READ_ERR FIXED_READ_ERROR_COUNT 1 ID: 1c34e1f700000007 STORAGE_POOL_TYPE READ_ERR FIXED_READ_ERROR_COUNT 1 ID: b9b286df00000001 PROTECTION_DOMAIN_TYPE READ_ERR FIXED_READ_ERROR_COUNT 1 ID: 49b6b8057d1fc84b SYSTEM_TYPE READ_ERR FIXED_READ_ERROR_COUNT 1
Autres symptômes possibles : L’état de l’appareil est peut-être Error. Il peut y avoir des erreurs sur le périphérique en mode bloc dans les messages système ou syslog :
blk_update_request: critical medium error, dev sdr, sector 94390272 sd 0:2:15:0: [sdr] tag#1 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE sd 0:2:15:0: [sdr] tag#1 Sense Key : Medium Error [current] sd 0:2:15:0: [sdr] tag#1 Add. Sense: Unrecovered read error
Il peut y avoir de longs messages d’E/S en transit dans le SDS trc :
contDevMngr_HandleLongInflightIoViolation:02998: IO on devId: 2d63f7c80003000e (/dev/sdr) took too long, Low threshold exceeded - waited for reaper 12250 millis contDevMngr_HandleLongInflightIoViolation:02998: IO on devId: 2d63f7c80003000e (/dev/sdr) took too long, Low threshold exceeded - waited for reaper 13250 millis contDevMngr_HandleLongInflightIoViolation:02998: IO on devId: 2d63f7c80003000e (/dev/sdr) took too long, Low threshold exceeded - waited for reaper 14250 millis
Il peut y avoir des erreurs dans les compteurs d’E/S de l’appareil dans le sdbg_out.txt du SDS :
13: Dev path:/dev/sdr Size(lbs):0 Time grn:520577464
Io Counters:
GENERAL
Writes: 4852 Lbs: 2160443 MBs: 1054 Errors: 0
Reads: 49283 Lbs: 111376 MBs: 54 Errors: 12744
BM
Writes: 0 Lbs: 0 MBs: 0 Errors: 0
Reads: 0 Lbs: 0 MBs: 0 Errors: 0
COMB_MAP
Writes: 5 Lbs: 1390 MBs: 0 Errors: 2
Reads: 0 Lbs: 0 MBs: 0 Errors: 0
TOOTH_MAP
Writes: 426 Lbs: 688528 MBs: 336 Errors: 424
Reads: 0 Lbs: 0 MBs: 0 Errors: 0
IO
Writes: 4319 Lbs: 603064 MBs: 294 Errors: 16
Reads: 2076 Lbs: 16608 MBs: 8 Errors: 22
La latence de l’appareil peut être élevée selon counters_dump.txt :
ID: 2d63f7c60003000c DEVICE_TYPE DEV_LATENCY AVG_WRITE_LATENCY_IN_MICROSEC 0 ID: 2d63f7c70003000d DEVICE_TYPE DEV_LATENCY AVG_WRITE_LATENCY_IN_MICROSEC 0 ID: 2d63f7c80003000e DEVICE_TYPE DEV_LATENCY AVG_WRITE_LATENCY_IN_MICROSEC 11424 ID: 2d63f7c90003000f DEVICE_TYPE DEV_LATENCY AVG_WRITE_LATENCY_IN_MICROSEC 0 ID: 2d63f7ca00030010 DEVICE_TYPE DEV_LATENCY AVG_WRITE_LATENCY_IN_MICROSEC 0
Impact
Le compteur « Erreurs de lecture résolues » n’a pas d’impact direct sur le système.
Toutefois, il peut indiquer une condition sous-jacente susceptible de provoquer des déconnexions SDS, des activités de reconstruction, etc.
Cause
Cela peut se produire lorsqu’un appareil SDS présente des erreurs de lecture qui ont été corrigées ou corrigées à l’aide de la copie miroir. La correction peut intervenir dans les cas suivants :
- Le scanner en arrière-plan ne parvient pas à lire une copie des données et utilise l’autre copie pour les écraser.
- Un SDS ne parvient pas à traiter les demandes de lecture d’un SDC en raison d’un échec de lecture du disque et utilise la copie secondaire pour traiter les E/S et écraser les données locales.
L’avertissement indique que le disque est peut-être ralenti, qu’il est défectueux ou qu’il présente des blocs défectueux. Les mécanismes décrits ci-dessus réécrivent les blocs, ce qui peut corriger les blocs défectueux « mous ».
Resolution
- Examinez le disque. Si nécessaire, contactez le fournisseur du matériel pour le remplacer.
Le compteur indique généralement une condition sous-jacente et le disque est en panne. L’action du SDS expliquée ci-dessus est une tentative de correction des blocs défectueux souples, mais peut ne pas réussir dans tous les scénarios.
-
Effacez le compteur.
scli --reset_scanner_error_counters --protection_domain_id <pd id> --storage_pool_id <sp id> --reset_corrected_read_error_counter