我目前正在考虑在裸机服务器上安装 CoreOS,并希望将两个磁盘放入软件 RAID1。
最新的 CoreOS 现在使用 EXT4 作为其默认文件系统,我对此很满意 - 我从未使用过brtfs(他们之前的默认设置)显然支持接近 RAID1,我宁愿坚持使用默认的 EXT4,mdadm
因为我已经有了使用经验。
我可以使用(从网络加载的基本 Linux 环境)组装 RAID mdadm
,但我不知道下一步该做什么,我很确定如果我只是将其作为/dev/md0
目标磁盘,CoreOS 安装程序会破坏一切,所以我们不要那样做。
有人成功尝试过这个吗?
答案1
诀窍是使用正确的标签:
- 为 CoreOS 设置软件 RAID根分割
- 仅适用于 ext4!
- 假设 CoreOS 已打开
/dev/sdaX
,第二个 RAID 设备已/dev/sdb
- 缺点:仅
/
镜像,当 sda 发生故障时,节点将关闭
--
启动到任何恢复系统,例如格鲁姆
如果尚未完成:安装 CoreOS
备份
/dev/sda9
mkdir -p /root/sda9 mount /dev/sda9 /mnt rsync -a /mnt/* /root/sda9 umount /dev/sda9
准备分区布局
# 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
创建 RAID
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda9 /dev/sdb9 mkfs.ext4 -I 128 -L ROOT /dev/md0
复制数据
mount /dev/md0 /mnt rsync -a /root/sda9/* /mnt umount /mnt
等到重新同步完成
观察-n 1 猫/proc/mdstat
重启!
现在我们有了ROOT
。我还没有尝试/dev/md0
将其他分区(EFI-SYSTEM
、、、、、)放在 mdadm 上,但它可能会BIOS-BOOT
以相同的方式工作。USR-A
USR-B
OEM
CONFIG