ZFS: Grow/Shrink an existing zfs filesystem


ZFS: Grow/Shrink an existing zfs filesystem

# Tested on RHEL 6 & 7


# Choose the F.S. to resize and verify current size

zfs list
   NAME           USED  AVAIL  REFER  MOUNTPOINT
   c_pool         204K  19.6G    30K  /c_pool
   c_pool/zfs01    30K  1024M    30K  /zfs01
   c_pool/zfs02    30K  19.6G    30K  /filesystem02
   m_pool         100K  9.78G    30K  /m_pool


ZPOOL=c_pool
ZFS=zfs01


df -h /$ZFS
   Filesystem            Size  Used Avail Use% Mounted on
   c_pool/zfs01          1.0G  128K  1.0G   1% /zfs01



# Extend F.S. to 2GB

zfs set quota=2g $ZPOOL/$ZFS



# Check

zfs list
   NAME           USED  AVAIL  REFER  MOUNTPOINT
   c_pool         204K  19.6G    30K  /c_pool
   c_pool/zfs01    30K  2.00G    30K  /zfs01
   c_pool/zfs02    30K  19.6G    30K  /filesystem02
   m_pool         100K  9.78G    30K  /m_pool


df -h /$ZFS
   Filesystem            Size  Used Avail Use% Mounted on
   c_pool/zfs01          2.0G  128K  2.0G   1% /zfs01



# Reduce F.S. back to 1GB

zfs set quota=1g $ZPOOL/$ZFS



# Check

zfs list
   NAME           USED  AVAIL  REFER  MOUNTPOINT
   c_pool         204K  19.6G    30K  /c_pool
   c_pool/zfs01    30K  1024M    30K  /zfs01
   c_pool/zfs02    30K  19.6G    30K  /filesystem02
   m_pool         100K  9.78G    30K  /m_pool



df -h /$ZFS
   Filesystem            Size  Used Avail Use% Mounted on
   c_pool/zfs01          1.0G  128K  1.0G   1% /zfs01



# Here is what happens if we fill up a little bit our filesystem and then try to reduce it
# below the boundary of used space

df -h /$ZFS
   Filesystem            Size  Used Avail Use% Mounted on
   c_pool/zfs01          1.0G  350M  675M  35% /zfs01


zfs set quota=256m $ZPOOL/$ZFS
   cannot set property for 'c_pool/zfs01': size is less than current used or reserved space


Article Number: 182
Posted: Sun, Jun 3, 2018 9:07 AM
Last Updated: Sun, Jun 3, 2018 9:07 AM

Online URL: http://kb.ictbanking.net/article.php?id=182