1.

What Is The Difference Between Quota And Reservation?

Answer»
  • Quota LIMITS the amount of space a dataset and all its children can consume.
  • When you SET a quota on parent dataset all the child dataset INHERIT it from the parent. But you can set a different quota on the children if you want.
  • If you set the quota on child dataset, it will not affect the quota of the parent dataset.
  • Quotas cannot be set on ZFS volumes as the volsize property acts as an implicit quota.
  • Reservation sets the minimum amount of space that is guaranteed to a dataset and all its child DATASETS.
  • Similar to quota, when you set reservation on a parent dataset, all the child dataset inherit it from the parent.
  • SETTING reservation on child dataset, does not affect the reservation of the parent.
  • Reservation cannot be set on ZFS volumes.

Example: Consider a ZFS pool (data pool) of size 10 GB. Setting a reservation of 5 GB on zfs file system fs1 will reserve 5 GB for fs1 in the pool and no other dataset can use that space. But fs1 can use more than 5 GB if there is space in the pool.

# zfs set reservation=5g data pool/fs1

Similarly, when we set a quota of 5 GB on fs1, it cannot use space more than 5 GB from the pool. But it’s not reserved for fs1. It means that any other dataset can use a space of 8GB out of 10 GB even if the quota for fs1 is 5GB.

# zfs set quota=5g data pool/fs1

Setting both the properties on the dataset makes fs1 to use only 5 GB from the pool and no other dataset can use this 5 GB reserved for fs1.

Example: Consider a ZFS pool (data pool) of size 10 GB. Setting a reservation of 5 GB on zfs file system fs1 will reserve 5 GB for fs1 in the pool and no other dataset can use that space. But fs1 can use more than 5 GB if there is space in the pool.

# zfs set reservation=5g data pool/fs1

Similarly, when we set a quota of 5 GB on fs1, it cannot use space more than 5 GB from the pool. But it’s not reserved for fs1. It means that any other dataset can use a space of 8GB out of 10 GB even if the quota for fs1 is 5GB.

# zfs set quota=5g data pool/fs1

Setting both the properties on the dataset makes fs1 to use only 5 GB from the pool and no other dataset can use this 5 GB reserved for fs1.



Discussion

No Comment Found