我有一台配备 MD raid 的 Debian 服务器(2 个活动,1 个备用):
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>
每当我启动此服务器时,阵列就会降级并开始同步备用磁盘。问题是,这似乎是因为有一个 USB 磁盘连接到它,目前是/dev/sdd
。当此磁盘不存在时,它可以正常启动。/dev/sdd1
,唯一的分区,上面没有 md 超级块,分区类型是 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
:
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 日
答案1
我认为您的 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= 属性添加到 ARRAY 标签,为 mdadm 提供 raid 的精确布局。这里也请考虑设备的顺序。
此后不要忘记更新 initramfs,因为 mdadm.conf 也是启动初始化过程的一部分:
sudo update-initramfs -k all -u