1 |
On Sun, Feb 28, 2016 at 8:34 AM, Tanstaafl <tanstaafl@×××××××××××.org> wrote: |
2 |
> |
3 |
> Also, it has been a while since I read anything - what is the current |
4 |
> state of BTRFS vs ZFS? Is it stable/mature enough to use for production? |
5 |
> What can ZFS do that it cannot? |
6 |
> |
7 |
|
8 |
This is obviously a topic people will have various opinions on. |
9 |
|
10 |
I'd say that zfs is more stable, but long-term less likely to be the |
11 |
mainstream linux solution. |
12 |
|
13 |
At the current time I'd say that btrfs single-disk or in raid1 is |
14 |
mature enough to be usable, with a bunch of caveats. It definitely |
15 |
isn't up there with the likes of ext4. Besides some stuff just not |
16 |
being handled gracefully like low-disk-space it is fairly prone to |
17 |
regressions. I've found I've gotten the best experience by sticking |
18 |
with longterm kernels and not updating to the next one until it |
19 |
reaches maybe x.x.16 or so (maybe 6mo after release), and I always |
20 |
check the lists before updating. |
21 |
|
22 |
As far as features go, zfs tends to have more enterprise-oriented |
23 |
features and btrfs tends to have more small-system-oriented features. |
24 |
For example, in zfs with 100 drives you can arrange them into 10 neat |
25 |
raid-6s with 10 drives each or something along those lines, and have a |
26 |
few SDDs servicing the entire array as read and write caches. On the |
27 |
other hand, if you have a 4-drive raid5 and want to turn it into a |
28 |
5-drive raid5 this is impossible to do in zfs without copying all the |
29 |
data off the drives, but trivial to do in btrfs. When you have 100 |
30 |
drives adding or removing 10 at a time probably isn't a big deal, but |
31 |
when you 4 drives having to first add 5 drives and then remove the |
32 |
previous 4 seems almost comical. It just has to do with the original |
33 |
goals of the two filesystems. |
34 |
|
35 |
Oh, I've heard that zfs is ram-hungry, and many of its advocates |
36 |
suggest it should only be used with ECC RAM. Honestly, I've never |
37 |
seen an argument for ECC on zfs that wouldn't apply equally to any |
38 |
other filesystem, but whatever. I haven't found btrfs to be terribly |
39 |
RAM hungry, but I have found that it doesn't seem to do a good job |
40 |
with IO scheduling classes (though I have no idea how zfs does on this |
41 |
front). Btrfs at least seems to accept too many writes into its queue |
42 |
and then everything backlogs with getting it all out to disk, |
43 |
resulting in processes that should be low-priority blocking writes |
44 |
even on processes marked as realtime. I suspect that this is just the |
45 |
whole bufferbloat phenomena in another context. |
46 |
|
47 |
I'm not really sure what the "conservative" recommendation. Ext4 (or |
48 |
even ext3) is the obvious one, but both zfs and btrfs have |
49 |
checksumming of all data written to disk which is a huge data security |
50 |
improvement. That is a compelling feature that should give even |
51 |
conservative sysadmins pause before just rejecting them, unless |
52 |
they're mitigating silent corruptions in some other way. |
53 |
|
54 |
-- |
55 |
Rich |