WZ-IT provides a scoped Proxmox restore test with a report. Disaster recovery covers the full recovery of multiple systems.
Successful backup and verify jobs answer different questions from a restore test. Isolated recovery checks whether the snapshot, keys, target capacity and application work together.
As of October 2026.
If the failed PVE installation also needs replacement, plan host recovery with PBS in addition to the guest restore.
Contents
- Prepare and isolate
- Restore a VM or container
- Check startup and the application
- Report and automation
- Sources
Prepare and isolate
Define the system, snapshot, owner and acceptance criteria. Check backup and restore permissions, TLS trust and the separately stored encryption key where needed. PBS must be reachable and configured as storage; PBS integration documents the connection.
- Confirm a free VM/CT ID and sufficient target storage.
- Prepare a test network without production clients, DHCP, email delivery or external jobs.
- Check and block automatic startup and production network connections before the test boot.
- Define timing, abort conditions and the responsible contact.
- Use the actual offsite copy when testing offsite recovery.
Restore a VM or container
Open PBS storage in the Proxmox VE web interface and select the agreed snapshot. Use Restore with a new, free ID and the target storage. Keep the production instance intact. Restore without automatic startup first, then inspect the recovered instance’s network and device mapping.
The restore documentation distinguishes qmrestore for VMs and pct restore for containers. Live restore starts a VM during recovery; leave this option disabled for this controlled procedure.
For VMs, check firmware, required devices and the guest operating system. For containers, establish which mount points are included: bind-mount contents are not automatically part of the container backup. The container documentation explicitly documents this exclusion. Missing external data sources prevent a full application test even if the container starts.
A simple container restore, including through the web interface, restores bind and device mount configuration even though their contents are not backed up. Before every container start, check all mpX entries: remove production bind/device mounts or redirect them to independent test copies. On the same host, production directories or block devices could otherwise be writable; a new ID and network isolation do not prevent this.
Check startup and the application
Start the recovered instance in the isolated network only after checking network, device and mount configuration. Check boot, filesystems, expected data state and selected services. For a database, define a read-only consistency and application test; a running process alone is insufficient. Compare the recovery point and measured total duration with the agreed objectives without turning one test into a future guarantee.
On failure, retain logs and configuration, investigate the cause and plan a repeat test after correction. Remove the test instance and temporary access after documented acceptance; preserve production backups and retention.
Report and automation
Sample, not a customer result:
| Field | Entry |
|---|---|
| System and snapshot | [ID, timestamp, datastore] |
| Recovery point | [recovered data state] |
| Duration | [start, end, measured time] |
| Acceptance criteria | [boot, data, services, result] |
| Findings | [errors, missing dependencies] |
| Actions | [priority, owner, repeat test] |
A script can combine snapshot selection, restore under a free ID, status queries and reporting. Before automatic startup, network isolation, permitted IDs and, for containers, all mpX entries must be checked technically; production bind/device mounts must be removed or redirected to independent test copies. Applications need their own health checks and abort rules. Possible pseudocode:
check approval, free target ID, capacity and network isolation
record snapshot and start time
restore without automatic startup
check network and device configuration
for containers, check all mpX entries and remove production bind/device mounts or redirect them to independent test copies
start in isolation only after passing these checks
check boot, data state and defined application criteria
record end time, findings and actions
remove test resources after approval
A Bash scaffold for a VM restore without startup follows. Before invoking it on an approved test target, check the free cluster ID, storage capacity and isolation. Arguments are the PBS backup volume ID from the storage content view, a free target ID and the test storage. The scaffold checks for existing guest configurations, starts no VM and deletes no resources; it is not a complete application test. Do not pass production credentials as arguments.
#!/usr/bin/env bash
set -euo pipefail
archive=${1:?PBS backup volume ID required}
target_id=${2:?Free target VM ID required}
target_storage=${3:?Test storage ID required}
[[ "$target_id" =~ ^[1-9][0-9]{2,8}$ ]] || exit 2
[[ "$archive" == *:backup/vm/* ]] || exit 2
shopt -s nullglob
existing=(/etc/pve/nodes/*/qemu-server/"$target_id".conf
/etc/pve/nodes/*/lxc/"$target_id".conf)
((${#existing[@]} == 0)) || exit 3
printf 'restore_start=%s target=%s\n' "$(date -u +%FT%TZ)" "$target_id"
qmrestore "$archive" "$target_id" --storage "$target_storage" \
--unique 1 --force 0 --start 0 --live-restore 0 --ha-managed 0
printf 'restore_end=%s target=%s\n' "$(date -u +%FT%TZ)" "$target_id"
Options are documented in the official qmrestore synopsis. --unique changes the MAC address but does not replace network isolation. Start in isolation only after manually checking network and device mappings. Record duration and exit status in the test report; this scaffold was checked for Bash syntax only here.
Verify jobs remain a complementary integrity check. The PBS basics explain datastores and encryption. Recurring tests and full DR drills are agreed by scope.
Have the recovery path checked: Request a Proxmox restore test for an agreed system. The PBS encryption guide covers keys and recovery.










