ZFS: Difference between revisions

From David's Wiki
Line 5: Line 5:
* zpools are a JBOD of one or more vdevs
* zpools are a JBOD of one or more vdevs
* vdevs are groups of drives, likely in raidz(2|3) or mirror.
* vdevs are groups of drives, likely in raidz(2|3) or mirror.
* datasets are filesystems stored on a zpool
* datasets are filesystems stored on a zpool, similar to partitions
* zvol is a virtual block device on a zpool without a filesystem
* zvol is a virtual block device on a zpool without a filesystem



Revision as of 01:05, 7 November 2021

How to use ZFS:

Background

There are three levels to understand

  • zpools are a JBOD of one or more vdevs
  • vdevs are groups of drives, likely in raidz(2|3) or mirror.
  • datasets are filesystems stored on a zpool, similar to partitions
  • zvol is a virtual block device on a zpool without a filesystem

Usage

# Create a zpool with a mirror vdev.
zpool create -f -o ashift=12 -o compression=lz4 $zpool_name mirror \
  /dev/disk/by-id/diskA \
  /dev/disk/by-id/diskB

# Create a dataset.
zfs create -o encryption=aes-256-gcm -o keyformat=passphrase $zpool_name/$dataset_name

Pros and Cons

VS Snapraid + btrfs + mergerfs

Pros
  • ZFS has realtime parity.
  • ZFS can work while degraded.
  • ZFS snapshots with send and receive.
  • ZFS has encryption on per-dataset.
  • ZFS handles everything altogether including parity on permissions
Cons
  • The main con is that ZFS is less expandable. You need to buy all of your drives up front.
  • If many drives die, i.e. >2 for raidz2, you lose all your data.


Resources