Mdadm

mdadm raid5 超級塊失去

  • July 17, 2009

我有一個 3 磁碟 mdadm raid5 卷(由 /dev/sd

$$ abc $$)在重塑的中間,去 5 個磁碟(添加 /dev/sd$$ df $$),當伺服器電源出現故障時。這是在 ubuntu 8.10 intrepid 64 位伺服器(核心 2.6.27),mdadm 版本 2.6.4,從原始碼建構的。ups monitor daemon當時很好執行以下命令

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

當我讓盒子重新啟動並執行時,我使用以下命令重新啟動了 raid,因為它不會自行啟動。

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

它重新啟動並沿著其重塑過程重新開始,但只有 4 個光碟。/dev/sdf 沒有超級塊,所以它不會出現。我嘗試將其添加回:

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

但這只是將其添加為熱備件,而不是作為突襲中失踪的第 5 名成員。所以我用–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

首先,讓 md0 設備完成對現有設置的消化。此刻不要胡思亂想,因為它正忙於嘗試遵循它唯一的命令 -讓陣列恢復到干淨的狀態!

一旦事情穩定下來,繼續刪除第五個驅動器的“舊”條目。然後繼續將驅動器添加到陣列中並像最初一樣對其進行整形,儘管這次您將從 4 個磁碟開始,而不是 3 個。

引用自:https://serverfault.com/questions/41982