恢復失敗的軟體 Raid5
我正在尋找從軟體 raid5 中設置的 4 個舊 HDD 恢復數據,看起來磁碟出現故障。我想要做的是恢復突襲,這樣我就可以將其數據複製到其他地方。我做了一些研究,我相信我想用它
mdadm
來執行重新同步,但歸根結底,我不想把它搞砸,如果有人能解釋需要做什麼才能得到它,我將不勝感激數據安全。我也在 ubuntu 16.04 上,這是我跑步時看到的mdadm --detail /dev/md0
/dev/md0: Version : 1.1 Creation Time : Thu Feb 13 09:03:27 2014 Raid Level : raid5 Array Size : 4395016704 (4191.41 GiB 4500.50 GB) Used Dev Size : 1465005568 (1397.14 GiB 1500.17 GB) Raid Devices : 4 Total Devices : 3 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sun Dec 23 12:51:56 2018 State : clean, FAILED Active Devices : 2 Working Devices : 2 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : CentOS-01:0 UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24 Events : 4178728 Number Major Minor RaidDevice State 0 0 0 0 removed 1 8 33 1 active sync /dev/sdc1 2 8 65 2 active sync /dev/sde1 6 0 0 6 removed 0 8 49 - faulty /dev/sdd1
另外,我在每台設備上執行了 mdadm –examine:
/dev/sdb1: Magic : a92b4efc Version : 1.1 Feature Map : 0x1 Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24 Name : CentOS-01:0 Creation Time : Thu Feb 13 09:03:27 2014 Raid Level : raid5 Raid Devices : 4 Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB) Array Size : 4395016704 (4191.41 GiB 4500.50 GB) Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB) Data Offset : 262144 sectors Super Offset : 0 sectors Unused Space : before=262072 sectors, after=1024 sectors State : clean Device UUID : 252a74c1:fae726d9:179963f2:e4694a65 Internal Bitmap : 8 sectors from superblock Update Time : Sun Mar 15 07:05:19 2015 Checksum : 53cae08e - correct Events : 130380 Layout : left-symmetric Chunk Size : 512K Device Role : Active device 3 Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdc1: Magic : a92b4efc Version : 1.1 Feature Map : 0x1 Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24 Name : CentOS-01:0 Creation Time : Thu Feb 13 09:03:27 2014 Raid Level : raid5 Raid Devices : 4 Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB) Array Size : 4395016704 (4191.41 GiB 4500.50 GB) Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB) Data Offset : 262144 sectors Super Offset : 0 sectors Unused Space : before=262072 sectors, after=1024 sectors State : clean Device UUID : dc8c18bd:e92ba6d3:b303ee86:01bd6451 Internal Bitmap : 8 sectors from superblock Update Time : Sun Dec 23 14:18:53 2018 Checksum : d1ed82ce - correct Events : 4178730 Layout : left-symmetric Chunk Size : 512K Device Role : Active device 1 Array State : .AA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd1: Magic : a92b4efc Version : 1.1 Feature Map : 0x1 Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24 Name : CentOS-01:0 Creation Time : Thu Feb 13 09:03:27 2014 Raid Level : raid5 Raid Devices : 4 Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB) Array Size : 4395016704 (4191.41 GiB 4500.50 GB) Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB) Data Offset : 262144 sectors Super Offset : 0 sectors Unused Space : before=262072 sectors, after=1024 sectors State : active Device UUID : 03a2de27:7993c129:23762f07:f4ba7ff8 Internal Bitmap : 8 sectors from superblock Update Time : Sun Dec 23 12:48:03 2018 Checksum : ba2a5a95 - correct Events : 4178721 Layout : left-symmetric Chunk Size : 512K Device Role : Active device 0 Array State : AAA. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sde1: Magic : a92b4efc Version : 1.1 Feature Map : 0x1 Array UUID : 1cf7d605:8b0ef6c5:bccd8c1e:3e841f24 Name : CentOS-01:0 Creation Time : Thu Feb 13 09:03:27 2014 Raid Level : raid5 Raid Devices : 4 Avail Dev Size : 2930012160 (1397.14 GiB 1500.17 GB) Array Size : 4395016704 (4191.41 GiB 4500.50 GB) Used Dev Size : 2930011136 (1397.14 GiB 1500.17 GB) Data Offset : 262144 sectors Super Offset : 0 sectors Unused Space : before=262072 sectors, after=1024 sectors State : clean Device UUID : c00a8798:51804c50:3fe76211:8aafd9b1 Internal Bitmap : 8 sectors from superblock Update Time : Sun Dec 23 14:18:53 2018 Checksum : 14ec2b30 - correct Events : 4178730 Layout : left-symmetric Chunk Size : 512K Device Role : Active device 2 Array State : .AA. ('A' == active, '.' == missing, 'R' == replacing)
編輯: 遵循@frostschutz 的建議,我執行了:
server:~$ sudo mdadm --stop /dev/md0
這成功地阻止了突襲。之後我跑了:
server:~$ sudo mdadm --assemble --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1` mdadm: forcing event count in /dev/sdd1(0) from 4178721 upto 4178730 mdadm: Marking array /dev/md0 as 'clean' mdadm: /dev/md0 assembled from 3 drives - not enough to start the array.
這看起來不太好,但我仍然嘗試了以下方法:
server:~$ sudo mdadm --assemble --scan mdadm: /dev/md/0 has been started with 3 drives (out of 4).
之後,陣列現在處於“活動,降級”狀態,其中 3 個磁碟處於“活動同步”狀態,最後一個已移除。我很高興地報告我已經成功開始將數據複製到一個更安全的地方(至少到目前為止 rsync 命令沒有顯示錯誤消息,但我想我們會看到)。
所以……自2015 年
/dev/sdb1
以來一直沒有活躍在這個數組中()。它上面的數據應該已經過時到無用的地步。從本質上講,您一直在執行 RAID-0。Update Time
剩下的就是其他三個設備
/dev/sd{c,d,e}1
。其中,/dev/sdd1
最近失敗了。由於您在幾年前就已經失去了冗餘,因此此故障有效地阻止了您的 RAID 工作。現在取決於。這三個驅動器仍然可讀嗎?然後你可能可以恢復數據。否則,遊戲就結束了。所以檢查
smartctl -a
。如果任何驅動器有壞扇區或重新分配的扇區,請使用ddrescue
將它們複製到新驅動器。如果驅動器完好無損,給定足夠新的核心(4.10+)和 mdadm(v4.x),您可能可以像這樣組裝它:
mdadm --stop /dev/md0 mdadm --assemble --force /dev/md0 /dev/sdc1 /dev/sdd1 /dev/sde1
(舊版本中存在 assemble force 錯誤,但我不確定是哪個版本。)
…如果這不起作用,你就剩下了,
mdadm --create
但這是一條充滿危險的道路,另請參見https://unix.stackexchange.com/a/131927/30851