Hello everyone,
Disclosure: I am the developer of BackupZit, a free and open-source (AGPLv3) self-hosted backup server. I'd like to share it here and ask for feedback from Proxmox users.
How it works with Proxmox VE 7 and 8:
Known limits: Proxmox VE 9 is not on the supported list yet (7 and 8 are tested); container disks on ZFS subvolumes are not supported yet; raw disks on directory/NFS/CIFS storage and thick LVM can only be backed up when the guest is stopped; in a cluster each node needs its own agent and job.
The same console also handles Windows/Linux machines, VMware, Hyper-V, databases and Microsoft 365, which is the main reason it exists — for Proxmox-only setups PBS is of course the natural choice.
Step-by-step guide: https://backupzit.com/guides/proxmox-vm-backup/
Source code and releases: https://github.com/Max-Zit/backupzit
I'm grateful for any bug reports or suggestions.
(Transparency: I used AI tools while writing parts of the code; everything is reviewed and tested by me on a Proxmox lab.)
Stefan
Disclosure: I am the developer of BackupZit, a free and open-source (AGPLv3) self-hosted backup server. I'd like to share it here and ask for feedback from Proxmox users.
How it works with Proxmox VE 7 and 8:
- The BackupZit agent (Debian package) runs on each node and uses the node's own tools (qm, pct, pvesm, LVM, ZFS, Ceph). Nothing is installed in the guests, and no API token or password is stored in the console.
- For each VM/CT a temporary snapshot is taken (LVM-thin, ZFS, Ceph RBD, qcow2 on directory/NFS/CIFS); with the QEMU guest agent the file systems are frozen. Disks are read in 1 MiB blocks, deduplicated and encrypted on the node; only blocks not yet in the repository are uploaded.
- Restore as a new guest (next free ID) or with the original ID, on any node with the agent, also in another cluster; a new vmgenid is set on every restore.
- Instant recovery: the VM starts from the backup (read-only NBD export + qcow2 overlays on a directory storage) and is moved to the final storage with
qm disk movewhile running. - Optional replicas: a stopped copy of each guest on another node is updated after every backup.
- Optional boot test: each VM of the newest backup is started isolated (network disconnected) and must answer through the QEMU guest agent.
- Single files from VM disks (NTFS, ext2/3/4, XFS, also in LVM) can be browsed and downloaded.
Known limits: Proxmox VE 9 is not on the supported list yet (7 and 8 are tested); container disks on ZFS subvolumes are not supported yet; raw disks on directory/NFS/CIFS storage and thick LVM can only be backed up when the guest is stopped; in a cluster each node needs its own agent and job.
The same console also handles Windows/Linux machines, VMware, Hyper-V, databases and Microsoft 365, which is the main reason it exists — for Proxmox-only setups PBS is of course the natural choice.
Step-by-step guide: https://backupzit.com/guides/proxmox-vm-backup/
Source code and releases: https://github.com/Max-Zit/backupzit
I'm grateful for any bug reports or suggestions.
(Transparency: I used AI tools while writing parts of the code; everything is reviewed and tested by me on a Proxmox lab.)
Stefan