mdadm raid5 超級區塊遺失

mdadm raid5 超級區塊遺失

我有一個 3 磁碟 mdadm raid5 磁碟區(由 /dev/sd[abc] 組成),正在重塑,當伺服器電源出現故障時,將變為 5 個磁碟(新增 /dev/sd[df]) 。這是在 ubuntu 8.10 intrepid 64 位元伺服器(核心 2.6.27)上,mdadm 版本 2.6.4,從原始碼建置的。 ups監控守護程式當時夠好,可以執行以下指令

mdadm --stop /dev/md0
shutdown -P now

當我讓盒子恢復並運行時,我使用以下命令來恢復 raid,因為它不會自行出現。

mdadm --assemble /dev/md0 /dev/sd[abcdf]

它恢復並重新開始重塑過程,但只有 4 個光碟。 /dev/sdf 沒有超級區塊,所以它不會隨之而來。我嘗試將其添加回:

mdadm --add /dev/md0 /dev/sdf

但這只是將其添加為熱備件,而不是作為突襲中失踪的第五名成員。所以我用 --remove 刪除了它,因為此時的熱備件有點無用。更糟的是,這向磁碟添加了一個超級區塊,現在將其標識為熱備用。不過,使用 --zero-superblock 很容易擺脫它。

我想知道的是,我如何按摩該磁碟以使其回到陣列中正確的位置?我沒有理由相信數據是壞的,只是超級塊。或者,既然重塑已經在沒有它的情況下進行,此時嘗試重新添加它是否甚至不合適?

/proc/mdstat 的內容:

root@FS1:~# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sda[0] sdd[4] sdc[2] sdb[1]
      1953524736 blocks super 0.91 level 5, 512k chunk, algorithm 2 [5/4] [UUU_U]
      [======>..............]  reshape = 33.4% (326807040/976762368) finish=1175.3min speed=9216K/sec

unused devices: <none>

/etc/mdadm/mdadm.conf 的內容

root@FS1:~# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72

# This file was auto-generated on Wed, 15 Jul 2009 09:09:57 -0400
# by mkconf $Id$

mdadm --examine --scan 的輸出

root@FS1:~# mdadm --examine --scan
ARRAY /dev/md0 level=raid5 num-devices=5 UUID=4128dcfb:b5e905ae:60b633ef:af4ede72
   spares=1

mdadm -D 的輸出

root@FS1:~# mdadm -D /dev/md0
/dev/md0:
        Version : 00.91.03
  Creation Time : Sun Jul 12 15:57:27 2009
     Raid Level : raid5
     Array Size : 1953524736 (1863.03 GiB 2000.41 GB)
  Used Dev Size : 976762368 (931.51 GiB 1000.20 GB)
   Raid Devices : 5
  Total Devices : 4
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Thu Jul 16 23:34:21 2009
          State : clean, degraded, recovering
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

 Reshape Status : 33% complete
  Delta Devices : 2, (3->5)

           UUID : 4128dcfb:b5e905ae:60b633ef:af4ede72 (local to host FS1)
         Events : 0.216044

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
       3       0        0        3      removed
       4       8       48        4      active sync   /dev/sdd

答案1

首先,讓 md0 設備完成現有設定的消化。此時不要胡鬧它,因為它正忙於遵循它唯一的命令 -讓陣列恢復到乾淨狀態!

一旦情況穩定下來,繼續刪除第五個磁碟機的「舊」條目。然後繼續將磁碟機新增至陣列並像最初一樣重新調整,不過這次您將從 4 個磁碟而不是 3 個磁碟開始。

相關內容