Why I Didn’t Convert My Primary Workstation to BtrFS
When I started writing this series about the BtrFS filesystem, I fully intended to migrate my primary workstation from EXT4 so that I could get more direct experience with it on a daily basis. I even stated that in Episode 5.
That’s not going to happen — ever! Here’s why.
Getting started
I started the conversion of my workstation to BtrFS with a plan. I always start my projects with a plan, whether just a few notes or a complex document. In this case it was a very detailed project plan that had grown to several pages before I was even finished.
When I had the most important parts of the plan completed, I began testing it on a VM. You do test your project plans don’t you?
I usually use a single virtual storage drive on my VMs, but since I wanted to test installing a BtrFS system on a second drive for /home I created a new virtual device for the VM. I began the installation of the Fedora 43 Xfce spin and immediately ran into a problem.
Disk Configuration Calamity
The Anaconda installer used by Fedora has no flexibility for storage configuration. You can either select a single storage device for the installation, or you can select multiple devices, but the installer will use all of the selected devices as it sees fit. That means the all storage devices are used as a single BtrFS volume either adding the space together, or in some form of RAID array setup.
That definitely won’t work for /home on a separate device. So I selected only the one storage device as the install device for the operating system and left the second — the one on which I’d install /home — for later.
After the installation, I began working to delete the /home subvolume created on the main storage device and created a new BtrFS filesystem and /home subvolume on the second device. As best I can tell, that subvolume cannot be removed. Nothing I tried worked. Of course, I shouldn’t have had to delete it in the first place; it should have been possible to set up the filesystems the way I want in the first place.
I did create a BtrFS filesystem and a /home subvolume on the second storage device. I was able to mount it over /home on the OS device. But that’s messy; it’s an inelegant solution and could result in errors, a couple of which I can foresee, and many I’m sure can’t.
Conclusions
BtrFS is excellent for use cases at the low end, single user, and at the high end when huge amounts of data need to be stored in filesystems spanning multiple BtrFS volumes. It’s really crap in between.
BtrFS is perfect for Linux distros intended for new users. It provides a single pool of storage blocks that can be assigned to any subvolume, / (root), or /home. This maximizes the efficient use of available storage, and eliminates the need to resize logical volumes. It’s a win for new users.
But I wanted to do a new install on my workstation and place /home on a separate m.2 SSD storage device, but testing revealed that can’t be done during installation. Nor can /home be deleted from the primary BtrFS device — at least I didn’t find any way to do so.
I’m not going to switch from Fedora for several reasons, but I did discover that the the Fedora Server Edition is the only one that allows choosing other filesystems.
I think part of my issue is the way that the new Anaconda installer is configured for most fedora editions and spins to only allow BtrFS with the only choice being which storage devices will be part of the full BtrFS filesystem. However, the BtrFS filesystem itself just doesn’t meet any of my needs as a user or a SysAdmin with a number of hosts on my network.
Next Steps
I still need to reinstall my primary workstation, but now I’ll use EXT4 on LVM for the OS device, keeping my /home filesystem intact. I’ve already created a maintenance plan for that and have started testing that plan on a VM. The testing has already shown some problems in my post-install script that need fixed so I’ve been working on that.
I’ll post an article when that’s finished to let you know how it went. I still have some testing to do so I’m not yet certain of the timing.
PS: If any of you know how to delete the /home subvolume from the / (root) volume on any spin or Edition of Fedora 43, I’d love to know that. You can comment on this article if you have an account on Both.org, or you can send me an email to LinuxGeek46 { at } both {dot} org.