E-NO Logo
EN FR
Proxmox VE storage 6 Min Read

Proxmox VE storage and backup basics for safe virtual machines: practical implementation guide

calendar_today Published: 2026-07-08
update Last Updated: 2026-07-08
analytics SEO Efficiency: 97%
Technical guide illustration for Proxmox VE storage and backup basics for safe virtual machines: practical implementation guide.

Intro

Storage choices and backup discipline in Proxmox VE determine how safely you can run, change, and recover virtual machines. This guide gives you a practical path to:

  • Understand local-lvm, directory storage, and ZFS
  • Map VM disks to storage backends and pick the right fit
  • Use snapshots effectively
  • Verify backups and test restores before changing production VMs
  • Run a safe single-node pilot before wider rollout

The goal is predictable changes and reliable recovery without surprises.

Workflow Overview

Follow these steps from inventory to safe change.

1) Inventory current storage and health

Identify what you have and whether it is healthy.

Commands:

  • Proxmox storage status
pvesm status
  • List volumes by storage
pvesm list local
pvesm list local-lvm
  • LVM details (common for local-lvm which is LVM-Thin by default)
vgs
lvs -a -o+lv_size, lv_attr, lv_time, segtype, thin_count
  • ZFS pool health (if using ZFS)
zpool status
zpool list
zfs list -o name, used, avail, mountpoint
  • Filesystem capacity (directory storage on ext4/xfs)
df -hT

Checklist:

  • Record free space, thin pool usage, and ZFS pool health
  • Note any read/write or checksum errors (ZFS)
  • Confirm TRIM is enabled where appropriate

2) Map VMs to disks and snapshots

Understand where each disk lives and what safety nets you have.

Commands:

  • VM config and disk mapping
qm config <vmid>

Look for lines like:

  • scsi0: local-lvm: vm-100-disk-0, size=40G
  • scsi1: zfspool: vm-100-disk-1, size=200G
  • sat : local: iso/ubuntu.iso, media=cdrom
  • Existing snapshots
qm listsnap <vmid>

3) Choose the right storage for each role

Each backend has tradeoffs. Use a simple rule of thumb first, then tune.

  • local-lvm (LVM-Thin on a block device)
  • Pros: fast allocation, snapshots supported at the storage layer, simple to operate
  • Cons: not human-readable files on disk; resizing and migration steps differ from file storage
  • Good for: general-purpose VM disks on single-node or small clusters
  • Directory storage (files on ext4/xfs)
  • Pros: simple file-level access; easy to back up with standard tools; good for ISOs, templates, and backup targets
  • Cons: snapshot capability depends on image format and does not match ZFS semantics; heavy I/O can hit filesystem overhead
  • Good for: ISOs, templates, backups, light VM disks, PBS datastore mountpoints
  • ZFS (pool-backed datasets and zvols)
  • Pros: checksums, snapshots, clones, send/receive; good for data integrity and replication
  • Cons: RAM hungry relative to capacity; needs careful tuning of write cache and sync settings
  • Good for: VMs with higher integrity needs, easy snapshots and replication workflows

Keep roles separate where possible:

  • VM runtime disks on local-lvm or ZFS
  • ISOs and templates on directory storage
  • Backups on dedicated directory or ZFS dataset with enough capacity

4) Backups first, then changes

Backups are your safety net. Create, verify, and test before any risky action.

  • On-demand backup (snapshot mode where supported):
vzdump <vmid> --mode snapshot --compress zstd --storage <backup-storage>
  • Scheduled backups (GUI):
  • Datacenter -> Backup -> Add
  • Select storage, schedule, and retention (prune rules)
  • Prefer snapshot mode for minimal downtime
  • Verify backups by listing and test-restoring:
pvesm list <backup-storage> | grep vzdump
qmrestore /path/to/vzdump-qemu-<vmid>-*.vma.zst <new-vmid> --storage <target-storage> --unique 1

Do test restores to a non-production VM ID and an isolated network. Check that the guest boots and the application works.

5) Safe disk moves and resizing

When moving or resizing, drain risk with snapshots and backups.

  • Create a pre-change snapshot:
qm snapshot <vmid> pre-change --description "before storage move"
  • Move a disk to another storage (plan downtime unless you have validated online move support):
qm stop <vmid>
qm move_disk <vmid> scsi0 <target-storage>
qm start <vmid>

Verify:

qm config <vmid>
pvesm list <target-storage> | grep vm-<vmid>
  • Resize a disk safely:
qm stop <vmid>
qm resize <vmid> scsi0 +20G
qm start <vmid>

Then grow the filesystem inside the guest OS.

  • Roll back if needed:
qm stop <vmid>
qm rollback <vmid> pre-change
qm start <vmid>

6) Operational checks and monitoring

  • Capacity guardrails: keep at least 20% free on LVM-Thin and ZFS pools
  • Health: check zpool status, lvs usage, and syslog for I/O errors
  • Backup success: review daily job logs and prune results
  • Change windows: schedule storage changes during maintenance windows only

Local Pilot Plan

Start small and measurable on a single node. Pick a non-critical VM or create a test VM.

Pilot objectives (example):

  • Two successful snapshot-mode backups for the test VM
  • One successful test restore to a new VM ID that boots and serves a basic check (e.g., HTTP 200)
  • One successful disk move between storages with no data loss
  • Collected timings for backup, restore, and move operations

Pilot steps:

  1. Prepare storage
  • Create a new directory storage for ISOs/backups, e.g., mount at /mnt/backupdir
mkdir -p /mnt/backupdir
# mount via /etc/fstab as needed, then:

Add it in Datacenter -> Storage (type: Directory).

  • Optionally create a small ZFS pool (two SSDs mirror) for testing
zpool create zfspool mirror /dev/sdX /dev/sdY

Add it in Datacenter -> Storage (type: ZFS or ZFS pool).

  1. Baseline the VM
qm config <vmid>
pvesm status

Ensure you have 20% headroom on target storage.

  1. Snapshot and backup
qm snapshot <vmid> pilot-start --description "pilot baseline"
vzdump <vmid> --mode snapshot --compress zstd --storage backupdir
  1. Test restore
qmrestore /mnt/backupdir/dump/vzdump-qemu-<vmid>-*.vma.zst <vmid+100> --storage <test-storage> --unique 1

Boot the restored VM, isolate networking if needed, and run a basic service check.

  1. Disk move trial
qm stop <vmid>
qm move_disk <vmid> scsi0 <target-storage>
qm start <vmid>

Verify the VM runs correctly, then remove any stale volumes on the source storage if not auto-cleaned.

Capture:

  1. Record results and decide

Use these to set realistic RPO/RTO and schedule windows for production.

  • Durations for backup, restore, and move
  • CPU and disk impact during operations
  • Any errors or operator friction

Conclusion

A safe Proxmox VE storage practice starts with clear roles for each backend, reliable backups, and small, measurable pilots. Keep VM runtime disks on local-lvm or ZFS, store ISOs and backups on directory or a dedicated dataset, and verify backups before any change.

Pre-change checklist:

  • Recent successful backup exists and is test-restored
  • A VM snapshot is created and documented
  • At least 20% free space on source and target storage
  • Storage health is green (pvesm status, zpool status, lvs)
  • Maintenance window and rollback steps confirmed
  • Post-change verification plan defined (boot, services, logs)

With these guardrails, you can evolve storage layouts, move or resize disks, and keep production VMs safe.

Article Quality Score

Reader usefulness 97%
  • check_circle Reader-ready guide
  • check_circle Practical examples included
  • check_circle Clean SEO article URL