This is an old revision of the document!
Create a pool on a single drive and specify a mountpoint for it. Note: use id, not uuid.
zpool create -m /mnt/Pool Pool -f /dev/disk/by-id/b592...
If you have more than one drive to begin with, you can make mirrors as follows:
zpool create -m /mnt/Pool Pool -f mirror /dev/disy/by-id/2323... /dev/disy/by-id/3232...
If you accidentally used short names, then export and import to change it asap like this:
zpool export vms zpool import -d /dev/disk/by-id vms
If you messed up and picked a wrong name and/or mountpoint, adjust later as follows. To rename:
zpool export [pool_name] zpool import [original_pool_name] [new_pool_name]
To change mountpoint:
zfs set mountpoint=/myspecialfolder mypool
If you now have more than one drive, add another drive as a mirror as follows:
zpool attach nameofpool /dev/disk/by-id/currentdisk /dev/disk/by-id/newdisk
To create an encrypted dataset you generate a key and then specify the location and name of the pool as follows:
dd if=/dev/random of=/secure/area/example.key bs=1 count=32 zfs create -o encryption=on -o keyformat=raw -o keylocation=file:///mnt/vault/example.key pool/dataset
After reboot, import (mount), the data set as follows:
zfs load-key pool/dataset zfs mount pool/dataset