I managed to find this guide:
Should i be trying to find a zfs guide? or is linux md the way to go for this?
I plan on using 4 128GB sata SSDs in raid 10 (boot/os/software/configs/vm) and have a separate raid 10 using 4TB HDDs for personal data and anything i do not want on the SSD array
What partition table should i be using? GPT? do i need to make a /boot separate from my raid array?
When a drives goes down and i replace it will it automatically use it? if not how do i put the new drive into the array
I assume you’re only only the 128GB drives because you already own them? Because they have poor performance compared to higher capacity of the same SSD model. So even doing RAID 10 with them isn’t going to give your particularly good performance.
SATA SSDs are all locked at ~540MB/s because of SATA3 limitations. Striped mirror makes perfect sense here. But with NVMe SSDs, you would be right.
It’s a matter of taste and what features you want from your (file)system. md is great, fast and simple. ZFS is great too, but is far more complex but also providing useful features. ZFS ARC can cache and add compression to your HDD if you make it ZFS too, to name only one nicety. It’s a whole ecosystem for data integrity and convenience, but also comes with a learning curve and some overhead.
I found a guide (specifically dealing with the aftermath of a ZFS Ubuntu install) some time ago, but never actually got to use it myself (yet), but may be useful to your situation:Ubuntu Desktop 20.04 with mirrored ZFS boot drive · GitHub
edit: Sorry, only now I’ve seen you want to use Ubuntu Server (which does not have a ZFS install option). That complicates things a lot. I’d go for md raid mirror for / and ZFS on everything else then.