Show Menu

ZFS command line reference Cheat Sheet by

Solaris ZFS command line reference (Cheat sheet)

Pool Related Commands

# zpool create datapool c0t0d0
Create a basic pool named datapool
# zpool create -f datapool c0t0d0
Force the creation of a pool
# zpool create -m /data datapool c0t0d0
Create a pool with a different mount point than the default.
# zpool create datapool raidz c3t0d0 c3t1d0 c3t2d0
Create RAID-Z vdev pool
# zpool add datapool raidz c4t0d0 c4t1d0 c4t2d0
Add RAID-Z vdev to pool datapool
# zpool create datapool raidz1 c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0
Create RAID-Z1 pool
# zpool create datapool raidz2 c0t0d0 c0t1d0 c0t2d0 c0t3d0 c0t4d0 c0t5d0
Create RAID-Z2 pool
# zpool create datapool mirror c0t0d0 c0t5d0
Mirror c0t0d0 to c0t5d0
# zpool create datapool mirror c0t0d0 c0t5d0 mirror c0t2d0 c0t4d0
disk c0t0d0 is mirrored with c0t5d0 and disk c0t2d0 is mirrored withc0t4d0
# zpool add datapool mirror c3t0d0 c3t1d0
Add new mirrored vdev to datapool
# zpool add datapool spare c1t3d0
Add spare device c1t3d0 to the datapool
# zpool create -n geekpool c1t3d0
Do a dry run on pool creation

Show file system info

# zfs list
List all ZFS file system
# zfs get all datapool
List all properties of a ZFS file system

Mount/­Umount Related Commands

# zfs set mountp­oin­t=/data datapo­ol/fs1
Set the mount-­point of file system fs1 to /data
# zfs mount datapo­ol/fs1
Mount fs1 file system
# zfs umount datapo­ol/fs1
Umount ZFS file system fs1
# zfs mount -a
Mount all ZFS file systems
# zfs umount -a
Umount all ZFS file systems

Import­/Export Commands

# zpool import
List pools available for import
# zpool import -a
Imports all pools found in the search direct­ories
# zpool import -d
To search for pools with block devices not located in /dev/dsk
# zpool import -d /zfs datapool
Search for a pool with block devices created in /zfs
# zpool import oldpool newpool
Import a pool originally named oldpool under new name newpool
# zpool import 398783­7483
Import pool using pool ID
# zpool export datapool
Deport a ZFS pool named datapool
# zpool export -f datapool
Force the unmount and deport of a ZFS pool

Clone Commands

# zfs clone datapo­ol/­fs1­@10­jan2014 /clone­s/fs1
Clone an existing snapshot
# zfs destroy datapo­ol/­fs1­@10­jan­2014
Destroy clone

Show Pool Inform­ation

# zpool status -x
Show pool status
# zpool status -v datapool
Show individual pool status in verbose mode
# zpool list
Show all the pools
# zpool list -o name,size
Show particular properties of all the pools (here, name and size)
# zpool list -Ho name
Show all pools without headers and columns

File-s­yst­em/­Volume related commands

# zfs create datapo­ol/fs1
Create file-s­ystem fs1 under datapool
# zfs create -V 1gb datapo­ol/­vol01
Create 1 GB volume (Block device) in datapool
# zfs destroy -r datapool
destroy datapool and all datasets under it
# zfs destroy -fr datapo­ol/­data
destroy file-s­ystem or volume (data) and all related snapshots

Set ZFS file system properties

# zfs set quota=1G datapo­ol/fs1
Set quota of 1 GB on filesystem fs1
# zfs set reserv­ati­on=1G datapo­ol/fs1
Set Reserv­ation of 1 GB on filesystem fs1
# zfs set mountp­oin­t=l­egacy datapo­ol/fs1
Disable ZFS auto mounting and enable mounting through /etc/v­fstab.
# zfs set sharen­fs=on datapo­ol/fs1
Share fs1 as NFS
# zfs set compre­ssi­on=on datapo­ol/fs1
Enable compre­ssion on fs1
zfs set record­siz­e=[­size] pool/d­ata­set­/name
Set Dataset Record Size (Size should be a value like 16k, 128k, or 1M etc.)
zfs get recordsize pool/d­ata­set­/name
Get Dataset Record Size

ZFS I/O perfor­mance

# zpool iostat 2
Display ZFS I/O Statistics every 2 seconds
# zpool iostat -v 2
Display detailed ZFS I/O statistics every 2 seconds

ZFS mainte­nance commands

# zpool scrub datapool
Run scrub on all file systems under data pool
# zpool offline -t datapool c0t0d0
Tempor­arily offline a disk (until next reboot)
# zpool online
Online a disk to clear error count
# zpool clear
Clear error count without a need to the disk

Snapshot Commands

# zfs snapshot datapo­ol/­fs1­@12­jan­2014
Create a snapshot named 12jan2014 of the fs1 filesystem
# zfs list -t snapshot
List snapshots
# zfs rollback -r datapo­ol/­fs1­@10­jan­2014
Roll back to 10jan2014 (recur­sively destroy interm­ediate snapshots)
# zfs rollback -rf datapo­ol/­fs1­@10­jan­2014
Roll back must and force unmount and remount
# zfs destroy datapo­ol/­fs1­@10­jan­2014
Destroy snapshot created earlier
# zfs send datapo­ol/­fs1­@oc­t2013 > /geekp­ool­/fs­1/o­ct2­013.bak
Take a backup of ZFS snapshot locally
# zfs receive anothe­rpo­ol/fs1 < /geekp­ool­/fs­1/o­ct2­013.bak
Restore from the snapshot backup backup taken
# zfs send datapo­ol/­fs1­@oc­t2013 | zfs receive anothe­rpo­ol/fs1
Combine the send and receive operation
# zfs send datapo­ol/­fs1­@oc­t2013 | ssh node02 "zfs receive testpo­ol/­tes­tfs­"
Send the snapshot to a remote system node02

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi


No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.