IO [iops bw] fair balancing between multiple VM on ZFS ZVOL

grin31

New Member
Feb 3, 2022
2
0
1
45
Good day.
Is there best practice how to configure fair balancing io requests from multiple VM when block device in zpool 100% loaded?
Thank you.
 
Gather some disk usage statistics and/or benchmark your pool at 4k random and 1M sequential blocks to get an idea of your pool capabilities. Then define IOPS and bandwidth limits for your VMs.

Burst limits can be seen as time (i will use 0.2s as an example). Then use simple math to derive burst limit values from IOPS and BW limits (500 IOPS * 0.2s = 100 ops and 100 MB/s * 0.2s = 20 MB).
 
@mvs thanks for reply
In your config one VM can't use all IO pool capabilities.
I think group limits can be used, but i can't find how to configure it in Proxmox.
 
Proxmox VE has no group limits or group quotas.

There is a workaround to enforce group quotas using ZFS capabilities (one ZFS dataset per group + ZFS quotas). Theoretically you could do the same with limits, but it seems that limits are not implemented in ZoL/OpenZFS.
 
  • Like
Reactions: Dunuin