ZFS - 系統日誌中的“添加。感知:未恢復的讀取錯誤 - 自動重新分配失敗”,但 SMART 數據看起來正常
我有一個 zpool(3x 3TB Western Digital Red),我每週都會清理出現的錯誤,但我的 syslog 中有一個反復出現的錯誤:
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 數據。
- 該錯誤是一個誤報,並且與Ubuntu 中的這個未修復的錯誤有關
編輯:現在我剛剛意識到好的驅動器在韌體版本 82.00A82 上,而出現錯誤的驅動器是 80.00A80。根據西部數據論壇的說法,無法更新此特定型號的韌體。我敢肯定這也無濟於事。
編輯2:很久以前忘記更新了,但這確實是一個硬體問題。在更換了多條 SATA 電纜後,我終於意識到問題一直是電源線故障。電源不穩定正在殺死驅動器,但我設法獲得了更好的驅動器並保存了池。
最後,這是您的數據,因此您將是決定是否應該更換驅動器的人。最後,它只是旋轉生鏽。
不過,我應該指出,您似乎已經創建了一個 cat/RAID0 池,因此如果驅動器出現故障,您將失去一切。如果沒有鏡像,ZFS 無法修復任何失敗的文件——只能報告它們。
如果您在清理執行時看到發送到 syslog 的錯誤消息,可能是由於在檢查 ZFS 校驗和時對驅動器徵稅。而且由於並非所有數據都被訪問,因此清理可能會遇到驅動器認為需要重新分配的塊。或者噪音就行了。我不是指 Brendan Gregg 對磁碟大喊大叫。;o)您確實注意到電纜問題,也許控制器或埠問題也存在?
您還注意到了一個西部數據論壇。我已經看到許多關於消費類驅動器的“抱怨”不能很好地與軟體或硬體 RAID 配合使用。如果您的數據很重要,您可能需要考慮使用鏡像,甚至可能是 3 向鏡像,因為磁碟數量不多,並且在重建/重新同步期間可能會出現其他問題。
就“智能數據”而言,它的“智能”或有用程度尚無定論。我已經看到驅動器通過了供應商的測試,但毫無用處。