防止 Debian 在启动时自动组装 RAID

防止 Debian 在启动时自动组装 RAID

我设置了 Debian wheezy (7.6),安装了 openmediavault,并用它创建了软件 RAID 5。它列于/dev/md127。现在我想将其移至虚拟 XEN VM。为此,我必须停止 Debian 在启动时自动组装 RAID,这样我就可以通过 将其连接到虚拟机xm block-attach,但我无法让它工作。无论我尝试什么,仍然会md127在 下列出/dev/,并且每次启动后我都可以通过 手动结束它mdadm --stop /dev/md127。但即使在那之后,它仍然列在 下/dev/

我已经尝试过的:

  • /etc/mdadm/mdadm.conf: 注释掉数组行:

    #ARRAY /dev/md0 metadata=1.2 name=masterbox:MainRaid UUID=3f620e6d:4e655d66:b931eb71:baf7cf3a  
    ARRAY /dev/md0 name=Null
    
  • 搬去/libs/udev/rules.d/64-md-raid.rules/root/

  • update-initramfs u
  • 注释掉了该行/etc/fstab
  • 通过手动拆卸 RAIDmdadm --stop /dev/md127
  • raid=noautodetect设置内核参数/etc/default/grub

    GRUB_CMDLINE_LINUX_DEFAULT="quiet raid=noautodetect"  
    
  • 重新启动

  • 启动时禁用 mdadm 服务

这也是来自 dmesg 的日志:

[    3.448121] md: md127 stopped.
[    3.452518] md: bind<sda>
[    3.452747] md: bind<sdc>
[    3.452933] md: bind<sdb>

[    3.954794] md: raid6 personality registered for level 6
[    3.954797] md: raid5 personality registered for level 5
[    3.954799] md: raid4 personality registered for level 4
[    3.955417] bio: create slab <bio-1> at 1
[    3.955436] md/raid:md127: device sdb operational as raid disk 0
[    3.955439] md/raid:md127: device sdc operational as raid disk 2
[    3.955442] md/raid:md127: device sda operational as raid disk 1
[    3.955740] md/raid:md127: allocated 3228kB
[    3.955988] md/raid:md127: raid level 5 active with 3 out of 3 devices, algorithm 2
[    3.955991] RAID conf printout:
[    3.955993]  --- level:5 rd:3 wd:3
[    3.955996]  disk 0, o:1, dev:sdb
[    3.955999]  disk 1, o:1, dev:sda
[    3.956000]  disk 2, o:1, dev:sdc
[    3.956044] md127: detected capacity change from 0 to 6000916561920

...我怎样才能让 Debian 不碰 RAID 驱动器根本不,这样我就可以将它们传递给我的虚拟机?

答案1

这是一个老问题,但由于我寻找解决方案很长时间,我想分享我的结果:

# /etc/mdadm/mdadm.conf
ARRAY <ignore> UUID=3f620e6d:4e655d66:b931eb71:baf7cf3a

man mdadm.conf:

ARRAY

    ARRAY 行标识实际的数组。该行的第二个单词可能是通常组装阵列的设备的名称,例如/dev/md1/dev/md/backup。如果名称不以斜线开头 (' /'),它被视为位于/dev/md/.或者可以给出单词<ignore>(用尖括号完成),在这种情况下,任何与该行其余部分匹配的数组都不会被自动组装。如果未给出设备名称,mdadm将使用各种启发式方法来确定适当的名称。

答案2

你说你禁用了该mdadm服务,但该服务运行监控守护进程;有一个单独的mdadm-raid服务根据配置文件启动用户空间中的所有 md 数组。并且,您还可以运行dpkg-reconfigure mdadm来禁用自动启动阵列。

答案3

在 Ubuntu 18.04 上,这有效(将其附加到/etc/mdadm/mdadm.conf):

AUTO -all
ARRAY <ignore> UUID=00000000:00000000:00000000:00000000

在那之后,没有任何东西被自动组装。

答案4

我意识到如果您删除/etc/mdadm/mdadm.conf(或/etc/mdadm.conf)并且您在etc/fstab新的 mdadm.conf 中有安装条目,则会自动创建。

我放置并#注释掉了条目,而没有删除 .conf 文件。fstabmdadm.conf

它停止了自动组装阵列和自动安装。

相关内容