Debian服务器在每次启动时都会降级mdadmarrays

我有一个MD raid(2激活,一个备用)的Debian服务器:

Personalities : [raid1] md1 : active raid1 sdc2[0] sdb2[1] sda2[2](S) 1068224 blocks [2/2] [UU] md0 : active raid1 sdc1[2](S) sdb1[1] sda1[0] 487315584 blocks [2/2] [UU] bitmap: 5/233 pages [20KB], 1024KB chunk unused devices: <none> 

无论何时启动此服务器,arrays都会降级,并开始同步备用磁盘。 事情是,这似乎是因为有一个USB磁盘连接到它,目前是/dev/sdd 。 当这个磁盘不存在时,它可以正常启动。 /dev/sdd1 ,唯一的分区,它没有md超级块,分区types是Linux,不是RAID自动检测。

这是md0的镜像设备详细信息:

 mdadm --detail /dev/md0 /dev/md0: Version : 0.90 Creation Time : Sun Jun 8 04:10:39 2008 Raid Level : raid1 Array Size : 487315584 (464.74 GiB 499.01 GB) Used Dev Size : 487315584 (464.74 GiB 499.01 GB) Raid Devices : 2 Total Devices : 3 Preferred Minor : 0 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Tue Sep 15 09:23:33 2015 State : active Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 UUID : 9e408fbb:563a5459:f999b789:24d3b44e Events : 0.83145 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 - spare /dev/sdc1 

/dev/sdc1的详细信息确实表明它是备用的:

 mdadm --examine /dev/sdc1 /dev/sdc1: Magic : a92b4efc Version : 0.90.00 UUID : 9e408fbb:563a5459:f999b789:24d3b44e Creation Time : Sun Jun 8 04:10:39 2008 Raid Level : raid1 Used Dev Size : 487315584 (464.74 GiB 499.01 GB) Array Size : 487315584 (464.74 GiB 499.01 GB) Raid Devices : 2 Total Devices : 3 Preferred Minor : 0 Update Time : Sat Sep 12 21:09:59 2015 State : clean Internal Bitmap : present Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Checksum : 7761bb13 - correct Events : 83145 Number Major Minor RaidDevice State this 2 8 33 2 spare /dev/sdc1 0 0 8 1 0 active sync /dev/sda1 1 1 8 17 1 active sync /dev/sdb1 2 2 8 33 2 spare /dev/sdc1 

真的没有什么特别的。

任何想法?

编辑:

/etc/mdadm/mdadm.conf的相关内容:

 ARRAY /dev/md0 level=raid1 num-devices=2 UUID=9e408fbb:563a5459:f999b789:24d3b44e spares=1 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=e4578e57:9e0fd9e9:c7736f30:0e251564 spares=1 

这种匹配mdadm --detail --scan的输出mdadm --detail --scan

 ARRAY /dev/md0 metadata=0.90 spares=1 UUID=9e408fbb:563a5459:f999b789:24d3b44e ARRAY /dev/md1 metadata=0.90 spares=1 UUID=e4578e57:9e0fd9e9:c7736f30:0e251564 

这可能是换行吗?

  • 内核3.2.0-4-686-pae。
  • Debian 7.8
  • mdadm – v3.2.5 – 2012年5月18日

我认为你的initramfs中可能有一个太旧的mdadm.conf,并且/或者mdadm在发现和初始化数组的时候会感到困惑。

请尝试通过在mdadm.conf中添加以下行来告诉mdadm仅考虑PCI总线上的磁盘:

 DEVICE /dev/disk/by-path/pci* 

更进一步,您可以直接指定磁盘本身。 确保您使用独立于订单的地址(例如,通过UUID),并且将备件放在最后一个条目处:

 DEVICE /dev/disk/by-uuid/<uuid1> DEVICE /dev/disk/by-uuid/<uuid2> DEVICE /dev/disk/by-uuid/<uuid3> 

更进一步,在上一步之后,你还可以添加devices = attributes到ARRAY标签,给你的raid确切的布局到mdadm。 这里也考虑设备的顺序。

之后,不要忘记更新initramfs,因为mdadm.conf也是启动初始化过程的一部分:

 sudo update-initramfs -k all -u