Mailinglist Archive: opensuse-factory (1324 mails)

< Previous Next >
Re: [opensuse-factory] leap - partioning proposal with subvolumes for mailman, libvirt, named, pgsql ?
Hello Per and all,

When introducing btrfs as the default filesystem for
SUSE Linux Enterprise, we started evaluating areas of
potential "disappointment", and we figured that there is
one - well known - risk: write performance in the
context of databases and virtual machine images (host).

This is not a "bug" in btrfs, but it is a programatic
issue with all filesystems using "Copy on write"; in
other words, also other CoW filesystems suffer from

Thus the strong suggestion is to use xfs for databases.

However, we know that not everbody is reading release
notes, and we are aware that people often want it "quick
and easy", just "one filesystem".

To accomodate this behaviour and minimize risk, we have
decided to use the btrfs capability of marking database
files as "NoCOW"; the easiest way to achieve this is by
creating a btrfs subvolume and marking this as NOCOW,
thus all files in this subvolume are not COWed, and the
performance penalty is removed.

Find attached a graph showing this effect: The graph was
created by simulating the situation via a loop device,
aka "nested filesystems". xfs is always the filesystem
within the loop, the "host" filesystems are ext4, xfs,
btrfs+cow, btrfs-cow (no cow). -- As you see, the
btrfs-no-CoW performance is equal to ext4, xfs is a
bit better -- for this specific test.

Hope this explains.

As a general recommendation for those people looking for
the last percent of performance, we suggest that you
always test your specific workload with all combinations
of filesystems and IO schedulers on the target hardware.

So long -

P.S.: I will present about the topic of filesystem
recommendations at SUSECon 2015 in Amsterdam.

On 2015-10-14 T 09:26 +0200 Per Jessen wrote:

I was just re-installing Leap on my test desktop when I noticed the
btrfs partitioning proposal:

* Create subvolume @/var/lib/libvirt/images on device /dev/sda5 with
* Create subvolume @/var/lib/mailman on device /dev/sda5

* Create subvolume @/var/lib/mariadb on device /dev/sda5 with
* Create subvolume @/var/lib/named on device /dev/sda5

* Create subvolume @/var/lib/pgsql on device /dev/sda5

I guess mariadb is installed by default, but what about the rest, is
that really also default? mailman, named and pgsql? I don't mind, I'm
just curious.

Matthias G. Eckermann - Senior Product Manager SUSE® Linux Enterprise
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
HRB 21284 (AG Nürnberg)
< Previous Next >
Follow Ups