Skip to main content
RunBook Academy

← All labs in Proxmox VE

Lab · foundation · ~75 min

Deploy PBS, configure datastore, run first backup and restore test

A · Physical hardwareB · Nested virtualisationC · Simulation

Objectives

  • Install Proxmox Backup Server on a separate VM or host
  • Create a datastore with prune retention rules
  • Schedule a daily backup job for one VM
  • Run a restore test into a new VM ID

Prerequisites

  • A Proxmox VE 9.2 cluster (or single host)
  • A second host, VM, or Raspberry Pi for PBS
  • Network connectivity from PVE to PBS (TCP 8007)

PBS install + first backup lab

This lab gets you from a fresh PBS ISO to a working backup-and-restore loop. The output is a single VM you can back up, restore to a new ID, and verify.

Steps

1. Install PBS

Boot the PBS ISO and follow the installer. Use a separate disk (or partition) for the datastore — not the boot disk.

After install:

# From your laptop
ssh root@pbs.lab.local
pveversion -v | head -3

2. Create a datastore

In the PBS GUI: Administration → Storage / Disks → Datastore → Add.

Name: lab-store
Path: /datastore/hdd-1

Or via CLI:

proxmox-backup-manager datastore create lab-store /datastore/hdd-1

3. Add a prune schedule

proxmox-backup-manager datastore update lab-store \
  --prune-sched 'Mon 02:00' \
  --keep-daily 7 --keep-weekly 4 --keep-monthly 3

4. Add PBS to Proxmox

In PVE: Datacenter → Storage → Add → Proxmox Backup Server.

ID: pbs-lab
Server: pbs.lab.local
Datastore: lab-store
Username: backup@pbs
Password: <set on PBS>

Verify the connection (the fingerprint prompt appears on first add):

pvesm status
# Expected: pbs-lab listed and enabled

5. Schedule a backup

In PVE: Datacenter → Backup → Add.

Storage: pbs-lab
Schedule: daily 02:30
Selection: All
Mode: Snapshot
Compression: ZSTD

Trigger a one-off run for the lab:

vzdump 100 --storage pbs-lab --mode snapshot

6. Verify the backup

In PBS GUI → Datastore → lab-store → Backups → vm → 100 → list the snapshots. Confirm at least one snapshot is present with a recent timestamp.

7. Restore test

Restore the VM to a new ID (do not overwrite):

qmrestore <backup-id> 9999 --storage local-lvm
qm start 9999

Verify the restored VM is functional:

# Inside the restored VM
systemctl status
ping 8.8.8.8 -c 3

Stop and destroy the test restore:

qm stop 9999 && qm destroy 9999

Verification

  • PBS GUI shows the snapshot in the datastore
  • Restore produced a working VM with the original data
  • The lab tested the full loop: backup, list, restore, verify

Cleanup

# On PBS, remove the test backup via the GUI
# Or via CLI:
proxmox-backup-manager backup delete lab-store vm/100/$(date +%Y-%m-%d)T* --ns pbs-lab

Deliverables

  • · A working PBS instance reachable at https://pbs.lab.local:8007
  • · Datastore with at least one prune schedule
  • · One successful backup and one verified restore

Verification status

Executed end to end
not yet run on hardware

The commands and configuration here have been reviewed against the verified software versions, but nobody has run this lab start to finish on a system meeting its prerequisites. Treat the Expected Outcome as the intended result rather than an observed one, and keep the Cleanup section to hand.