PowerFlex: o dispositivo corrigiu erros de leitura - Redefinir contador de erros do dispositivo
Summary: Os dispositivos SDS apresentam erros que informam "O dispositivo corrigiu erros de leitura".
Symptoms
- Esse problema ocorre quando um dispositivo SDS tem erros de leitura que são corrigidos pelo SDS.
- Isso ocorre quando o scanner em segundo plano está desativado ou ativado.
Os erros corrigidos em um dispositivo são mostrados nos seguintes locais:
-
A GUI mostra um erro:

-
O "
--query_sds --sds_id <SDS_ID>" mostra um contador para cada dispositivo com erros de leitura corrigidos:
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
Os counters_dump.txt no MDM, getInfoDump mostra o FIXED_READ_ERROR_COUNT Em objetos diferentes:
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
Outros sintomas possíveis: O dispositivo pode estar em estado de erro. Pode haver erros no dispositivo de bloco nas mensagens do sistema ou no 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
Pode haver mensagens de E/S longas em trânsito no rastreamento do SDS:
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
Pode haver erros nos contadores de E/S do dispositivo no SDS sdbg_out.txt:
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
A latência do dispositivo pode ser alta, de acordo com 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
Impacto
O contador "Fixed Read Errors" não tem nenhum impacto direto no sistema.
No entanto, isso pode indicar uma condição subjacente que pode causar desconexões do SDS, atividades de recriação e assim por diante.
Cause
Esse problema ocorre quando um dispositivo SDS tem erros de leitura que foram corrigidos ou corrigidos usando a cópia espelhada. A correção acontece nos seguintes casos:
- O scanner em segundo plano não consegue ler uma cópia dos dados e usa a outra cópia para substituí-los.
- Um SDS não consegue atender às solicitações de leitura de um SDC devido à falha na leitura do disco e usa a cópia secundária para atender à E/S e sobregravar os dados locais.
O aviso indica que o disco pode estar ficando lento, com defeito ou com blocos defeituosos. Os mecanismos descritos acima reescrevem os blocos, o que pode corrigir blocos ruins "soft".
Resolution
- Examine o disco. Se necessário, entre em contato com o fornecedor do hardware para substituí-lo. O contador geralmente indica uma condição subjacente e o disco está quebrando. A ação do SDS explicada acima é uma tentativa de corrigir blocos defeituosos suaves, mas pode não ter sucesso em todos os cenários.
- Limpe o contador de erros executando o seguinte comando no MDM principal com login de administrador:
scli --reset_scanner_error_counters --protection_domain_id <pd id> --storage_pool_id <sp id> --reset_corrected_read_error_counter
Você pode executar o scli --query_all Comando para listar os IDs do domínio de proteção e do pool de armazenamento.