On a Proxmox node managed by myself, I’m relying on Proxmox’s integrated backup function as part of my backup concept. Since the server is mostly used for storage purposes, it’s equipped with ‘traditional’ HDDs instead of SSDs.
The VMs are running on a RAID10 on ZFS, the backups are stored on a seperate RAID1 on the same machine. In the beginning this worked very well, but with an increasing load on the Proxmox node due to a growing number of VMs, I ran into more and more problems caused by high I/O load.
The IO performance dropped so low during each backup run that the VMs basically stalled and were therefore hardly usable. The problem here is that by default Proxmox won’t limit the backup speed at all, but actually start thrashing the disks. This might work when creating backups from an SSD based storage to HDDs. However, on hard disks that are already well utilized, you’ll quickly run into a bottleneck.
A tiny addition to the Proxmox configuration can help here. This is done by setting up a bandwith limit in the file
/etc/vzdump.conf on the Proxmox node:
The bwilimit is specified in KB/s here.
In my use cases the backups are not time sensitive at all. It is no problem if the backup jobs run for a couple of hours. The writing speed can be chosen complely free, but 20480 worked very well on that particular host. However, it’s not really possible to give a general recommendation here since it vastly depends on the host, the VMs and the running applications.