半失敗的 RAID6,仍然能夠複製數據,但速度非常慢

半失敗的 RAID6,仍然能夠複製數據,但速度非常慢

我有一個帶有 mdadm 設定的 5 驅動器軟體 raid6(2 個奇偶校驗驅動器),但有一個驅動器出現故障。我訂購了更換件,當我關閉機器電源以將故障驅動器更換為新驅動器時,另一個驅動器同時發生故障(完全失效)。因此,現在有 3 個舊驅動器有數據,1 個新驅動器正在重建,還有 1 個驅動器遺失。

然後我注意到重建速度非常慢,資料只能處理 100 kb/s 左右。之前的重建運行速度約為 100 MB/s!我決定購買一台帶有新驅動器的 Synology 設備,並在還可以的時候複製盡可能多的資料。它已經運行了 2 個月,我已經能夠複製幾個 TB 的數據,但還有幾個 TB 的數據需要複製,以這個速度,還需要 6 個月才能完成。

新 NAS (Synology) 上的資料正常,到目前為止沒有資料遺失!我希望我能做點什麼來讓它跑得更快。錯誤日誌表明它在特定驅動器(sdd)上失敗,但也許有一個設定會告訴它“更快地失敗”,以便它複製得更快,因為它實際上並沒有失敗?日誌如下:

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdf1[5] sdb1[0] sdc1[1] sdd1[2]
      17581168128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/3] [UUU__]
      [>....................]  recovery =  0.4% (24696932/5860389376) finish=584364702.6min speed=0K/sec

unused devices: <none>

/var/log/messages 的尾部

Dec 16 11:29:47 [localhost] kernel: ata4.00: status: { DRDY ERR }
Dec 16 11:29:47 [localhost] kernel: ata4.00: error: { UNC }
Dec 16 11:29:47 [localhost] kernel: ata4: hard resetting link
Dec 16 11:29:47 [localhost] kernel: ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
Dec 16 11:29:47 [localhost] kernel: ata4.00: configured for UDMA/133
Dec 16 11:29:47 [localhost] kernel: sd 3:0:0:0: [sdd] tag#24 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Dec 16 11:29:47 [localhost] kernel: sd 3:0:0:0: [sdd] tag#24 Sense Key : Medium Error [current] [descriptor]
Dec 16 11:29:47 [localhost] kernel: sd 3:0:0:0: [sdd] tag#24 Add. Sense: Unrecovered read error - auto reallocate failed
Dec 16 11:29:47 [localhost] kernel: sd 3:0:0:0: [sdd] tag#24 CDB: Read(16) 88 00 00 00 00 00 02 87 64 50 00 00 00 40 00 00
Dec 16 11:29:47 [localhost] kernel: blk_update_request: I/O error, dev sdd, sector 42427472
Dec 16 11:29:47 [localhost] kernel: raid5_end_read_request: 5 callbacks suppressed
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425424 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425432 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425440 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425448 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425456 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425464 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425472 on sdd1).
Dec 16 11:29:47 [localhost] kernel: md/raid:md0: read error not correctable (sector 42425480 on sdd1).
Dec 16 11:29:47 [localhost] kernel: ata4: EH complete
Dec 16 11:29:51 [localhost] kernel: ata4.00: exception Emask 0x0 SAct 0x10000000 SErr 0x0 action 0x0
Dec 16 11:29:51 [localhost] kernel: ata4.00: irq_stat 0x40000008
Dec 16 11:29:51 [localhost] kernel: ata4.00: failed command: READ FPDMA QUEUED
Dec 16 11:29:51 [localhost] kernel: ata4.00: cmd 60/38:e0:30:b8:f5/00:00:02:00:00/40 tag 28 ncq 28672 in#012         res 41/40:00:30:b8:f5/00:00:02:00:00/00 Emask 0x409 (media error) <F>

答案1

因此,有幾個關於超級用戶的貼文與此類似,但都沒有得到回應。這是因為你應該先使用 ddrescue 來修復音量,然後 rsync 就可以了。

https://raid.wiki.kernel.org/index.php/Recovering_a_failed_software_RAID

相關內容