
這是一個 Mint 21.1 x64 Linux 系統,多年來一直將磁碟添加到 RAID 陣列中,直到現在我們擁有一個 10 個 3TB 的陣列和一個 5 個 6TB 的陣列。四個硬碟從陣列中掉出,每個硬碟掉出兩個,顯然是由於一個控制器發生故障造成的。我們更換了控制器,但這並沒有使陣列恢復功能。mdadm --assemble
報告無法啟動任一陣列,磁碟不足(每個陣列有兩個失敗,我並不感到驚訝);mdadm --run
報告 I/O 錯誤(系統日誌似乎表明這是因為它無法啟動所有驅動器,但沒有跡象表明它嘗試啟動兩個明顯不高興的驅動器),但我仍然可以使mdadm --examine
磁碟出現故障,並且它們看起來絕對正常。這是功能驅動器的輸出:
mdadm --examine /dev/sda
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : 6e072616:2f7079b0:b336c1a7:f222c711
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:30:27 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : 2faf0b93 - correct
Events : 21397
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 9
Array State : AAAAAA..AA ('A' == active, '.' == missing, 'R' == replacing)
這是故障驅動器的輸出:
mdadm --examine /dev/sdk
/dev/sdk:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : d62b85bc:fb108c56:4710850c:477c0c06
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:27:31 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : d53202fe - correct
Events : 21392
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 6
Array State : AAAAAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
編輯:這是第二個故障驅動器的 --examine 報告;正如你所看到的,它失敗的同時整個陣列也斷線了。
# mdadm --examine /dev/sdl
/dev/sdl:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 829c0c49:033a810b:7f5bb415:913c91ed
Name : DataBackup:back (local to host DataBackup)
Creation Time : Mon Feb 15 13:43:15 2021
Raid Level : raid5
Raid Devices : 10
Avail Dev Size : 5860268976 sectors (2.73 TiB 3.00 TB)
Array Size : 26371206144 KiB (24.56 TiB 27.00 TB)
Used Dev Size : 5860268032 sectors (2.73 TiB 3.00 TB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=944 sectors
State : clean
Device UUID : 35ebf7d9:55148a4a:e190671d:6db1c2cf
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Apr 2 04:27:31 2023
Bad Block Log : 512 entries available at offset 24 sectors
Checksum : c13b7b79 - correct
Events : 21392
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 7
Array State : AAAAAAAAAA ('A' == active, '.' == missing, 'R' == replacing)
第二個陣列(5x6TB)在兩分鐘後因兩個磁碟退出而離線。該陣列上的兩個故障磁碟以及另一個陣列上的兩個故障磁碟都連接到單一 4 連接埠 SATA 控制器卡,當然該卡現在已被更換。
我覺得有趣的主要事情是,故障的驅動器似乎報告自己還活著,但mdadm
不同意它。journalctl
好像沒有回溯到4月2日,所以我可能無法找出發生了什麼事。有人知道我可以做些什麼來讓這個野獸重新上線嗎?
答案1
mdadm
在嘗試任何可能具有破壞性的命令之前,請務必對陣列中的所有磁碟機進行映像級備份。有了這些備份,您稍後就可以嘗試在虛擬機器上進行還原。- 檢查
Update time
輸出中的故障磁碟機字段,以mdadm --examine /dev/sdX
確定磁碟機從陣列脫落時的確切事件順序。有時,第一個驅動器故障會被忽視,並且使舊驅動器聯機將導致在嘗試掛載檔案系統時發生災難性故障。 - 在您的情況下,兩個驅動器同時發生故障,因此使用
mdadm --assemble --force /dev/mdX
或強制陣列聯機應該是安全的mdadm --assemble --force --scan
。如果不是這種情況,您應該透過為 指定陣列成員驅動器,強制僅使最後一個從陣列中脫落的驅動器聯機mdadm --assemble --force /dev/mdX /dev/sda /dev/sdb missing /dev/sdd
,請注意,驅動器的順序很重要。 - 由於您只能使用顯式設備清單才能使事情順利進行,因此
assemble
我相信您的陣列目前處於降級狀態,並將其/dev/sdh
標記為離線。查看輸出以cat /proc/mdstat
確定這一點,然後進行備份、排除硬體故障並完全重建陣列。