RAID陣列失敗,現在不會重新啟動; mdadm --examine 顯示磁碟機運作狀況良好,但 --assemble 失敗,缺少兩個磁碟

RAID陣列失敗,現在不會重新啟動; mdadm --examine 顯示磁碟機運作狀況良好,但 --assemble 失敗,缺少兩個磁碟

這是一個 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

  1. mdadm在嘗試任何可能具有破壞性的命令之前,請務必對陣列中的所有磁碟機進行映像級備份。有了這些備份,您稍後就可以嘗試在虛擬機器上進行還原。
  2. 檢查Update time輸出中的故障磁碟機字段,以mdadm --examine /dev/sdX確定磁碟機從陣列脫落時的確切事件順序。有時,第一個驅動器故障會被忽視,並且使舊驅動器聯機將導致在嘗試掛載檔案系統時發生災難性故障。
  3. 在您的情況下,兩個驅動器同時發生故障,因此使用mdadm --assemble --force /dev/mdX或強制陣列聯機應該是安全的mdadm --assemble --force --scan。如果不是這種情況,您應該透過為 指定陣列成員驅動器,強制僅使最後一個從陣列中脫落的驅動器聯機mdadm --assemble --force /dev/mdX /dev/sda /dev/sdb missing /dev/sdd,請注意,驅動器的順序很重要。
  4. 由於您只能使用顯式設備清單才能使事情順利進行,因此assemble我相信您的陣列目前處於降級狀態,並將其/dev/sdh標記為離線。查看輸出以cat /proc/mdstat確定這一點,然後進行備份、排除硬體故障並完全重建陣列。

相關內容