可以使用以下命令启动它:
(initramfs): mdadm --run /dev/md0(initramfs): exit
之后,它通常使用已启动的RAID1(文件系统在RAID1阵列上)启动,并将继续正常启动,直到您删除另一个驱动器(在这种情况下,它将完全相同).
Google使用“BOOT_DEGRADED = true”吐出了大量关于UBUNTU的帖子,但这对DEBIAN不起作用.
还有a post about using “md-mod.start_dirty_degraded=1” as a boot argument to the kernel image.我试过在GRUB菜单选项中传递它,但没有用.
可能有something that explains it,但我是新手了解:(
有任何想法吗?
解决方法 initramfs执行/ scripts / local-top / mdadm来处理raID.在该脚本中是声明if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then verbose && log_success_msg "assembled all arrays." else log_failure_msg "Failed to assemble all arrays."fi
使用Debian JessIE的mdadm版本,与–scan一起使用时,– run参数似乎被忽略.根据手册页,它应该激活所有阵列,即使它们已降级.但相反,任何降级的阵列都标记为“非活动”.如果根文件系统位于其中一个非活动阵列上,则会暂停引导过程.
可以修改此脚本,然后使用命令update-initramfs -u重建initramfs.
>将脚本复制到本地覆盖目录
>如果第一次尝试失败,请使用一些额外的行修补脚本以在每个阵列上单独运行mdadm –run.
>更新initramfs.
以下命令将执行前面的步骤.在复制之前,请确认您还没有/ etc / initramfs-tools / scripts / local-top / mdadm文件.
cd /etc/initramfs-tools/scripts/local-topcp /usr/share/initramfs-tools/scripts/local-top/mdadm .patch --verbose --ignore-whitespace <<'EndOfPatch'--- mdadm+++ mdadm@@ -76,7 +76,15 @@ if $MDADM --assemble --scan --run --auto=yes${extra_args:+ $extra_args}; then verbose && log_success_msg "assembled all arrays." else- log_failure_msg "Failed to assemble all arrays."+ log_warning_msg "Failed to assemble all arrays...attempting indivIDual starts"+ for dev in $(cat /proc/mdstat | grep md | cut -d ' ' -f 1); do+ log_begin_msg "attempting mdadm --run $dev"+ if $MDADM --run $dev; then+ verbose && log_success_msg "started $dev"+ else+ log_failure_msg "Failed to start $dev"+ fi+ done fi verbose && log_end_msgEndOfPatchupdate-initramfs -u
使用此更新的initramfs,当包含根文件系统的RAID1缺少驱动器时,可以在没有干预的情况下启动.
总结以上是内存溢出为你收集整理的linux – 如何在启动时在Debian 8.0.0下自动启动Degraded Software RAID1?全部内容,希望文章能够帮你解决linux – 如何在启动时在Debian 8.0.0下自动启动Degraded Software RAID1?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)