Problem with zfs snapshot on ZVOL volumes (for example for iSCSI)

https://www.ixsystems.com/community/threads/cannot-create-snapshot-out-of-space.14577/page-2

zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation nvme1/nvme1
NAME         NAME         AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
nvme1/nvme1  nvme1/nvme1   144G   213G         0   78.9G           134G          0  1.00x      -         -    none       213G

root@freenasi[~]# zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation SSCOMSQL_POOL/freenasi_iscsi
NAME                          NAME                          AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
SSCOMSQL_POOL/freenasi_iscsi  SSCOMSQL_POOL/freenasi_iscsi   743G   813G         0    155G           657G          0  2.36x      -         -    none       813G
[~]# zfs snap nvme1/nvme1@snap_01
cannot create snapshot 'nvme1/nvme1@snap_01': out of space
[~]# zfs set refreservation=none nvme1/nvme1
[~]# zfs snap nvme1/nvme1@snap_01
zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation nvme1/nvme1
NAME                 NAME                 AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
nvme1/nvme1          nvme1/nvme1           144G  78.9G         0   78.9G              0          0  1.00x      -         -    none       none
nvme1/nvme1@snap_01  nvme1/nvme1@snap_01      -      0         -       -              -          -  1.00x      -         -       -          -

root@freenasi[~]# zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation SSCOMSQL_POOL/freenasi_iscsi
NAME                          NAME                          AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
SSCOMSQL_POOL/freenasi_iscsi  SSCOMSQL_POOL/freenasi_iscsi   743G   813G         0    155G           657G          0  2.36x      -         -    none       813G

root@freenasi[~]# zfs set refreservation=100G SSCOMSQL_POOL/freenasi_iscsi
root@freenasi[~]# zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation SSCOMSQL_POOL/freenasi_iscsi
NAME                          NAME                          AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
SSCOMSQL_POOL/freenasi_iscsi  SSCOMSQL_POOL/freenasi_iscsi   743G   155G         0    155G              0          0  2.36x      -         -    none       100G
zfs snap SSCOMSQL_POOL/freenasi_iscsi@manual-20191604_01`
zfs list -t all -ro name,space,compressratio,quota,refquota,reservation,refreservation SSCOMSQL_POOL/freenasi_iscsi
NAME                                             NAME                                             AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  RATIO  QUOTA  REFQUOTA  RESERV  REFRESERV
SSCOMSQL_POOL/freenasi_iscsi                     SSCOMSQL_POOL/freenasi_iscsi                      742G   255G     74.8M    155G          99.9G          0  2.36x      -         -    none       100G
SSCOMSQL_POOL/freenasi_iscsi@manual-20191604_01  SSCOMSQL_POOL/freenasi_iscsi@manual-20191604_01      -  74.8M         -       -              -          -  2.36x      -         -       -          -

ZFS send data after ssh key added to .ssh/authorized_keys

sh
zfs send SSCOMSQL_POOL/freenasi_iscsi@manual-20191604_01 |ssh 10.10.189.159 zfs recv nas4/iSCSI_01 &/code>

Progres on “USED”

zfs list -t all -ro name,space,quota,refquota,reservation,refreservation nas4/iSCSI_01

AME           NAME           AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD  QUOTA  REFQUOTA  RESERV  REFRESERV
nas4/iSCSI_01  nas4/iSCSI_01  2.42T  1.38G         0   1.38G              0          0      -         -    none       none

Incremental send and receive

https://docs.oracle.com/cd/E19253-01/819-5461/gbinw/index.html

You can send incremental data by using the zfs send -i option. For example:


zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh host2 zfs recv newtank/dana

Note that the first argument (snap1) is the earlier snapshot and the second argument (snap2) is the later snapshot. In this case, the newtank/dana file system must already exist for the incremental receive to be successful.