Wide picture of an open 5-inch hard drive showing the disks and the read / wriute heads.

Converting to BtrFS — Episode 5

The previous step in conversion of my main test computer from EXT4 filesystems on a Logical Volume Manager (LVM) base, to BtrFS is complete. It went smoothly with a significant amount of testing at each stage.

I like the EXT4/LVM structure but my primary reason for migrating this test computer, bunkerhill, to BtrFS is that Fedora is my preferred distro and the Fedora Engineering Steering Committee (FESCo), has long since made BtrFS the default filesystem. And now, with a new, web-based version of the Anaconda installer, has with one exception removed all choice from all Fedora Editions, Labs, Spins, and Atomic Desktops. That singular exception is the Server Edition which still provides options for EXT4/LVM and XFS.

Thus, despite my previous refusal to use BtrFS, I find it necessary to keep up with the times. But not without some significant testing.

Recap

My first step in the actual transition was to use the BtrFS conversion tool to migrate an EXT4/LVM hard drive I use for family pictures to BtrFS. This resulted in BtrFS on LVM, which I tested rather rigorously.

Step 2 was mostly determining which system I wanted to use as a test bed and doing some initial testing before making the conversion to set a baseline ensuring there were no extant problems.

In step 3 I converted the pictures storage device to BtrFS/LVM using the in-place conversion tool, btrfs-convert. Testing showed no problems. But that’s not the standard configuration for new BtrFS volumes; they’re BtrFS on a standard Linux type 83 partition.

Step 4 was to wipe out the pictures drive and create a standard type 83 Linux partition, then format that partition as BtrFS. This is the standard configuration for BtrFS devices. I tested this using stress-ng for a couple weeks, making sure that the pictures volume was the one being tested. All of the tests ran without error.

The Final Step

The last step in the transition from EXT4/LVM was to wipe out the entire system, except for the device on which I keep my pictures as that’s already been converted, and reinstall it using the Fedora 43 Xfce spin, which automatically partitions the storage device as BtrFS on a Linux type 83 partition. At this point the entire system was now BtrFS/Linux-83.

I spent well over 2 weeks testing the system and still occasionally run stress-ng for a few hours or days just to continue stressing the system.

The detail below is from the last 5 days of my test.

stress-ng: 05:31:03.75 info:  [1600401] therm: AvGHz MnGHz MxGHz  LdA1  LdA5 LdA15  acpitz pch_ca x86_pk
stress-ng: 08:41:03.76 info:  [1600401] therm:  4.70  4.70  4.70 32.79 26.20 20.47   27.80  39.00  66.00
stress-ng: 08:51:03.75 info:  [1600401] therm:  4.70  4.70  4.70 33.26 32.33 26.61   27.80  40.00  68.00
stress-ng: 08:52:33.63 info:  [1600400] for a 432089.87s run time:
stress-ng: 08:52:33.63 info:  [1600400]   6913437.99s available CPU time
stress-ng: 08:52:33.63 info:  [1600400]   4151987.16s user time   ( 60.06%)
stress-ng: 08:52:33.63 info:  [1600400]   67792.82s system time (  0.98%)
stress-ng: 08:52:33.63 info:  [1600400]   4219779.98s total time  ( 61.04%)
stress-ng: 08:52:33.63 info:  [1600400] load average: 24.10 29.57 26.16
stress-ng: 08:52:33.63 info:  [1600400] skipped: 0
stress-ng: 08:52:33.63 info:  [1600400] passed: 15: cpu (5) vm (5) hdd (5)
stress-ng: 08:52:33.63 info:  [1600400] failed: 0
stress-ng: 08:52:33.63 info:  [1600400] metrics untrustworthy: 0
stress-ng: 08:52:33.63 info:  [1600400] successful run completed in 5 days, 1 min, 29.87 secs

Conclusion

I’ve only converted one physical system of 10 to BtrFS and that went quite well. But that system isn’t normally heavily stressed which is why I keep running stress-ng on it from time to time.

I don’t see a need to convert all of my systems. I generally have no need for the BtrFS features and they’re running fine anyway. My network firewall and the Both.org server are fine as they are and I see no need to take them down for days to completely rebuild them just to migrate to BtrFS when EXT4 is perfectly good.

I do plan to rebuild my main workstation as that won’t impact Both.org and will provide a much better long-term test of BtrFS. I’m not yet ready to do that. When I do, I’ll let you know how it went.


The Full Series

Leave a Reply