长话短说
当然,mdadm
在拔掉其中一个驱动器并将其注释掉后/etc/mdadm/mdadm.conf
,我需要对 2 个 RAID1 阵列进行读写操作。initramfs
系统
操作系统:GNU/Linux Debian 9(Stretch),完全更新。
医学博士:mdadm
RAID1 中有 2 个阵列,这两个阵列在启动时都会出现,如下所示。
硬件mdadm
:从两个阵列中拔下 RAID1 中的一个驱动器。
启动时它们都被视为inactive
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : inactive sdc1[1](S)
1953382471 blocks super 1.2
md1 : inactive sdb1[1](S)
976630471 blocks super 1.2
unused devices: <none>
解释
我特意注释掉了这些数组/etc/mdadm/mdadm.conf
:
# newer drives | 2 TB
#ARRAY /dev/md0 metadata=1.2 name=server:0 UUID=<Array UUID #0>
# older drives | 1 TB
#ARRAY /dev/md1 metadata=1.2 name=server:1 UUID=<Array UUID #1>
最后,我initramfs
在重启之前更新如下:
# update-initramfs -u
问题
暂时来说,我如何使这两个数组都处于活动状态并且可写?
答案1
首先,您需要停止这些数组:
# mdadm --stop /dev/md127 && mdadm --stop /dev/md1
你应该看到:
mdadm: stopped /dev/md127 mdadm: stopped /dev/md1
然后,您需要再次组装它们:
# mdadm --assemble --scan
你应该看到:
mdadm: /dev/md/1 has been started with 1 drive (out of 2). mdadm: /dev/md/0 has been started with 1 drive (out of 2).
让我们看看我们现在有什么:
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sdc1[1]
1953382464 blocks super 1.2 [2/1] [_U]
bitmap: 0/15 pages [0KB], 65536KB chunk
md1 : active (auto-read-only) raid1 sdb1[1]
976630464 blocks super 1.2 [2/1] [_U]
bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>
所以,我们基本上完成了,除了数组是只读的。
我们可以通过以下命令解决这个问题:
# mdadm --readwrite /dev/md[01]
如果命令成功,您现在应该看不到任何内容,您可以简单地再次验证:
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[1]
1953382464 blocks super 1.2 [2/1] [_U]
bitmap: 0/15 pages [0KB], 65536KB chunk
md1 : active raid1 sdb1[1]
976630464 blocks super 1.2 [2/1] [_U]
bitmap: 0/8 pages [0KB], 65536KB chunk
unused devices: <none>