使用EXT4文件系统的软件RAID上的CoreOS

我目前正考虑将CoreOS安装在一个裸机服务器上,并在两个磁盘上安装一个软件RAID1。

最新的CoreOS现在使用EXT4作为它们的默认文件系统,我很好 – 我从来没有使用brtfs (他们以前的默认), 显然支持接近RAID1的东西,我宁愿坚持默认的EXT4和与我已经有经验的mdadm

我可以使用mdadm (从networking加载的基本Linux环境)组装RAID,但是我不知道接下来要做什么,我非常确定CoreOS安装程序会破坏所有东西,如果我只是给它/dev/md0作为目标磁盘,所以我们不要那样做。

有没有人成功地尝试这个?

诀窍是使用正确的标签:

  • 为CoreOS 分区安装SoftwareRAID
  • 只为ext4!
  • 假设/dev/sdaX/dev/sdaX ,第二个RAID设备是/dev/sdb
  • 缺点:只有/得到镜像,当sda失败时,节点closures

  1. 启动到任何像Grml的恢复系统

  2. 如果尚未完成: 安装CoreOS

  3. 备份/dev/sda9

     mkdir -p /root/sda9 mount /dev/sda9 /mnt rsync -a /mnt/* /root/sda9 umount /dev/sda9 
  4. 准备分区布局

     # delete sda9 sgdisk /dev/sda --delete=9 # create new /dev/sda9 partition (max size) START=`sgdisk /dev/sda -f` END=`sgdisk /dev/sda -E` sgdisk /dev/sda --new=9:$START:$END --type=9:fd00 sleep 0.5 partprobe /dev/sda # Remove partition table from sdb sgdisk --clear -g /dev/sdb || exit 1 # create a partition sdb9 with the size of sda9 PARTDATA=( $(sgdisk -i 9 /dev/sda | grep 'Partition size' || exit 1) ) SECTORS=$(expr ${PARTDATA[2]} + 2048) sgdisk /dev/sdb -a 2048 --new=9:2048:$SECTORS --type=9:fd00 || exit 1 sleep 0.5 partprobe /dev/sdb 
  5. 创buildRAID

     mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda9 /dev/sdb9 mkfs.ext4 -I 128 -L ROOT /dev/md0 
  6. 复制数据

     mount /dev/md0 /mnt rsync -a /root/sda9/* /mnt umount /mnt 
  7. 等待重新同步完成

    看-n 1 cat / proc / mdstat

  8. 重启!

现在我们在/dev/md0上有ROOT 。 我还没有尝试把mdadm上的其他分区( EFI-SYSTEMBIOS-BOOTUSR-AUSR-BOEMCONFIG )放到mdadm上,但它可能会以同样的方式工作。