I’m in the process of configuring a rack server to run Qubes OS and would like to get some insights from the community. Specifically, I’m trying to determine the best RAID configurations for ensuring data redundancy. Given that Qubes OS emphasizes security and virtualization, I want to ensure that my setup is both reliable and efficient.
What RAID levels do you think work best for data redundancy in this context? I’ve heard about RAID 1 and RAID 5, but I’m not sure which would be the most effective for a rack server running Qubes OS. Additionally, if anyone has experience with the performance implications of different RAID configurations while using Qubes, that information would be invaluable.
I’m looking forward to hearing your recommendations and any best practices you might have. Thank you for your help!
If you have a lot of disks, aim for RAID6 because resilvering a dead disk might take a long time, in RAID5 you have no spare while the resilvering is ongoing.
In addition to what solene has mentioned, you should take special care about hardware RAID availability/options for the selected server. Most servers are either shipped with it or have the option for some sort of ASIC/FPGA chip based hardware raid. It does the process for RAID5/RAID6 parity calculation on-the-fly instead of OS+CPU doing it. The OS will see only the RAID volume instead of individual disks which is convenient (unless you are planning some sort of bizarre ZFS scenario). Nested RAID levels + spares might be an option if you have enough drives. We used RAID 60 (6+0) for some application. But it requires 10 drives.
Just don’t trust RAID any more than you would trust a single drive. It’s not a replacement for backups. I learned that one the hard way.
I used to have data in a RAID5 thinking it’d be fully secure unless two disks fail. When one disk failed, which RAID5 is “supposed” to be able to handle, my entire array got corrupted. Turns out if the disk is mechanically functioning but spitting out garbage data, the garbage data will make it into your array and destroy everything and there’s nothing RAID can do about it.
RAID is meant to avoid downtime due to disk failure, increase throughput (although it’s not super useful with NVME drivers nowadays) or increase data storage (but it’s solved using logical volume management like LVM, btrfs or ZFS now).