如何配置通用救援系统在启动时不组装RAID及不启动卷组
如何配置通用救援系统在启动时不组装RAID及不启动卷组
嘿,我刚好碰到过类似的救援系统配置问题,给你分享几个实测有效的解决方法:
一、禁止系统自动组装RAID
你提到已经在内核命令行加了raid=noautodetect但还是生效,大概率是这个参数不够彻底,或者救援系统的initramfs里还有自动扫描RAID的逻辑,试试这些方案:
- 升级内核参数:把
raid=noautodetect替换成更严格的raid=disabled,这个参数会完全禁用内核层面的RAID自动检测功能,能从根源上阻止RAID组装。 - 修改mdadm配置:如果救援系统能访问到配置文件,编辑
/etc/mdadm.conf(部分系统路径是/etc/mdadm/mdadm.conf),添加AUTO -all这一行,这样mdadm工具就不会自动扫描并组装任何RAID数组了。 - 调整initramfs组件:如果是你自己构建的救援系统,重新生成initramfs时排除RAID相关模块。比如用dracut工具的话,加上
--omit mdraid参数,就能去掉initramfs里的RAID自动扫描脚本和模块。
二、防止卷组(LVM)在启动时自动激活
LVM默认会在启动阶段扫描所有磁盘并激活找到的卷组,要阻止这个行为可以这么做:
- 临时内核参数控制:在救援系统的内核命令行添加
lvm.conf=global/activation/auto_activation_volume_list=[],这个参数会临时让LVM跳过所有卷组的自动激活,不用修改配置文件,非常适合救援场景。 - 修改LVM全局配置:如果救援系统允许修改文件,编辑
/etc/lvm/lvm.conf,找到activation区块,设置auto_activation_volume_list = [],这样LVM就只会激活你手动指定的卷组(默认没有的话就全不激活)。要是想彻底阻止扫描,还可以在scan区块设置filter = [ "r/.*/" ],不过这个会过滤所有设备,后续手动激活需要调整filter,不如前者灵活。 - 手动关闭已激活卷组:如果启动后发现卷组已经被激活了,执行
vgchange -an命令就能一次性关闭所有卷组的激活状态。
备注:内容来源于stack exchange,提问作者B.Martin
相关产品推荐
相关产品推荐

