使用驱动器之前必须进行零件探测吗?

使用驱动器之前必须进行零件探测吗?

这是无法在 Debian 5.0 上挂载 /dev/sdc1,特殊设备 /dev/sdc1 不存在

基本上,我在一台机器上有 6 个 SATA 硬盘,我正尝试用它们创建一个 RAID6 阵列。当我尝试运行 mdadm 命令来创建(使用详细选项)RAID 阵列时,我看到类似“mdadm:super1.x 无法打开 /dev/sdf1:没有这样的设备或地址”的消息,通过执行partprobe /dev/sdf并重新运行 mdadm 命令可以解决此问题。

问题是每次重启后我都必须运行 partprobe,从经验来看,我认为这不是正常行为——在其他 Linux 机器上,我都不需要先对设备进行 partprobe 才能使用它。一定是出了什么问题,但我该如何排除故障才能找出问题所在?这可能是由硬件问题引起的吗?

编辑:附加说明 - 以前我似乎只有一个驱动器遇到此问题,但现在我有 3 个驱动器遇到此问题。

答案1

看起来内核正在尝试将整个驱动器而不是分区添加到阵列中。在使用分区创建阵列之前,您是否使用整个驱动器创建了阵列?如果是这样,也许 md 看到了两个超级块。

编辑/etc/mdadm/mdadm.conf并添加:

DEVICE /dev/sda1
DEVICE /dev/sdc1
DEVICE /dev/sdd1
DEVICE /dev/sde1
DEVICE /dev/sdf1
DEVICE /dev/sdg1

答案2

如果您使用 partprobe,则很有可能您正在使用 gpt 分区表。我遇到了同样的问题,结果发现我的内核不支持它。在这种情况下,分区表关闭,并且 raid 自动检测失败。运行 partprobe 似乎可以暂时解决问题

确保你的内核支持 gpt,即 CONFIG_EFI_PARTITION=y

相关内容