ZFS reservations for type=volume

From: Michael Jung <mikej_at_paymentallianceintl.com>
Date: Thu, 21 Apr 2022 20:27:45 UTC
I have a zfs block dataset raid-5400-1/esxi-store1 that I share as an iscsi target and that works great.  I have set a reservation
on that block device equal to its size so that is not sparse and thus while I could over provision guests on the provided LUN,
the storage presented as the LUN capacity will always be available.  At least this is what I want to achieve.

What I find strange is that the reservation does not seem to be applied to the ZFS pool 'raid-5400-1'.  Do you really need
to set your maximum reservation at the pool level, and then apply reservations to all datasets on that volume?  And if so
I would assume you could never set reservations for datasets totaling more than what was reserved for the pool 'raid-5400-1'.

I could build out a test environment and figure out constraints but I'd really like to know the "how it is supposed to work"
not the "how I find it to work".

Thanks in advance.

FreeBSD 14.0-CURRENT #4 main-n253875-8e72f458c6d:

(this is a raidz2 pool - not my draid pool)


root@draid:/usr/src/contrib/bearssl # zfs list -o name,type,used,avail,ratio,compression,reservation,refreservation,volsize raid-5400-1
NAME         TYPE   USED  AVAIL  RATIO  COMPRESS        RESERV  REFRESERV  VOLSIZE
raid-5400-1  filesystem  18.0T  2.08T  1.36x  on                none       none        -               <- no reservation @pool
root@draid:/usr/src/contrib/bearssl #

root@draid:/usr/src/contrib/bearssl # zfs list -o name,type,used,avail,ratio,compression,reservation,refreservation,volsize raid-5400-1/esxi-store1
NAME                     TYPE   USED  AVAIL  RATIO  COMPRESS        RESERV  REFRESERV  VOLSIZE
raid-5400-1/esxi-store1  volume  16.9T  18.5T  1.78x  zstd             15.6T      16.9T    15.6T        <- reservation @dataset

root@draid:/usr/src/contrib/bearssl # zpool list
NAME          SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
ccache       9.50G  9.10G   406M        -         -    88%    95%  1.00x    ONLINE  -
raid-5400-1  24.6T  1.52T  23.1T        -         -     2%     6%  1.00x    ONLINE  -                     <- Free does not reflect reservation @pool
tank         18.5T   605G  17.9T        -         -     0%     3%  1.00x    ONLINE  -
zfsroot       103G  33.3G  69.7G        -         -    31%    32%  1.00x    ONLINE  -
root@draid:/usr/src/contrib/bearssl #




CONFIDENTIALITY NOTE: This message is intended only for the use
of the individual or entity to whom it is addressed and may
contain information that is privileged, confidential, and
exempt from disclosure under applicable law. If the reader
of this message is not the intended recipient, you are hereby
notified that any dissemination, distribution or copying
of this communication is strictly prohibited. If you have
received this transmission in error, please notify us by
telephone at (502) 212-4000 or notify us at: PAI, Dept. 99,
2101 High Wickham Place, Suite 101, Louisville, KY 40245

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast, a leader in email security and cyber resilience. Mimecast integrates email defenses with brand protection, security awareness training, web security, compliance and other essential capabilities. Mimecast helps protect large and small organizations from malicious activity, human error and technology failure; and to lead the movement toward building a more resilient world. To find out more, visit our website.