On Tue, Jun 24, 2014 at 11:28 AM,  <meino.cra...@gmx.de> wrote:
> ...I am sure, whether I want btrfs. On the net I found
> for example this:
> http://www.phoronix.com/scan.php?page=news_item&px=MTY1MDU
>
> with sentences like:
> "The Btrfs file-system changes for the Linux 3.15 kernel mostly deal
> with bug fixes and performance fixes while some corruption fixes are
> also expected to come."
>
> ...sounds a little different to "stable" I think...

I have mixed feelings regarding btrfs.

For a disk that is going to be mostly offline, low-activity, long-term
storage btrfs has some plusses and minuses, especially since you
intend to mirror it (manually or otherwise).

The only real minus is that btrfs is still fairly experimental.  You
could run into problems.  However, what you're doing is a very simple
use case and the write loads are certainly going to be quite low.
Most of the scenarios that cause issues with btrfs are unlikely to
come up.

Btrfs has a few advantages.  I'd say the biggest one is that it
checksums everything and can detect silent corruption.  For a disk
that is just going to sit around for a long time offline that is a big
plus - any other filesystem option isn't going to detect any
corruption to your archive other than unreadable clusters (or disks).
You could get around this by only storing data in a format that
already can detect corruption, and then writing scripts to check
everything, but you'll be manually copying data across your mirror if
you find issues, and that will be really tricky if you're using
something like mdadm since there is no easy way to pick which copy it
gives you.

Btrfs can also mirror your data which guarantees that all of it is
replicated.  Sure, rsync can do this also, but if for whatever reason
something gets changed without updating mtime/ctime/size it won't spot
it unless you have it set to hash everything (which is VERY slow so
nobody does this).  Mdadm would be a better choice, but as I pointed
out it can't detect silent corruption, and is hard to recover if you
discover it yourself.  With btrfs everything is always mirrored (if
you set that up) and a simple scrub command periodically will test to
make sure everything is fine and restore anything that isn't.

I have some old hard drives that I'm using for storage and I use btrfs
on them.  However, ultimately it isn't anything I can't afford to lose
either.

There is nothing wrong with ext4+rsync and maybe an occasional
recursive diff.  You just need to do a bit more with scripting/etc and
make sure you stay on top of it, and watch out for gotchas like having
the wrong disk mounted/etc.  That will be less efficient than mdadm or
btrfs since rsync has no idea what has changed without walking the
whole tree, but it probably isn't a big deal and minus the automation
is probably the most bulletproof option.  Just keep in mind it is only
bulletproof if you don't miss anything when you set it up - this is
relying on you to manage the mirroring/etc and if you drop the ball
then data will be at risk.

So, I won't enthusiastically recommend btrfs, but it may be worth
consideration...

Rich

Reply via email to