Plans for BTRFS in Fedora

James Ralston qralston+ml.redhat-fedora-devel at andrew.cmu.edu
Wed Feb 23 23:38:03 UTC 2011


On 2011-02-22 at 14:51-05 Josef Bacik <josef at toxicpanda.com> wrote:
> Fedora 16 ships without LVM as the volume manager and instead use
> BTRFS's built in volume management, again just for the default.

I don't think btrfs subvolumes are capable of replacing LVM
functionality quite yet.

Here are two usage cases that I care about:

1.  Separate LVM logical volumes can help mitigate consumption-based
    DoS attacks.

For example: if /tmp and /var/tmp are separate LVM logical volumes,
then a runaway/malicious process cannot fill up the entire filesystem
merely by filling up /tmp or /var/tmp.

In contrast, although the btrfs wiki mentions the ability to set a
quota on subvolumes at creation time, I don't think anything in
btrfs-progs implements that.  Plus, even if there were a way to set
it, I don't see that anything reports it.

2.  Separate LVM logical volumes permit easier installs.

Primarily because I've never trusted the upgrade process, but also for
other reasons, I always perform a full install to "upgrade" from one
version of Fedora to the next.

With LVM logical volumes, this process is trivial: I do a custom
partition layout, and tell anaconda to format the /boot, /, /tmp,
/usr, /var, and /var/cache logical volumes, and leave all the other
logical volumes in the system (e.g., /home, /var/log) alone.

I can't do this with one big btrfs filesystem with subvolumes.  What I
would have to do is first boot the installer in rescue mode, then run
a bunch of "find /subvolume -xdev" commands to delete all the data on
the subvolumes that I wanted to "reformat".  Then I'd have to re-run
the installer and tell it to use the / btrfs filesystem as-is, without
formatting.

None of these issues is a dealbreaker, but they *are* losses of
functionality versus what LVM offers.



More information about the devel mailing list