How do I convert a single disk BTRFS filesystem to a 4 disk RAID0?

When you have 4 disks most people choose RAID 0 + 1, or RAID 10; a mirrored stripe. But this is more common for server setups. RAID 0 can be popular for gamers with two SSDs, since all they had was two drives to work with. Seeing “faster” in anything makes them jump on it.

With 4 drives in RAID 10, you will have well over 2 times read speed, and about double the write speed. Though of course this halves the usable space, but does provide redundancy.

RAID 0, or a stripe, over 4 disks obviously increases speeds, and is increased about 1-4 times? It’s not predictable, since the next block of data may or may not be going to or from the same drive you were just dealing with.

Since it’s mostly a gaming PC, they usually want random non-consecutive reads being the biggest priority. This isn’t really provided by RAID 0 consistently. But with RAID 1 you have another drive ready to provide the next block of data if one isn’t being used. RAID 0 often leaves it to chance. (Consecutive reads do lower that chance, i.e. dealing with large files.)

It should be noted that with these newer NVMe drives now read/writing well over 5 Gbps. Often the SSD(s) aren’t even the bottleneck. It is now getting that data so fast, it’s often a single core that slow things down the most (which games are notorious for not being truly multithreaded, especially for loading the game, or new areas, etc.) And improving disk I/O speeds starts having diminished returns.

That aside, if I were to run BTRFS with disk performance as my number one concern. I would make a mdraid 0+1 setup with a single BTRFS filesystem on top of it. I realise RAID 0 and 1 are stable in BTRFS, but everything I’ve read say that mdraid 10 still outperforms BTRFS RAID 10, by a noticeable amount.

For me, the flexibility of BTRFS usually trumps a little more performance. You can even do stuff like convert RAID types on a live BTRFS filesystem.

If still unsure, while the disks are unpopulated, it would be a good time to try both, and benchmark them.

1 Like