Ubuntu

恢復失敗的軟體 Raid5

  • December 24, 2018

我正在尋找從軟體 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

引用自:https://unix.stackexchange.com/questions/490670