How to install with root on BTRFS RADI1?

I’ve set up my drives like this:

  • fresh, empty BTRFS RAID1 file system (named os) across two physical partitions for /. This is 100GB in size.
  • partition for EFI on one of the drives.
  • (couple of swap partitions each on individual drives)

But the installer for Fedora Server 40 does not like it!

The custom install method won’t let me use os for /.
Using the blivet advanced custom partitioner, I am able to select the above layout, but on coming back to the install screen I cannot proceed as it says: “Not enough space in the filesystems for the current software selection. An additional -191.21GiB is needed.” (Fedora Server default install needs around 20GB, I’m offering 100GB… - and why does in need an extra negative amount?!)

Is this trying to tell me that I just cannot install with root on BTRFS RAID1? Perhaps I need /boot to be a separate non-raid partition or something?

The way I did it was having 2 seperate drives at the start of the installation, no RAID config at all. On the installation screen, selected both drives, then on the right side of the installation screen, you will see a drop down box, select RAID1 in your case, and then it will give you the option to add the other drive. add your other drive and then continue installation.

I am not sure this is the correct way to do it, but it worked for me. After the installation, and again, mine was RAID0, it wasn’t showing up as a RAID so I had to run “btrfs balance start -dconvert=raid0 -mconvert=raid1 /mountpoint”

I am guessing that btrfs wants to create its own partition and doesn’t recognize mdadm partition, or in my case, it didn’t recognize the the intel partition that I had configured through the bios.

all said and done, I ended up with this:

sudo btrfs filesystem df /
Data, RAID0: total=206.00GiB, used=201.04GiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=3.00GiB, used=2.12GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
2 Likes

This definitely shouldn’t happen, please open a new bug against the installer (component anaconda).

The way I got this working in the end was to delete the RAID1 BTRFS file system, then let the installer create a non-RAID BTRFS file system in one of the partitions.

Then, post-install, I was able to add the 2nd partition to the live filesystem and use the btrfs balance convert command to apply raid1 to meta+data.

1 Like