I am setting up my first homelab system and I want redundant storage.
For that I am going to use RAID (either RAID1, RAID5 or ZFS Z1, not sure yet, which one specifically is irrelevant to the question).
Now for that raid to work I need to first load the kernel from non-raid partition (/boot) in order to get the necessary drivers and kernel modules. But that makes /boot the single point of failure without redundancy.
My solution is to have /boot duplicated on 2 (or more) drives, lets call those partitions /boot1 and /boot2.
My question is how can I reliably replicate /boot1 and /boot2 without turning them to RAID1 (which won’t be supported by my bios)
I was considering a few solutions:
- Mounting
/boot1as/bootand manually copying contents to/boot2after system updates, but that is risky since if disk1 will be failing I might end up with broken files on/boot1that I will transfer (still broken) to/boot2(since boot partition is ext2 without journaling I won’t even know that there is a filesystem issue) - Leaving
/bootas part of raided/partition and manually copying it to both/boot1and/boot2. This solves problem #1 but if I forget to do the copying then I might end up with unbootable system where kernel (located in/boot) and modules (located on raided/) are incompatible
Is there any way to tell the OS to make a virtual partition (that I can mount as /boot) and just replicate raw data on 2 physical partitions in a way that lets the bios (and grub) mount them separately?