ZFS - "Add.Sense: 복구할 수 없는 읽기 오류 - 자동 재할당 실패"가 시스템 로그에 표시되지만 SMART 데이터는 정상적으로 보입니다.

ZFS - "Add.Sense: 복구할 수 없는 읽기 오류 - 자동 재할당 실패"가 시스템 로그에 표시되지만 SMART 데이터는 정상적으로 보입니다.

오류가 발생하는지 확인하기 위해 매주 청소하는 zpool(3x 3TB Western Digital Red 3개)이 있는데 시스템 로그에 계속 오류가 발생합니다.

Jul 23 14:00:41 server kernel: [1199443.374677] ata2.00: exception Emask 0x0 SAct 0xe000000 SErr 0x0 action 0x0
Jul 23 14:00:41 server kernel: [1199443.374738] ata2.00: irq_stat 0x40000008
Jul 23 14:00:41 server kernel: [1199443.374773] ata2.00: failed command: READ FPDMA QUEUED
Jul 23 14:00:41 server kernel: [1199443.374820] ata2.00: cmd 60/02:c8:26:fc:43/00:00:f9:00:00/40 tag 25 ncq 1024 in
Jul 23 14:00:41 server kernel: [1199443.374820] res 41/40:00:26:fc:43/00:00:f9:00:00/40 Emask 0x409 (media error) <F>
Jul 23 14:00:41 server kernel: [1199443.374946] ata2.00: status: { DRDY ERR }
Jul 23 14:00:41 server kernel: [1199443.374979] ata2.00: error: { UNC }
Jul 23 14:00:41 server kernel: [1199443.376100] ata2.00: configured for UDMA/133
Jul 23 14:00:41 server kernel: [1199443.376112] sd 1:0:0:0: [sda] tag#25 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jul 23 14:00:41 server kernel: [1199443.376115] sd 1:0:0:0: [sda] tag#25 Sense Key : Medium Error [current] [descriptor]
Jul 23 14:00:41 server kernel: [1199443.376118] sd 1:0:0:0: [sda] tag#25 Add. Sense: Unrecovered read error - auto reallocate failed
Jul 23 14:00:41 server kernel: [1199443.376121] sd 1:0:0:0: [sda] tag#25 CDB: Read(16) 88 00 00 00 00 00 f9 43 fc 26 00 00 00 02 00 00
Jul 23 14:00:41 server kernel: [1199443.376123] blk_update_request: I/O error, dev sda, sector 4181982246
Jul 23 14:00:41 server kernel: [1199443.376194] ata2: EH complete

얼마 전 SATA 케이블 오류로 인해 일부 읽기/쓰기 오류가 발생했고(나중에 zpool 정리 및 스냅샷에서 복원하여 수정됨) 처음에는 이 오류가 그것 때문에 발생한 것이라고 생각했습니다. 그런데 이번에는 부시워킹을 할 때 무작위로 계속 반복됩니다.

지금까지 ZFS는 오류가 없다고 말하지만 디스크를 "복구"하고 있다고도 말합니다.

 pool: sdb
 state: ONLINE
  scan: scrub in progress since Sun Jul 23 00:00:01 2017
    5.41T scanned out of 7.02T at 98.9M/s, 4h44m to go
    16.5K repaired, 77.06% done
config:

    NAME                                        STATE     READ WRITE CKSUM
    sdb                                         ONLINE       0     0     0
      ata-WDC_WD30EFRX-68EUZN0_WD-WMC4N1366685  ONLINE       0     0     0  (repairing)
      ata-WDC_WD30EFRX-68EUZN0_WD-WMC4N0K3PFPS  ONLINE       0     0     0
      ata-WDC_WD30EFRX-68EUZN0_WD-WMC4N0M94AKN  ONLINE       0     0     0
    cache
      sde                                       ONLINE       0     0     0

errors: No known data errors

