当服务器电源出现故障时,我有一个 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 个。