我有一个涉及四个磁盘(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 驱动器发生故障)。
但是,我实际上想做的是将 /boot 放在闪存驱动器或 SD 卡上,然后配置 grub2 来查找那里。这样,我甚至不需要每个驱动器上的 1GB 分区,也不需要运行 grub-install 将 grub 指向另一个驱动器等。如果当前驱动器坏了,我可以创建闪存驱动器的备份映像以刻录到新的闪存驱动器上。这样既快速又高效,而且完全独立于物理磁盘。
显然,我更希望将 /boot 放在软件 RAID 中。但是,由于这是不可能的,我更希望将其放在闪存驱动器上。以下是我为实现这一目标所做的尝试:
[以 root 身份]
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 驱动器启动]
我是否遗漏了什么?
答案1
我从 2013 年左右开始为我的/boot
分区创建 RAID 1,覆盖所有驱动器。每个驱动器 1GB 并不算多。即使有 4 个设备,Grub 也可以轻松地从 RAID 1 启动。
我以前有我的/boot
USB,但我没有做足够好的备份,所以不得不重建无论如何。从长远来看,按照推荐的方式去做会更好、更容易。相信我。
这是我的布局:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 953M 0 part
│ └─md0 9:0 0 952.4M 0 raid1 /boot
├─sda2 8:2 0 18.6G 0 part
│ └─md1 9:1 0 37.2G 0 raid10 /
├─sda3 8:3 0 3.7G 0 part
│ └─md2 9:2 0 7.5G 0 raid10 [SWAP]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 1.8T 0 part
└─md3 9:3 0 3.6T 0 raid10 /mnt/data
sdb 8:16 0 1.8T 0 disk
├─sdb1 8:17 0 953M 0 part
│ └─md0 9:0 0 952.4M 0 raid1 /boot
├─sdb2 8:18 0 18.6G 0 part
│ └─md1 9:1 0 37.2G 0 raid10 /
├─sdb3 8:19 0 3.7G 0 part
│ └─md2 9:2 0 7.5G 0 raid10 [SWAP]
├─sdb4 8:20 0 1K 0 part
└─sdb5 8:21 0 1.8T 0 part
└─md3 9:3 0 3.6T 0 raid10 /mnt/data
sdc 8:32 0 1.8T 0 disk
├─sdc1 8:33 0 953M 0 part
│ └─md0 9:0 0 952.4M 0 raid1 /boot
├─sdc2 8:34 0 18.6G 0 part
│ └─md1 9:1 0 37.2G 0 raid10 /
├─sdc3 8:35 0 3.7G 0 part
│ └─md2 9:2 0 7.5G 0 raid10 [SWAP]
├─sdc4 8:36 0 1K 0 part
└─sdc5 8:37 0 1.8T 0 part
└─md3 9:3 0 3.6T 0 raid10 /mnt/data
sdd 8:48 0 1.8T 0 disk
├─sdd1 8:49 0 953M 0 part
│ └─md0 9:0 0 952.4M 0 raid1 /boot
├─sdd2 8:50 0 18.6G 0 part
│ └─md1 9:1 0 37.2G 0 raid10 /
├─sdd3 8:51 0 3.7G 0 part
│ └─md2 9:2 0 7.5G 0 raid10 [SWAP]
├─sdd4 8:52 0 1K 0 part
└─sdd5 8:53 0 1.8T 0 part
└─md3 9:3 0 3.6T 0 raid10 /mnt/data