我有一个涉及四个磁盘(mdadm)的Linux软件RAID5。
这是我的lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 5.5T 0 disk
├─sda1 8:1 0 953M 0 part
└─sda2 8:2 0 5.5T 0 part
└─md0 9:0 0 16.4T 0 raid5
├─md0p1 259:0 0 4G 0 md [SWAP]
├─md0p2 259:1 0 30G 0 md /
└─md0p3 259:2 0 16.3T 0 md /media/data
sdb 8:16 0 5.5T 0 disk
├─sdb1 8:17 0 953M 0 part
└─sdb2 8:18 0 5.5T 0 part
└─md0 9:0 0 16.4T 0 raid5
├─md0p1 259:0 0 4G 0 md [SWAP]
├─md0p2 259:1 0 30G 0 md /
└─md0p3 259:2 0 16.3T 0 md /media/data
sdc 8:32 0 5.5T 0 disk
├─sdc1 8:33 0 953M 0 part
└─sdc2 8:34 0 5.5T 0 part
└─md0 9:0 0 16.4T 0 raid5
├─md0p1 259:0 0 4G 0 md [SWAP]
├─md0p2 259:1 0 30G 0 md /
└─md0p3 259:2 0 16.3T 0 md /media/data
sdd 8:48 0 5.5T 0 disk
├─sdd1 8:49 0 953M 0 part /boot
└─sdd2 8:50 0 5.5T 0 part
└─md0 9:0 0 16.4T 0 raid5
├─md0p1 259:0 0 4G 0 md [SWAP]
├─md0p2 259:1 0 30G 0 md /
└─md0p3 259:2 0 16.3T 0 md /media/data
sde 8:64 1 7.2G 0 disk
└─sde1 8:65 1 953M 0 part
因此,当我遇到问题将/ boot置于RAID内部时(没有意识到这是不可能的),我在每个物理磁盘的前面创建了一个相同的1GB分区,用于镜像每个物理磁盘上的/ boot,以便我可以手动指向如果具有主/引导的驱动器失败,则grub2到辅助节点。
但是,我真正想要做的只是将/ boot放在闪存驱动器或SD卡上,并配置grub2来代替它。然后我甚至不需要每个驱动器上的那些1GB分区,也不需要运行grub-install来将grub指向另一个等等。我可以创建一个闪存驱动器的备份映像以刻录到新的闪存驱动器如果当前的一个人死了。这将是快速和有效的,并且完全独立于物理磁盘。
显然我更喜欢在软件RAID中使用/ boot。但是,由于这是不可能的,我宁愿把它放在闪存驱动器上。这就是我尝试完成的目的:
[作为根]
dd if=/dev/sda1 of=/dev/sde1
mount /dev/sde1 /media/usbboot
grub-install --boot-directory=/media/usbboot /dev/sde1
umount /media/usbboot
reboot
[并使用功能键启动USB驱动器]
我错过了什么吗?