Opinion on BTRFS

Hi all
I am thinking of using Btrfs to span 3 drives together. I know there is a potential for data loss but I will keep backups. Has anyone done this? What is your opinion on how good a solution this is? I have used LVM before and used Btrfs but one of my drives was failing. I currently use an SSD for my /home and symlink directories from the other 2 drives but my /home partition keeps getting filled up with other things and I don't want symlinks all over the place.
Any help/opinions/comments are most appreciated.

Moved to #general-discussion as there is no troubleshooting required

btrfs is good. It kind of slow compare to some the other file system. But as long your not using raid 5 & 6. Thing should be on the stable side. I only have used btrfs for a easier way on adding new hdd/ssd to one partition.

I run this setup (partitionless btrfs across 3 drives) on my homeserver for roughly a year now and haven't had a single problem since.

Thanks @TomZ. Do you use any of the boot options or RAID options as listed Here?

I've just added a new SSD to my system, and added it to the existing /home in full RAID1 mode.
Works flawlessly. Just used btrfs device add and btrfs balance start -mconvert=raid1 -dconvert=raid1.

It's not partitionless though. In fact /home on the primary device is just one of many partitions.
I simply created another partition on the new drive with approx. the same size and added it.

Some. Compression for a removable backup drive, disabled COW for the Virtualbox image folder on my laptop. But the rest is standard.

Thank you both. I have a 250GB SSD, and 2 x 4TB SATA HDDs. I was planning on using 80GB of the SSD for / and the rest for /home and then adding each of the 4TB HDDs as the rest e.g. btrfs device add /dev/sdb1 /home and btrfs device add /dev/sdc1 /home. Should I then just use btrfs balance start -mconvert=raid1 /home?

Why do you plan to create the 80 GB / ?
@ and @home will allow you to steer those two folders apart without the need to create a fixed size partition.

I think you should be able to link the hdd's in the way you describe it. However, I have a similar setup on my laptop and decided to keep sdd and hdd separate so I keep control over if data is stored on the fast ssd or slow hdd.
If you blend them together you will never know whats where.

Hence my recomendation would be to have / and /home on your ssd, and to create a second drive with the two hdds which gets mounted wherever appropriate.

I'm afraid I'm very new to btrfs. How can you create @ and @home from the installer? The main reason I wanted to use /home on my SSD was to add the other two drives as I was always running out of space on /home as I restore my music and picture library - I'd only have to download a handful of things and I'd run out of space for example I downloaded Endeavour OS to try out in a VM and had a warning that my home partition was running out of space.

So, I moved to Newbie Corner :wink:

1 Like

I'm not new to Linux - I've been using it since the first release of Ubuntu. I've only ever briefly dabbled with Btrfs.

Depends on which installer you plan to use. The Calamares installer will do that automatically for you, at least it did when I installed it last. Not sure about Manjaro Architect though, I would expect this one to not do this for you but don't really know as I never tried Architect.

This whole @-business might be a bit confusing at first, but it's a really cool approach once you understood what is going on.
I wrote a post in the thread you referenced earlier on this subject which I'd recommend you have a look at: [btrfs] Tips and Tricks

Understood, my approach to this would still be that I'd go with @ and @home on the SSD, a separate (btrfs) drive with the 2 HDDs which I would mount to e.g. @home/user/Downloads.
In that way it's guaranteed that big downloads end up where there is plenty of space and don't waste space on my fast SSD.
I may be biased, because that is similar to my SSD+HDD setup on my laptop :slight_smile:

But this is really your choice, technically nothing stops you from doing what you proposed in the first place.

1 Like

I'm with TomZ here.
It's a good idea to keep user data on separate devices.
So I would also put / and /home on the SSD, and use the HDDs for all your personal data, which you can also symlink to your /home.

Architect offers a more fine-grained control over some btrfs features, like e.g. mount options and the ability to choose subvolumes. It also has basic support for snapper.

i have experimented with snapper and i wont recommand it.

while timeshift can make bootable snapshots and they do not take much space they are instant.
i just used the snapshot to restore the system and restoration was also instant
just boot from grub into the snapshot open timeshift then click restore and reboot
your system works again.

Snapshots are snapshots, they are always instant (except for the sync, which can be forced though) and initially never take additional space (copy-on-write).

Thank you guys. So have I got this setup right?
SDA (SSD) - @ and @home

SDB (HDD) & SDC (HDD) - @Documents @Downloads @Pictures @Music @Video

Can anyone explain to me how to set up @Downloads to be under /home or rather @home but be on a different drive?

SDA looks ok, not sure if you need subvolumes for the folders on SDB though.

You will only need those additional @xyz folders if you want to create individual snapshots of these folders.
How about applying the same concept as on SDA and create eg. @data on SDB, with subfolders /documents, / downloads...

This will allow you to create a snapshot of @data, covering all subfolders at once.
If you want to see them under @home simply map via fstab.

1 Like

I'm afraid you've lost me. I basically just want root and home on my SSD (SDA) and then to make SDB and SDC into one drive with all the directories (Documents, Downloads, etc) appearing as if they were in the home directory like using symlinks (ln -s /Data/Downloads ~/Downloads) but more elegant than having loads of symlinks everywhere.