Is there an easy way to raid boot Linux?

Hello all. Last week I had some weird boot problems with my WD black nvme drive. I reinstalled the OS and it works, but I no longer trust the nvme drive. So I went a little overboard and bought some new ones.
I picked up:
1x 400 GB Intel P3700 in u.2 format
2x 480 GB Samsung sm953 m.2 format

I had a wild and crazy dream, and would love to boot from a mirrored raid of at least the two sm953 and maybe even make it a 3 way mirror with the U.2 p3700. Of course I know that the sm953s would lose 80 gigs in that case, which I could make some separate partitions from.

Of most of the how tos and instructions I can find online, they all seem to be from years ago. Is it still a fight to do such a thing? My understanding is that it would be easiest to make a non raid partition that has grub on it and points towards the mirror of the OS.

Even if I succeed, would it boot much faster? Or would it only really be for integrity? I am fine with having integrity, but faster would be better than slower. Or should I just boot off the p3700 and make a mirrored drive from the two sm953? With simplicity being a virtue. Thanks for any comments, even if the answer is “don’t do it, not worth the problems”

What distro?

Without knowing what distro you’re targeting, it’s hard to say.

But, the ideal solution is as follows:

/dev/sda1 BIOS BOOT 1M
/dev/sda2 BOOT 1GB (RAID MD0)
/dev/sda3 ROOT FILL (RAID MD1)
/dev/sdb1 BIOS BOOT 1M
/dev/sdb2 BOOT 1GB (RAID MD0)
/dev/sdb3 ROOT FILL (RAID MD1)

And just grub install to both sda1 and sdb1.

At least that’s how it was done when I was on Arch…

I’d recommend against UEFI boot. Seems like it’s not really designed with RAID in mind.

3 Likes

Even if I succeed, would it boot much faster?

The amount of time it takes to read your initramfs from your disk is trivial with a modern SSD. RAID would technically help, but you’re shaving off meaningless amounts of time with it.

Most “slow boots” aren’t the result of slow disks, but slow operating system initialization. There are almost always startup bugs people have been ignoring when I hear complaints of Linux “booting slowly”. Fixing them is usually the most important speedup that can be made as far as boot times are concerned.

2 Likes

On Solus, MD isn’t included in the initramfs so to make it work, you have to manually add it each time it was changed by updates. That was too hostile for me so I ditched it.

There also used to be some issue where the meta version needed to be lower on /boot but that may have been cleared up.

In any case, it should be a piece of cake on a Debian or RHEL distro as it is well supported during install.

2 Likes

I currently use mint.

Mostly since I am not a hopper and have been using it for years now.

2 Likes

Your initramfs should be fine then. You just have to plan out how best to migrate your data. If possible, the easiest solution may be to do a clean install and then restore your data and config.

I do recommend using lvm on top of MD for the extra features and flexibility (not supported for /boot though).

Does Mint use its own installer or is it essentially the Ubuntu one?

1 Like

As above, most of linux boot time is hardware detection, initialisation and the like.

IMHO, trying to set up RAID boot for speed is missing the point. You’ll save maybe a couple of seconds at the expense of far more complexity and maybe getting bitten in the arse by an installer/upgrade bug (that trashes your weird-fringe-scenario) in the future. Or user error :smiley:

1 Like

If I do this, it would be for sure a completely new install.

1 Like

Definitely, definitely this.

My current home box hangs somewhere (well, i did note what it was doing and that’s about it - can’t remember off the top of my head) doing nothing and i’m not sure why.

I haven’t looked into it, because its only a minute or so every time i reboot which is only once a week at most… but that’s the sort of thing that has FAR more impact on boot speed than disk throughput :slight_smile:

2 Likes

This. With a modern NVME disk the speed improvement and even resilience uplift if so small as to be immeasurable. Plus assuming the rest of your systems is powerful, Linux really doesn’t tax the boot drive that much once you are in the OS. It is not like windows.

For your use case I’d recommend a different approach:

  • install mint on a single drive for boot with /swap if you want one.
  • migrate /home to a raid array of resilient disks. Make sure all your critical activity is in /home.

This has been my model for years and it removes the risk factor of the OS being on a single drive. If I lose the boot drive I don’t care, I can just plug in a thumb drive and all my stuff is still there. If I lose one of the data disks I have time to backup and rebuild.

It has saved my bacon a few times when trying to do silly things with beta repos.

3 Likes

I second that approach. OS / boot drive replacement is annoying but not the end of the world. Sure if you RAID1 it you may protect against single drive failure for that but… at the cost of complexity, maybe making human error with it, etc.

For a single user machine, i’d keep the operating system side dumb as rocks (because murphy’s law says any failure and recovery will be at some stupid time AM when you’re over-tired), as close to vanilla “default case” install as you can, and just worry about protecting your data.

Also why i like mirrors for protecting my own data as well.

Sure - they cost more disk, but again… dumb as rocks, each drive has a copy of everything… no special on disk format to decipher if you’re trying to do recovery.

Over-tired 2am-self will thank me for it :smiley:

1 Like

Thanks, I think this will be my course of action. Also thanks to thro, and everybody else. The system only let’s me mark one post as the solution. I really do appreciate the help and thoughts.

2 Likes