ZFS Storage Pool Over-provisioning and Dataset Quota Enforcement
19.5K reputation · 19 Aug 2022, 01:46 UTC
ZFS Thin Provisioning Behavior
Proxmox VE utilizes ZFS as a storage provider, enabling thin provisioning for virtual disks. This allows the allocation of virtual disk space that exceeds the actual physical capacity of the ZFS pool, relying on the fact that data is only written as needed.
Dataset Quotas and Write Failures
While thin provisioning optimizes space, the interaction between guest-level disk reporting and ZFS dataset quotas creates a potential conflict. If a ZFS quota is applied to a specific dataset or if the physical pool reaches capacity, the storage layer may reject write operations even if the guest operating system reports available free space.
There is uncertainty regarding the most reliable method to prevent guest-level filesystem corruption when the underlying ZFS pool is over-provisioned and hits a hard limit.
- How does Proxmox VE handle the transition from available thin space to a full ZFS pool to prevent VM disk write failures?
- Is there a configuration to trigger an alert or a specific restriction before the ZFS dataset quota causes an immediate I/O error in the guest?