On 4/4/2017 6:59 PM, Konstantin Olchanski wrote:
Moving to ZFS...
ZFS is also scary...

Heh - another soon to be victim of ZFS on linux :)


No kidding. Former victim of XLV+XFS (remember XLV?), former
victim of LV+EFS, former victim of ext2, ext3, reiserfs, former
victim of LVM, current victim of mdadm/raid5/6/ext4/xfs.


You'll quickly realise that the majority of major features you'd expect
to work - don't.

I am not big on "features". For me the main features is 
open()/read()/write()/close(),
mkdir()/rmdir()/readdir() and those seem to work on all filesystems. Next 
features are:
a) non-scary raid rebuild after a crash or disk failure,
b) "online" fsck


You can't grow a ZFS 'raid'. You're stuck with the number of disks you first 
start with.

(I know this is 2 quotes back) That's kind of unfair since here you're talking about a feature that was never offered, it's just an incorrect assumption. It took me a while to understand what ZFS does and does not offer as well - I missed many things from (ancient history) Digital's advfs - but ZFS does lots of things quite well. There really is no such thing as "a ZFS raid", that's probably most analogous to a zfs pool made of a single raidz vdev, but that's a very simple case. What other system lets you make large reliable storage pools from hundreds of drives on a single server? I built some with 200+ 4TB drives some years back.

We only have a few hardware configurations, all with fixed number of disks, so 
not a problem:

a) single 120GB ssd for OS (/home on NFS)
b) single SSD for OS, dual 4-6-8 TB HDD for data, RAID1 configuration to 
protect against single disk failure
c) dual SSD for OS and /home, dual HDD for data, both RAID1 configuration to 
protect against single disk failure
d) single SSD for OS, multiple (usually 8) 6-8 TB HDDs for data, mdadm 
raid6+xfs and now raidz2 ZFS (protection against single disk failure + failure 
of second disk during raid rebuild).

For case (b) for your data storage, you can expand a ZFS mirror reasonably easily. For case (c) I don't know how hard it is to use ZFS for the OS drive on linux; I only used it on BSD. But mdadm on linux is ok for that role. For case (d) it is true that you cannot expand a ZFS RAIDZ(2) vdev, but that's ok if you know that going in.

BTRFS is billed as "open source replacement for ZFS", but after testing it,
my impression is that it is only used by a couple of enthusiasts
in single-disk laptop configurations. In a single-disk system, it is not
clear how btrfs/zfs is better than old-plain ext4/xfs.

I've never seen any good success stories for btrfs but to be fair I have not followed it closely.

zfs can still give you some useful things on a single drive system: you get the data checksums, useful snapshots (as opposed to LVM), volume manager features, etc.

By default the checksums would only warn you of problems with a single drive, but you can tell zfs to keep multiple copies of your data ("zfs set copies=n") so that might well also let it recover from bad blocks.

G.
--
Graham Allan
Minnesota Supercomputing Institute - g...@umn.edu

Reply via email to