SMART 데이터에서는 간단한 테스트를 실행한 후 모든 것이 괜찮다는 것을 알려주는 것 같고, 이제 어떤 결과가 있는지 확인하기 위해 긴 자체 테스트를 실행하고 있습니다. 유일하게 눈에 띄는 점은 UDMA_CRC_Error_CountSATA 케이블을 고정한 후에도 전혀 늘어나지 않았다는 점입니다.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   195   175   021    Pre-fail  Always       -       5233
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       625
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   069   069   000    Old_age   Always       -       22931
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       625
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       581
193 Load_Cycle_Count        0x0032   106   106   000    Old_age   Always       -       283773
194 Temperature_Celsius     0x0022   118   109   000    Old_age   Always       -       32
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   133   000    Old_age   Always       -       1801
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     22931         -

이 외에도 ZFS I/O 오류에 대한 알림도 받았습니다.이것이는 드라이브 유휴/회전 시간과 관련된 버그일 뿐입니다.

  eid: 71
 class: io
  host: server
  time: 2017-07-23 15:57:49-0500
 vtype: disk
 vpath: /dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WMC4N1366685-part1
 vguid: 0x979A2C1464C41735
 cksum: 0
  read: 0
 write: 0
  pool: sdb

내 주요 질문은 이 드라이브를 어떻게 관리해야 합니까?안전을 위해 교체하려고 하는데 얼마나 자주 교체해야 하는지 궁금합니다.

다음은 SMART 데이터와 ZFS/커널의 차이점을 설명할 수 있다고 생각합니다.

  1. ZFS io 오류 버그로 인해 커널은 불량 섹터가 있다고 생각하지만 SMART에 따르면 아무 것도 없습니다.
  2. ZFS는 드라이브를 계속 수리합니다(이전 불량 케이블과 관련). 이는 SMART 데이터가 있음에도 불구하고 드라이브 오류를 나타낼 수도 있습니다.
  3. 이 오류는 거짓양성(false positive)이며 이와 관련하여 수정되지 않았습니다.허점우분투에서는

편집: 이제 좋은 드라이브의 펌웨어 버전이 82.00A82이고 오류가 있는 버전이 80.00A80이라는 것을 방금 깨달았습니다. Western Digital Forum에 따르면 이 특정 모델의 펌웨어를 업데이트할 수 있는 방법이 없습니다. 나는 그것도 도움이되지 않는다고 확신합니다.

편집 2: 오래 전에 업데이트하는 것을 잊어버렸지만 이는 궁극적으로 하드웨어 문제입니다. 여러 개의 SATA 케이블을 교체한 후 마침내 문제가 전원 케이블에 결함이 있다는 것을 깨달았습니다. 불안정한 전원 공급 장치로 인해 드라이브가 중단되었지만 더 나은 전원 공급 장치를 구입하여 풀을 절약할 수 있었습니다.

답변1

결국 드라이브 교체 여부를 결정할 수 있는 것은 귀하의 데이터입니다. 결국은 녹슬었을 뿐입니다.

그러나 cat/RAID0 풀을 생성한 것으로 나타나므로 드라이브에 오류가 발생하면 모든 것을 잃게 된다는 점을 지적하고 싶습니다. 미러가 없으면 ZFS는 실패한 파일을 복구할 수 없으며 보고만 할 수 있습니다.

정리가 실행 중일 때 syslog로 전송된 오류 메시지가 표시되면 ZFS 체크섬을 확인하는 동안 드라이브에 부담이 가해질 수 있습니다. 모든 데이터에 액세스할 수 있는 것은 아니기 때문에 스크러빙은 드라이브에서 재할당이 필요하다고 생각하는 블록에 도달할 수 있습니다. 아니면 회선에 소음이 있습니다. 나는 Brendan Gregg가 디스크에 대해 소리를 지르는 것에 대해 말하는 것이 아닙니다. ;o) 케이블 문제를 발견하셨나요? 컨트롤러나 포트 문제도 관련되어 있을까요?

Western Digital Forum에 대해서도 알고 계십니다. 저는 소비자 드라이브가 소프트웨어나 하드웨어 RAID와 잘 작동하지 않는다는 "불만"을 많이 보았습니다. 데이터가 중요한 경우 디스크 수가 많지 않고 재구축/재동기화 중에 다른 작업이 실패할 수 있으므로 미러링(3방향 미러 포함) 사용을 고려할 수 있습니다.

"스마트 데이터"의 경우 결론은 그것이 얼마나 "스마트"하거나 유용한가입니다. 공급업체 테스트를 통과했지만 쓸모가 없는 드라이브를 본 적이 있습니다.

관련 정보