I have seen quite a few references to BTRFS on this forum and so decided to google it. OK, so now I know it's a Linux file system which replaces ext 4, but what I don't know are the advantages of BTFRS for someone like me, a generally casual user and occasional experimenter (I use Virtual Box to test different Linux OS and am not afraid to use disk partitioners with a little guidance). Would I notice the difference, and if so, what extra would I be able to do that I can't do now? I'm currently using a PC clone with an i3 processor and 4 GiB of ram--my HD is a dual-partition, with Kubuntu 16.04 (runs fine, no crashes) and Windows 10 (runs those few times I use it). How difficult would it be to switch over to BTRFS--would it be worth it? Mostly I'm just curious.
Announcement
Collapse
No announcement yet.
Btrfs
Collapse
This topic is closed.
X
X
-
My uninformed opinion (I don't use btrfs); I still use ext4; is that for the casual "normal-every-day-user", btrfs is overkill. That said, and as stated, I'm really uninformed about btrfs. But oshunluvr and GreyGeek both use it, and like it a lot. They will have an answer for you.Windows no longer obstruct my view.
Using Kubuntu Linux since March 23, 2007.
"It is a capital mistake to theorize before one has data." - Sherlock Holmes
- Top
- Bottom
-
Short answer: probably not.
Major advantages are: subvolumes (no partitioning), send/receive (backups), snapshots (failed upgrade or bad installation protection), multi-device pooling (RAID and/or LVM replacement).
In general use (just my opinion) the two best-use cases are: Small single SSD or Multi-drive desktop/server.
With a small SSD, you can use subvolumes instead of partitions allowing all free spaces to be pooled (available) to all subvolumes obviating the need to guess at partition sizes. With a server or multi-disk PC you can take advantage of RAID capabilities and transmit (send/receive) and snapshots to make easy backups and protect yourself from bad upgrades, etc.
There are other benefits, like the fact you can add or subtract drives from a pool without taking it off-line, but for most casual users the above benefits are the greatest.
Specifically to your case: recently you had to re-partition your HD. Using btrfs, you would have only a swap partition and btrfs partition, thus allowing you to add or subtract subvolumes at will to the btrfs partition without any re-partitioning of drive space and the inherent dangers of that operation. I have 3 versions of Kubuntu and KDEneon installed to the same pool (2x256gb SSDs) each with its' own home and two extra subvolumes holding other data - all of which have the ability to expand and contract within the limits of the pool size and it happens without me having to do anything. Pretty sweet, right?
I backup by "sending" a read-only snapshot of a subvolume from this pool to a 2TB hard drive and it can be done easily via a cronjob or manually.
Most of these advantages are removed if you have a single but large hard drive.
- Top
- Bottom
Comment
-
Thanks for the info. My HD is 'only' 500 GiB (plus I have an external backup drive of 1 Tb and another of %00 GiB, which is full of old Kubuntu backup files, among other things) yet I manage to have 2 partitions plus 3 other OS on Virtual Box (KDE Neon, Peppermint 7 and Linux Mint 18) which I like to play around with. So far I haven't seen a need to change much (other than my recent re-partioning, which was successful though not always easy--I still don't know how I managed to boot Gparted from a USB and haven't been able to do it again) but I will copy the information you gave me in case I decide to try it out. After all, I'm retired and have plenty of time.
- Top
- Bottom
Comment
-
I have only a single HD of 600GB and am retired like you ... plenty of time. I checked out the YouTube videos, and various anecdotals around the web. I found learning it was easy. Oshunluver had some excellent posts and I posted my installation and learning experiences on the forum. Searching for our names and btrfs will bring them up. A tool I found very useful is snapper. It is in the repository.Originally posted by oldgeek View Post.... I'm retired and have plenty of time.
Using it's default configuration settings would eat up your drive space, so I modified the config file like this:
My "home" configuration:
and my "root" configurationCode:# subvolume to snapshot SUBVOLUME="/home" # filesystem type FSTYPE="btrfs" # users and groups allowed to work with config ALLOW_USERS="jerry" ALLOW_GROUPS="jerry" # sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots # directory SYNC_ACL="yes" # start comparing pre- and post-snapshot in background after creating # post-snapshot BACKGROUND_COMPARISON="yes" # run daily number cleanup NUMBER_CLEANUP="yes" # limit for number cleanup NUMBER_MIN_AGE="1800" NUMBER_LIMIT="5" NUMBER_LIMIT_IMPORTANT="5" # create hourly snapshots TIMELINE_CREATE="no" # cleanup hourly snapshots after some time TIMELINE_CLEANUP="yes" # limits for timeline cleanup TIMELINE_MIN_AGE="1800" TIMELINE_LIMIT_HOURLY="0" TIMELINE_LIMIT_DAILY="0" TIMELINE_LIMIT_MONTHLY="1" TIMELINE_LIMIT_YEARLY="5" # cleanup empty pre-post-pairs EMPTY_PRE_POST_CLEANUP="yes" # limits for empty pre-post-pair cleanup EMPTY_PRE_POST_MIN_AGE="1800"
In Kubuntu (and Ubuntu) a btrfs install creates two subvolumes, @ (/) and @HOME (/home). Other distros, like openSUSE create a dozen or more subvolumes on install and in my experience that complicates matters too much.Code:# subvolume to snapshot SUBVOLUME="/" # filesystem type FSTYPE="btrfs" # users and groups allowed to work with config ALLOW_USERS="jerry" ALLOW_GROUPS="jerry" # sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots # directory SYNC_ACL="yes" # start comparing pre- and post-snapshot in background after creating # post-snapshot BACKGROUND_COMPARISON="yes" # run daily number cleanup NUMBER_CLEANUP="yes" # limit for number cleanup NUMBER_MIN_AGE="1800" NUMBER_LIMIT="5" NUMBER_LIMIT_IMPORTANT="5" # create hourly snapshots TIMELINE_CREATE="no" # cleanup hourly snapshots after some time TIMELINE_CLEANUP="yes" # limits for timeline cleanup TIMELINE_MIN_AGE="1800" TIMELINE_LIMIT_HOURLY="0" TIMELINE_LIMIT_DAILY="0" TIMELINE_LIMIT_MONTHLY="1" TIMELINE_LIMIT_YEARLY="5" # cleanup empty pre-post-pairs EMPTY_PRE_POST_CLEANUP="yes" # limits for empty pre-post-pair cleanup EMPTY_PRE_POST_MIN_AGE="1800"
To make creating snapshots of / and /home a lot easier I wrote a script I titled "snap_pre_post.sh"
Code:#!/bin/bash # created by Jerry L Kreps on July 20, 2015 and released under the GPL 2.0. # This script merely creates a snapshot in both root and home with the designation of PRE or POST as the type, # which indicates that the user created it before an action or afterwards. # This script is run with PRE as the TYPE before an action which you may want to reverse # AND this script run again with POST as the TYPE after that action has been completed. Both snapshots are singletons because # no timeline is used. Only the "PRE" or"POST" in the description, along with a timestamp, links the pre to the post snapshot. # To reverse the action run the following two snapper commands: # # snapper -c home udochange n..m where n or o is the number of the PRE and m or p is the number of the POST snapshot # sudo snapper -c root undochange o..p # # After running those two commands both of the empty snapshots folders can be deleted using # # snapper -c home delete n-m # sudo snapper -c root delete o-p # # # NOW=$(date +%Y%m%d%H%M) echo Enter snapshot type PRE or POST: read TYPE echo Enter description read DESC STR=$TYPE" "$DESC" "$NOW echo $STR HCMD='snapper -c home create -d "'${STR}'"' RCMD='sudo snapper -c root create -d "'${STR}'"' eval "$HCMD" eval "$RCMD""A nation that is afraid to let its people judge the truth and falsehood in an open market is a nation that is afraid of its people.”
– John F. Kennedy, February 26, 1962.
- Top
- Bottom
Comment
Users Viewing This Topic
Collapse
There are 0 users viewing this topic.







Comment