我正在尝试设置一个可启动的软件RAID,它将包含根文件系统并启动
Linux Mint Qiana.它将用于在小型数据中心中运行一些图形监控应用程序,以及用于访问其他LAN节点的简单终端.
我有两个500GB SATA驱动器(/ dev / sda和/ dev / sdb),我将用它来构建RAID 1阵列.似乎有很多方法可以做到这一点,但我有点不清楚如何创建一个可启动的md0设备.
我的第一种方法是使用Live Linux Mint安装CD启动.然后我会切换到bash提示符并使用sfdisk手动分区/ dev / sda.我创建了一个简单的分区表,其中包括一个主分区,以及一个交换分区.然后我简单地将分区表从/ dev / sda克隆到/ dev / sdb:
sfdisk -d /dev/sda | sfdisk /dev/sdb
好的,现在我有两个驱动器可以组装成一个RAID阵列.我首先创建数组:
mdadm --create --verbose --Metadata=0.90 /dev/md0 --level=mirror
--raid-devices=2 /dev/sda /dev/sdb
大约一个小时后,阵列完成同步.
我现在可以通过给它一个文件系统来初始化/ dev / md0:
mke2fs -t ext4 /dev/md0
好的,现在一切似乎都很好.因此,我切换回Live CD安装,并将Linux安装到/ dev / md0.一切正常,直到安装程序尝试运行grub-install,之后它会收到致命错误.
所以,我一直在研究如何理解这里的原因.我不完全确定为什么会发生这种情况,但我的理解是它与“一个人不能简单地从/ dev / md0启动”这一事实有关.似乎为了创建可启动的多设备RAID 1阵列,您需要创建单独的非RAID /启动分区,或使用initramfs.
不幸的是,我并不完全理解这会带来什么.首先,我不想创建单独的非RAID /启动分区,因为从md0启动的整个启动是为了冗余.其次,我的理解是initramfs方法是在启动时将mdadm加载到rootfs中所必需的.但是,当我从Live CD启动并创建我的RAID阵列时,mdadm已经加载到内存中,所以我不明白为什么安装程序在运行grub-install时总是会出现致命错误.
有人可以解释我在这里缺少的步骤,或者提供一个如何设置可以启动的多设备挂载的概述吗?