我这里有一台 SuperMicro 设备,运行 Ubuntu 16.04.2。我已经在 f3 布局中设置了一个包含 24 个驱动器的 RAID-10 阵列,在根据我的喜好对其进行调整后,我遇到了问题。
这不是一个我可以每天运行的设备;相反,我每天进门时都会启动它,出门时则将其关闭。
当我每天第一次打开设备时,它无法启动,并且 systemd 挂在安装更大的 md raid 上(启动驱动器有一个 RAID 1)。
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
# 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/md/0 metadata=1.2 UUID=6581959a:3276c5d0:b401a3df:da599629 name=farnsworth:0
# This file was auto-generated on Tue, 11 Apr 2017 09:47:26 -0500
# by mkconf $Id$
ARRAY /dev/md/1 metadata=1.2 name=farnsworth:1 UUID=ea97974f:a3e840cd:d4bbcf9e:438957fe
根据我的 mdadm.conf,这应该可以工作,但更奇怪的是,重新启动后,它工作得很好。
mdadm --detail --scan
即使设备无法启动,两个阵列也显示为活动状态。
我应该在哪里寻找错误?
编辑:驱动器均为 1TB Seagate ES.2 驱动器,使用 SATA 连接。使用Ubuntu 16.04。
根据第一位评论者的建议,我将其关闭(而不是重新启动),然后它又恢复了。 Root 不在该阵列上。
当它一天中第一次出现时,它显示为 /dev/md/1,但之后,它显示为 /dev/md/farnsworth:1。
为什么是这样?
答案1
mdadm.conf
initramfs 上通常有第二个副本。编辑后,mdadm.conf
您必须运行update-initramfs -u
或类似的操作来更新其副本。
两个副本不同步可能会导致竞争条件,其中组装数组的结果取决于数组组装是在 initramfs 之前还是之后完成。它还可能导致明显的混乱,其中的变化似乎被忽略了。