¿Cómo dar fácilmente todo el espacio disponible para el comando "zfs create -V"?

¿Cómo dar fácilmente todo el espacio disponible para el comando "zfs create -V"?

Necesito crear un fs ext4 sobre un zpool. Quería utilizar todo (o casi todo) el espacio disponible, como se muestra a continuación.

# zpool list
NAME      SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
nat2012  1,81T   124K  1,81T        -         -     0%     0%  1.00x    ONLINE  -
# zfs list
NAME      USED  AVAIL     REFER  MOUNTPOINT
nat2012   105K  1,76T       24K  none
# zfs create -V 1.75T nat2012/backup
bad volume size '1.75T': invalid numeric suffix '.75T'
# zfs get avail nat2012
NAME     PROPERTY   VALUE  SOURCE
nat2012  available  1,76T  -
# zfs get -H avail nat2012
nat2012 available   1,76T   -

Mi problema es que "1,75T" no se acepta como tamaño de volumen. (Pero se muestra como un tamaño). Su valor se redondea a 0,01T, que es 10G. Lo siguiente que intenté fue obtener el tamaño disponible en bytes, Mbytes o GBytes o bloques, o prácticamente cualquier cosa que me indique el tamaño exacto y que pueda usarse con "zfs create -V". Me sorprendió ver que no existe la opción "zfs get" para eso. Según los documentos, la opción "-H" debería "mostrar el resultado en una forma más fácil de analizar mediante scripts". Omitió los encabezados y usó pestañas para separar los campos, pero el formato es malo. El tamaño todavía se muestra en TBytes y se redondea con una precisión de +/- 10G. Un problema menor, pero está formateado usando la configuración regional actual (en mi caso, el punto decimal "." se reemplaza por ","). Sería un número entero en KBytes.

Tenga en cuenta que el comando "df" no se puede utilizar en este caso particular porque no hay nada montado. Podría hacer esto para mostrar bloques libres en Kbytes:

# mkdir -p /nat2012
# zfs set mountpoint=/nat2012 nat2012
# df -k | grep nat2012
nat2012        1885339520        128 1885339392   1% /nat2012

Pero esto daría un resultado falso. Como puede ver, ahora está montado como sistema de archivos zfs y el conjunto de datos ya utiliza el 1% del espacio disponible. Esto no me dice el tamaño exacto que está disponible para crear un nuevo volumen ext4. (La opción -V es obligatoria; si no la especifica, ext4.mkfs no podrá formatearlo).

Por supuesto, siempre puedo hacer una prueba, algo como esto:

# zfs create -V 1760G nat2012/backup
cannot create 'nat2012/backup': out of space
# zfs create -V 1755G nat2012/backup
cannot create 'nat2012/backup': out of space
# zfs create -V 1750G nat2012/backup
cannot create 'nat2012/backup': out of space
# zfs create -V 1740G nat2012/backup
# zfs destroy nat2012/backup
# zfs create -V 1745G nat2012/backup
cannot create 'nat2012/backup': out of space
# zfs create -V 1744G nat2012/backup
cannot create 'nat2012/backup': out of space
# zfs create -V 1743G nat2012/backup

En este punto, puedo estar seguro de que queda como máximo 1G de espacio sin utilizar. Esto esmuy torpe. Puedo vivir con esto, pero tengo que hacer lo mismo en varias unidades en el futuro.

¿Existe una mejor manera de "utilizar todo el espacio disponible" para crear untamaño fijo¿volumen?

información relacionada