The scariest thing about a home lab is not the outage. It is the moment you try to restore a Proxmox snapshot from three weeks ago and the restore hangs at 62 percent. If you have never tested a rollback, you do not have a backup. You have a hope.
We looked at seven tools that let you rehearse the restore path on a schedule, catch corrupted chunks before they matter, and report a green-or-red status somewhere you actually check. Some are Proxmox-native, some are storage-layer helpers, and one is a full commercial backup platform. All of them earn their spot by making “did the restore actually work” a routine question, not a fire drill.
What to look for in a verification tool
- Automated restore-to-scratch. Snapshots must land on a real disk, not just verify checksums. A checksum can be intact while the data is unusable.
- Scheduled dry runs. Once a week is a good baseline for a home lab.
- Alerting. Restic printing “ok” to a log file only helps if something reads that log file.
- Deduplication awareness. A dedup-aware tool restores only what changed, which keeps the verification job under an hour.
- Encryption at rest. The backup should be useless to anyone who steals the target disk.
- Cross-target support. Verifying to local disk is easy. Verifying that an offsite S3 copy still restores is the real test.
Quick comparison
| Tool | Best for | License | Restore-verify | Notes |
|---|---|---|---|---|
| Restic | Scripted restore drills | BSD-2, open source | Built-in check --read-data |
Cross-cloud targets out of the box |
| Proxmox Backup Server | Native VM/CT backups | AGPL, open source | Built-in verify jobs | The default answer for Proxmox owners |
| Veeam Backup for Proxmox | Enterprise SLAs | Commercial | SureBackup job | Free community edition covers small labs |
| Sanoid + Syncoid | ZFS-native rotation | GPLv3 | Manual restore test | Best when the host runs ZFS |
| Kopia | Content-addressed dedup | Apache 2.0 | Full and blob verify | GUI plus CLI |
| BorgBackup | Deduped local repos | BSD-3 | borg check --verify-data |
Trusted for years |
| Duplicati | Cross-cloud GUI backups | LGPL | Test restore schedule | Best web UI in the list |
The apps
1. Restic, the scripted restore drill
Restic is a small Go binary with a big feature list. It backs up to local disk, SFTP, S3, B2, Azure, GCS, and Rest servers. Every snapshot is content-addressed and encrypted client-side, so a compromised backup target does not leak your data. The killer feature for verification is restic check --read-data, which reads every chunk from the target and confirms it decodes. Wrap that in cron, pipe the exit code into your alerting, and you have a weekly restore drill without babysitting.
Where it falls short: Restic does not know about Proxmox VMs directly. You back up the qcow2 or ZFS dataset from the host, or you install Restic inside each guest and back up the filesystem.
Pricing: Free.
Platforms: Linux, macOS, Windows, FreeBSD.
Download: Restic on GitHub and the Restic documentation.
Bottom line: The right tool if you want cron plus a small shell script to be the whole backup stack.
2. Proxmox Backup Server, the Proxmox-native answer
Proxmox Backup Server is the vendor’s own backup platform, and it plugs into the Proxmox VE web UI as a storage target. Every backup is deduplicated at the block level, encrypted, and eligible for a verify job that decrypts and reads each chunk on a schedule. When a chunk fails, PBS marks the whole snapshot as untrusted and refuses to source a restore from it.
Where it falls short: PBS runs best as a dedicated host. Layering it onto the same node it backs up defeats the point.
Pricing: Free, with a paid enterprise subscription for a stable update channel.
Platforms: Debian-based Linux, installed as a bare-metal or VM appliance.
Download: Proxmox Backup Server and the PBS documentation.
Bottom line: Default answer for anyone running a serious Proxmox cluster.
3. Veeam Backup for Proxmox, enterprise SLAs at home
Veeam ported its backup stack to Proxmox in 2024 and the free community edition now covers small labs. The SureBackup feature is the reason to look at it: it boots the restored VM in an isolated network, runs a script to confirm the OS came up, and emails a pass or fail. That is closer to a full disaster-recovery drill than any of the pure open-source options.
Where it falls short: The community edition caps at 10 workloads. Above that you enter Veeam’s commercial pricing, which is priced for enterprises.
Pricing: Free community edition up to 10 workloads, then a paid plan.
Platforms: Windows server for the Veeam management console, agents on Proxmox nodes.
Download: Veeam Backup for Proxmox.
Bottom line: The only tool here that actually boots a restored VM and asks it “are you alive.”
4. Sanoid and Syncoid, the ZFS-native rotation
If Proxmox runs on ZFS, Sanoid manages the snapshot schedule and Syncoid ships snapshots to a second host over SSH. Together they are the lightest possible backup story: a .conf file, a cron entry, and ZFS handling everything else. Verification is manual: zfs send | zfs receive into a scratch dataset, then boot the guest from the restored pool.
Where it falls short: No automated restore verification. You script that yourself.
Pricing: Free.
Platforms: Linux and FreeBSD with ZFS.
Download: Sanoid on GitHub.
Bottom line: The fastest backup pipeline on ZFS. Pair it with a monthly manual restore.
5. Kopia, content-addressed with a GUI
Kopia is a newer entrant that behaves like Restic under the hood but ships with a proper GUI, a repository server, and a maintenance policy that removes orphan blobs on a schedule. kopia snapshot verify reads every blob and reports failures at file granularity, which is easier to debug than a “chunk X failed” message.
Where it falls short: The maintenance job is opinionated, and misconfigured retention will delete snapshots you wanted to keep. Read the docs before running maintenance in production.
Pricing: Free.
Platforms: Linux, macOS, Windows.
Download: Kopia on GitHub and the Kopia website.
Bottom line: Restic’s dedup with a UI. Good pick when a family member also needs to open the tool.
6. BorgBackup, the trusted classic
BorgBackup has been the default answer for deduplicated Linux backups for a decade. borg check --verify-data reads every chunk and validates the hash. Pair it with borgmatic for a config-file frontend and cron for scheduling. The append-only mode is a specific defence against ransomware: even if the source host is compromised, the backup repo cannot be rewritten from that host.
Where it falls short: Only one client can write to a repo at a time. Locking issues surface when the verify job overlaps with a live backup.
Pricing: Free.
Platforms: Linux, macOS, FreeBSD, Windows via WSL.
Download: BorgBackup on GitHub and the Borg documentation.
Bottom line: The safe conservative choice. Boring, and that is the compliment it deserves.
7. Duplicati, the web GUI for verification schedules
Duplicati targets the same S3-and-friends backend list as Restic and Kopia, but leads with a web UI, a scheduler, and a built-in “test backup” job that restores a random sample of files to a scratch directory and diffs them against the source. That is a lighter-weight verification than a full restore, and it catches most silent corruption without needing a spare disk.
Where it falls short: Duplicati’s database has had corruption bugs over the years. Keep it on the latest stable release.
Pricing: Free.
Platforms: Linux, macOS, Windows.
Download: Duplicati on GitHub and the Duplicati website.
Bottom line: The friendliest onboarding of the seven. Best pick for anyone allergic to config files.
How to pick the right one
- You run one Proxmox node and want the vendor’s blessed path: Proxmox Backup Server. Nothing else integrates as tightly with the VE web UI.
- You want a real restore drill, not just a checksum: Veeam SureBackup. It boots the restored VM and asks the OS to prove it works.
- You already script everything in bash: Restic. Small binary, big test coverage.
- You are on ZFS and want the cheapest pipeline possible: Sanoid and Syncoid. Then schedule a monthly manual restore.
- A family member needs to run the tool too: Duplicati or Kopia. They both have a UI.
- You want a decade of production hardening: BorgBackup. Boring works.
FAQ
How often should a Proxmox snapshot be restore-tested?
At least monthly for a home lab, weekly for anything you would notice if it broke. Automate the check so it does not depend on you remembering.
Is a checksum enough to trust a backup?
No. A checksum confirms the bytes have not rotted, but it does not confirm the backup restores to a bootable guest. The only real test is a restore.
Can I use one tool for both Proxmox VMs and my desktop?
Restic, Kopia, BorgBackup, and Duplicati all work at the filesystem level, so they cover both. Proxmox Backup Server is VM- and container-focused and does not fit a desktop workflow.
What is the fastest way to prove my backup works right now?
Restore the last snapshot to a scratch VM in Proxmox and boot it. If it comes up, your backup works today. If it does not, you have your answer.
Does verification need a separate host?
Not strictly, but restoring to the same host is dangerous. Use a spare disk, a second Proxmox node, or a small VM if you cannot spare hardware.