
Hi, From: "Russell Coker" <russell@coker.com.au>
On Fri, 31 Oct 2014, "Peter Ross" <Petros.Listig@fdrive.com.au> wrote:
The article also mentions some speed issues especially in relation to databases.
COW filesystems use different blocks on disk every time a file is written to.
Yes.
I would be interested to know what Oracle says to databases on ZFS on Solaris - and Btrfs on Linux systems (the later not supported by Oracle yet, I believe, the first I am not sure about)
The same performance issues apply to BTRFS and ZFS. The significant difference is that L2ARC and ZIL can mitigate such problems
So Btrfs does not have this kind of features, I understand. Thanks for pointing this out.
My gut feeling: Use Btrfs for "bread and butter" work and not if you need 101% reliability. With backups and mirrors and failovers (which may be in place anyway) you may be fine.
If you want good reliability then you need backups and mirrors anyway.
Yes, no doubt. But failover is a bit more tricky if you are dealing with instable nodes. It is harder to catch an error (which triggers a failover) if there are many ways to fail and some quite unexpected. For the purpose of explanation: A switched off computer is easier to detect than some data inconsistency which may "sleep" for a while before being detected. You are buggered if you have two nodes with different issues then.
I just do not get my head around why a subvolumes is called subvolume if it is (according to the FAQ) comparable to a file system - you just can have many of them in a pool.
A subvolume is represented inside BTRFS in much the same way a directory. You can't mount one subvol without operating on the rest of the filesystem, so if a filesystem is corrupted such that it can only be mounted RO then that applies to all subvols.
My tube may be glued to a wheel so you may have to replace the wheel in order to replace the tube. But I doubt that it makes my tube a wheel;-) Something that is represented in much the same ways as a directory does not look like a volume to me. Every "subvolume" has a root, it can be mounted everywhere on the system - as a file system does. It is organized on top of a block structure which abstracts from physical devices (usually referred to as logical volumes) and creates a directory structure on it - as a filesystem does. My way of thinking of things and analogies and my imagination feels slightly tricked by btrfs terminology;-) But I won't continue arguing. I have been walking through the mountains in a fog and I looked at a map and tried to make sense, until my friend rotated the map by 180 degrees and we realized how much we lost orientation... I guess you walked through the Btrfs forest a bit longer than me. Talking of forests - that's how I would call the whole "bunch of filesystems" directory structure on top of a pool because you can have many trees (filesystems) with their own roots in it (while a traditional block device has one only) Cheers Peter