How to add swap to ZFS disk?
If your swap device is in use, then you might not be able to delete it. Check to see if the swap area is in use. For example:
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 4194296 4194296
In the above output, blocks == free, so the swap device is not actually being used.
If the swap area is not is use, remove the swap area. For example:
$ swap -d /dev/zvol/dsk/rpool/swap
Confirm that the swap area is removed.
$ swap -l
No swap devices configured
Resize the swap volume. For example:
$ zfs set volsize=1G rpool/swap
One also has to ensure that the referenced swap is reserved from the pool, otherwise when it comes time to swap there might not be enough memory:
$ zfs set refreservation=1G rpool/swap
Activate the swap area.
$ swap -a /dev/zvol/dsk/rpool/swap
$ swap -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 182,2 8 2097144 2097144
More info at: ZFS Troubleshooting Guide
If your swap is active, you can add an additional swap volume.
zfs create -V 10G rpool/swap2
swap -a /dev/zvol/dsk/rpool/swap2