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 3987837483
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­jan2014
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­jan2014
Create a snapshot named 12jan2014 of the fs1 filesystem
# zfs list -t snapshot
List snapshots
# zfs rollback -r datapo­ol/­fs1­@10­jan2014
Roll back to 10jan2014 (recur­sively destroy interm­ediate snapshots)
# zfs rollback -rf datapo­ol/­fs1­@10­jan2014
Roll back must and force unmount and remount
# zfs destroy datapo­ol/­fs1­@10­jan2014
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


No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.