Linux Administration/Devices and Filesystems/ZFS

ZFS is a combined file system and volume manager included in Solaris 10 update 2 (06/2006) and Ubuntu 16.04 LTS onwards. ZFS support advances features such as

Commands: zfs, zpool, zdb


  • Installation: sudo apt install zfsutils-linux


Configuration filesEdit

  • /etc/default/zfs

CommandsEdit

  • List your block/disk devices: lsblk or lsblk -f or fdisk -l
  • Show pool status: zpool status
  • List ZFS pools : zpool list
zpool list -v
  • zfs mount -a
  • zfs umount

Create a new pool:

  • Create a new pool: sudo zpool create DATA /dev/sdbbbbbbb11
  • Create a new stripped pool: sudo zpool create MY-NEW-STRIPPED-POOL /dev/sdb /dev/sdc
  • Create a new mirrored pool: sudo zpool create MY-NEW-MIRROR-POOL mirror /dev/sdb /dev/sdc

To Modify Disk identification to use disk/by-id:

  • zpool export DATA
  • zpool import -d /dev/disk/by-id DATA
  • Verify: zdb -C

PoolsEdit

  • zpool destroy YOUR_POOL
  • Show pool status: zpool status
  • List ZFS pools : zpool list

FilesystemsEdit

  • Create a new filesystem: sudo zfs create DATA/datafs[4]
  • Destroy a zfs filesystem: sudo zfs destroy DATA/datafs_TO_DESTROY (Warning: no confirmation requested[5])
    • sudo zfs destroy -r DATA/datafs_TO_DESTROY
  • Set a quota to a filesystems: zfs set quota=50G pool/home/bob[6]
  • Check zfs service status: systemctl status "zfs*" "zpool*"
  • Display configuration information: zdb -C

List informationEdit

  • Show pool status: zpool status
  • List ZFS pools : zpool list
  • List FS/Volumens/snapshots: zfs list
  • zfs get all
zfs get all | grep mountpoint

AdvancedEdit

  • zpool import

ActivitiesEdit

  1. Read selecting dev names when creating a pool before you create your first ZFS pool: https://github.com/zfsonlinux/zfs/wiki/FAQ#selecting-dev-names-when-creating-a-pool and https://wiki.archlinux.org/index.php/Persistent_block_device_naming
  2. Read ArchLinux documentation about ZFS: https://wiki.archlinux.org/index.php/ZFS#Creating_a_storage_pool
  3. Follow Ubuntu Tutorial about Setup a ZFS storage pool: https://tutorials.ubuntu.com/tutorial/setup-zfs-storage-pool#0
  4. Create you first ZFS pool: zpool create

See alsoEdit

  1. https://en.wikipedia.org/wiki/Copy-on-write
  2. https://wiki.ubuntu.com/Kernel/Reference/ZFS
  3. https://docs.oracle.com/cd/E37838_01/html/E60974/dmgmt.html#scrolltoc
  4. http://manpages.ubuntu.com/manpages/bionic/man8/zfs.8.html#subcommands
  5. https://www.reddit.com/r/zfs/comments/7l4e4p/zfs_destroy_why_doesnt_it_have_any_confirmation/
  6. https://docs.oracle.com/cd/E19253-01/819-5461/gazud/index.html