오류가 발생하는지 확인하기 위해 매주 청소하는 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_Count
SATA 케이블을 고정한 후에도 전혀 늘어나지 않았다는 점입니다.
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/커널의 차이점을 설명할 수 있다고 생각합니다.
- ZFS io 오류 버그로 인해 커널은 불량 섹터가 있다고 생각하지만 SMART에 따르면 아무 것도 없습니다.
- ZFS는 드라이브를 계속 수리합니다(이전 불량 케이블과 관련). 이는 SMART 데이터가 있음에도 불구하고 드라이브 오류를 나타낼 수도 있습니다.
- 이 오류는 거짓양성(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방향 미러 포함) 사용을 고려할 수 있습니다.
"스마트 데이터"의 경우 결론은 그것이 얼마나 "스마트"하거나 유용한가입니다. 공급업체 테스트를 통과했지만 쓸모가 없는 드라이브를 본 적이 있습니다.