ZFS
File System Management
| Command |
Description |
zfs list |
List ZFS file systems |
zfs create <pool>/<filesystem> |
Create a ZFS file system |
zfs set <property>=<value> <pool>/<filesystem> |
Set ZFS file system properties |
zfs get <property> <pool>/<filesystem> |
Get ZFS file system properties |
zfs destroy <pool>/<filesystem> |
Destroy a ZFS file system |
Pool Management
| Command |
Description |
zpool list |
List ZFS pools |
zpool create <pool> <device> |
Create a ZFS pool |
zpool destroy <pool> |
Destroy a ZFS pool (deletes files metadata) |
zpool iostat |
Display ZFS pool I/O statistics |
zpool status |
Display ZFS pool status |
zpool history |
Display ZFS pool history |
zpool events |
Display ZFS pool events |
zpool scrub <pool> |
Scrub a ZFS pool |
zpool clear <pool> |
Clear ZFS pool errors |
zpool trim <pool> |
Trim a ZFS pool |
zpool add <pool> <device> |
Add a device to a ZFS pool |
zpool remove <pool> <device> |
Remove a device from a ZFS pool |
zpool replace <pool> <device> |
Replace a device in a ZFS pool |
zpool offline <pool> <device> |
Offline a device in a ZFS pool |
Volumes & Datasets
| Command |
Description |
zfs create -V <size> <pool>/<volume> |
Create a ZFS volume (block device) |
zfs list -t volume |
List ZFS volumes |
zfs set volblocksize=<size> <pool>/<volume> |
Set volume block size |
zfs destroy <pool>/<volume> |
Destroy a ZFS volume |
zfs create <pool>/<dataset> |
Create a ZFS dataset (filesystem) |
zfs list -t filesystem |
List ZFS datasets |
zfs rename <pool>/<dataset> <pool>/<newdataset> |
Rename dataset or volume |
zfs set quota=<size> <pool>/<dataset> |
Set quota on a dataset |
zfs set reservation=<size> <pool>/<dataset> |
Reserve space for a dataset |
Snapshots
| Command |
Description |
zfs list -t snapshot |
List ZFS snapshots |
zfs snapshot <pool>/<filesystem>@<snapshot> |
Create a ZFS snapshot |
zfs rollback <pool>/<filesystem>@<snapshot> |
Rollback a ZFS snapshot |
zfs diff <pool>/<filesystem>@<snapshot_1> <pool>/<filesystem>@<snapshot_2> |
Compare ZFS snapshots |
zfs send <pool>/<filesystem>@<snapshot> |
Send ZFS snapshots |
zfs receive <pool>/<filesystem> |
Receive ZFS snapshots |
Clones
| Command |
Description |
zfs clone <pool>/<filesystem>@<snapshot> <pool>/<filesystem> |
Create a ZFS clone |
zfs promote <pool>/<filesystem> |
Promote a ZFS clone |
zfs rollback <pool>/<filesystem> |
Rollback a ZFS clone |
zfs destroy <pool>/<filesystem> |
Destroy a ZFS clone |
Install ZFS (Debian/Ubuntu)
apt update
apt install zfsutils-linux
Create ZFS Pool
Single disk:
zpool create mypool /dev/sdX
Adding disk as mirror to existing disk
zpool attach mypool /dev/sdb /dev/sda
- sdb existing disk
- sda new disk
Adding read cache to pool
zpool add mypool cache /dev/sdb
Adding write cache to pool
zpool add mypool log /dev/sdc
Adding spare disk
disk will automaticaly replace any failed disk in pool
zpool add mypool spare /dev/sdX
Mirror (2+ disks):
zpool create mypool mirror /dev/sdb /dev/sdc
RAIDZ1 (3+ disks):
zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
RAIDZ2 (4+ disks):
zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde
RAID10 (two mirrors):
zpool create mypool \
mirror /dev/sdb /dev/sdc \
mirror /dev/sdd /dev/sde
Create Datasets
zfs create mypool/data
Set Features
Mount point:
zfs set mountpoint=/data mypool/data/
Compression:
zfs set compression=lz4 mypool/data
Quota:
zfs set quota=10G mypool/data/db
Reservation:
zfs set reservation=2G mypool/data/db
Readonly:
zfs set readonly=on mypool/data/www
Snapshots
Create:
zfs snapshot mypool/data/db@snap1
Rollback:
zfs rollback mypool/data/db@snap1
View Status
zpool status
zfs list
Export/Import (optional)
zpool export mypool
zpool import mypool
No comments to display
No comments to display