Introduction
You open the Proxmox VE web interface expecting a green checkmark next to last night's backup job, and instead you get a red one. The task log is a scroll of timestamps ending in something like TASK ERROR: unable to activate storage 'pbs-store' - proxmox-backup-client failed: Error: connection timed out. Nothing about that sentence tells you what to actually do.
Backup failures have terrible timing. You usually notice them right when you need a restore, not the morning after they happened. That's the whole problem with a backup job nobody watches - it can fail quietly for weeks before anyone notices.
This one's a field guide to the errors that actually show up in Proxmox VE task logs, why they happen, and what fixes each one. We're not covering how to set up backups from scratch here - if you need that, look at a general vzdump or Proxmox Backup Server setup guide first. This is for when a job that used to work suddenly doesn't.
What You Will Learn
- How to actually read a Proxmox VE backup task log instead of skimming past it
- What the most common failure messages mean in plain terms
- How to fix storage activation failures, lock errors, and out-of-space conditions
- How to diagnose Proxmox Backup Server connection and permission problems
- Which commands to run to confirm the fix actually worked
- How to stop the same failure from happening again next week
What Is This Feature?
Every backup job in Proxmox VE, whether it targets local storage, an NFS share, or a Proxmox Backup Server (PBS) datastore, runs through the same underlying tool: vzdump. It's the backup engine built into Proxmox VE itself. When a job runs, vzdump writes a detailed task log you can read from Datacenter > Backup, or from the individual VM or container's own Task History tab.
That task log is the single most useful troubleshooting tool you have. It records every step: which storage it's writing to, whether it took a snapshot, how much data it moved, and - critically - the exact point where things went wrong. Most people close it the second they see red text. Don't. The last ten or fifteen lines almost always contain the real cause.
If your backups go to Proxmox Backup Server specifically, you're also dealing with a second system: the PBS server itself, reachable over its own port (8007) with its own authentication and its own datastore that can fill up independently of your Proxmox VE host's local disks. A chunk of backup failures aren't really Proxmox VE problems at all - they're PBS running low on space or unreachable over the network.
Why Would You Use It?
Knowing how to read these errors matters because a backup job that silently fails is worse than having no backup job at all. If you've never set one up, you know to be careful. If you have one configured and assume it's working, you might not find out otherwise until the day you actually need to restore something.
Most of these failures take two or three minutes to fix once you know what you're looking at. The hard part isn't the fix - it's translating "err -5" or "could not activate storage" into an actual cause. That's what this guide is for.
Prerequisites
- A working Proxmox VE install, version 8.x or 9.x (the errors below apply to both)
- At least one backup job already configured, either to local/NFS storage or a PBS datastore
- Root or PVEAdmin-level access to the web interface and SSH access to the host
- Basic comfort typing commands in a terminal - nothing advanced, mostly reading output
Step-by-Step Tutorial
Work through this in order. Most failures get diagnosed correctly by step two or three - you rarely need to go further than that.
Step 1: Read the full task log, not just the last line
Go to Datacenter > Backup, click the failed job, and open its log from the task list. Scroll to the actual error, then scroll up another ten lines. Backup logs often show a warning a minute or two before the real failure - a slow storage mount, a retry attempt, a lock wait - and that earlier context tells you more than the final line does.
Step 2: Figure out which layer failed
Backup failures fall into four rough buckets, and each one points you somewhere different:
- Storage layer - the destination (NFS share, local disk, PBS datastore) couldn't be reached or is full
- Lock layer - the VM or container is already locked by another task
- Guest layer - something inside the VM itself is blocking a clean snapshot (usually the guest agent)
- Network/auth layer - specific to PBS, where the connection or the certificate fingerprint has an issue
The error text almost always tells you which bucket you're in. We'll go through the actual messages in the Common Errors section below.
Step 3: Check whether it's one VM or all of them
If a scheduled job backs up several VMs and only one failed, the problem is almost certainly specific to that guest - a stuck lock, a full disk inside it, or a guest agent issue. If every VM in the job failed at roughly the same second, look at the destination storage instead. That pattern points to something shared: the NFS mount dropped, the PBS datastore hit capacity, or the network path to PBS went down.
Step 4: Confirm the destination storage is actually reachable
Run pvesm status from the host's shell. Any storage showing a status other than active is your answer. For NFS or CIFS shares, this is often a stale mount after a NAS reboot. For PBS, check that you can reach it over port 8007 (more on that below).
Step 5: Clear the specific block and re-run manually
Once you've identified the cause, apply the fix (covered per-error below), then re-run the backup manually from the VM's Backup tab using Backup now rather than waiting for the next scheduled run. That gives you an immediate pass/fail instead of waiting until 2 a.m. tomorrow.
Commands Explained
These are the commands you'll actually reach for while diagnosing a failed job. Run them from the Proxmox VE host's shell (or the console in the web UI under Shell).
pvesm status- lists every configured storage and whether Proxmox VE currently considers it active. This is the fastest way to confirm a storage-layer failure.qm unlock <vmid>- removes a stuck lock from a VM. Only run this if you're sure no backup or migration is actually still in progress for that VM - check the task list first.pct unlock <vmid>- the same thing, but for an LXC container instead of a VM.qm config <vmid>- shows a VM's current configuration, including itslock:line if one is set, and its disk layout.df -h- shows free space on local filesystems. Run this on both the Proxmox VE host and, if relevant, the PBS server.proxmox-backup-client login --repository <user>@pbs@<host>:<datastore>- manually tests authentication against a PBS datastore outside of a scheduled job, useful for isolating permission problems.journalctl -u pvescheduler --since "1 hour ago"- shows what the backup scheduler itself was doing around the time of the failure, useful when the task log alone doesn't explain a timeout.
Common Errors
These are the messages that show up most often. The wording can vary slightly between Proxmox VE versions, but the cause is consistent.
| Error message (or the gist of it) | What's actually happening | Fix |
|---|---|---|
| unable to activate storage 'X' - directory is expected to be a mount point | An NFS or CIFS share isn't mounted, usually because the NAS rebooted or the network dropped briefly | Run pvesm status, then remount it from Datacenter > Storage, or reboot the NAS if it's unreachable at the network level |
| could not activate storage 'X' - directory... does not exist | The mount point path exists in the config but nothing is actually mounted there right now | Check the NFS/CIFS server is up, then try mount -a or toggle the storage off and on under Datacenter > Storage |
| job failed with err -5 - Input/output error | Usually a disk or controller issue on the source storage, sometimes a flaky USB/external drive under load | Check dmesg for I/O errors around the same timestamp; if it's a USB drive, consider it a warning sign, not a fluke |
| unable to open file... Stale file handle | Classic NFS symptom - the client's handle to a file became invalid after the server restarted or the export changed | Unmount and remount the NFS storage; a full host reboot fixes it if remounting doesn't |
| ENOSPC: No space left on device | The backup destination is full - this can be your PBS datastore, an NFS share, or local disk, not necessarily the VM's own disk | Run df -h on the destination; free space with pruning (see Best Practices) or add capacity |
| can't lock file '...' - got timeout | Proxmox VE thinks a backup, migration, or snapshot operation is already running against that VM | Check the task list for a genuinely running job first; if nothing's actually running, clear it with qm unlock |
| Can't connect to X.X.X.X:8007 (Connection timed out) | The Proxmox VE host can't reach the PBS server on its API port - usually a network, firewall, or downed PBS host issue | Confirm PBS is powered on and reachable, then check firewall rules on both ends for port 8007 |
| permission check failed / 401 error | The API token or user Proxmox VE uses to talk to PBS doesn't have the right permissions, or the token expired | Recheck the PBS user's permissions on the datastore, or regenerate the API token in Datacenter > Storage |
Troubleshooting
If none of the messages above match exactly, work through this in order rather than guessing.
First, isolate whether the problem is on the Proxmox VE side or the destination side. If backups to a different storage target still work fine, the problem is almost certainly with that one destination, not with Proxmox VE itself.
Second, check the guest agent if you're using snapshot mode. Proxmox VE tries to call guest-fsfreeze through the QEMU Guest Agent before a snapshot, briefly pausing filesystem writes inside the VM so the backup is consistent. If the agent isn't installed, isn't running, or hangs, the backup can stall or time out waiting for a response that never comes. A VM with the agent enabled in its options but not actually installed inside the guest is a surprisingly common cause of slow or stuck backups.
Third, if backups intermittently time out on large VMs specifically, that's often just math - a 500 GB VM on spinning disks over a 1 Gbps network to PBS can genuinely take longer than your configured backup window allows. That's not a bug, it's a capacity problem, and the fix is either faster storage, a faster network path, or a longer window.
Fourth, for PBS-specific certificate errors after you've rebuilt or reinstalled the PBS server, the fingerprint Proxmox VE has stored for that PBS instance no longer matches. You'll need to remove and re-add the storage entry with the new fingerprint rather than trying to patch the old one.
If a job that's run fine for months suddenly fails, resist the urge to change five settings at once. Fix the one thing the log points to, re-run manually, and confirm before touching anything else.
Best Practices
Set retention rules with real headroom, not just enough to squeak by. A datastore sitting at 95% capacity is one large VM away from an ENOSPC failure on every job that runs after it.
Turn on notifications for failed jobs specifically, not just a general summary email. Under Datacenter > Notifications you can target backup failures on their own, which means you find out the same morning instead of during your next restore attempt.
Test a restore occasionally. A backup job showing green every night tells you the job ran - it doesn't tell you the archive is actually restorable. Pick a low-stakes VM once in a while and restore it to a throwaway VMID just to confirm the whole chain works end to end.
Don't mix backup destinations silently. If half your VMs back up to local storage and half to PBS with no clear reason why, you end up debugging two completely different failure modes under time pressure. Pick one primary target per environment and be deliberate about exceptions.
Frequently Asked Questions
Why did my backup job that's worked for months suddenly start failing?
Something changed on the destination side almost every time - the NAS rebooted, the PBS datastore filled up, or a certificate/token expired. It's rarely the VM itself unless the failure is isolated to just that one guest.
Is it safe to run qm unlock while I'm not sure what's going on?
Only after checking the active task list and confirming nothing is genuinely running against that VM. Unlocking a VM mid-backup can corrupt the in-progress archive.
My backup log shows "err -5" but everything else looks fine. What now?
Check dmesg on the host for storage or controller errors around that timestamp. It's almost always a hardware-adjacent I/O problem, not something in Proxmox VE's own code.
Do I need the QEMU Guest Agent for backups to work at all?
No, backups run without it. But without it, Proxmox VE can't freeze the filesystem before a snapshot, so the backup is crash-consistent rather than fully consistent - usually fine, but worth knowing.
How do I know if the problem is Proxmox VE or my PBS server?
Try proxmox-backup-client login manually against that datastore. If that fails outside of a scheduled job too, the problem is on the PBS side or the network between the two, not in the backup job's configuration.
Conclusion
Backup failures look intimidating mostly because the task log dumps a lot of text at once. Once you know that most of it boils down to four things - storage unreachable, storage full, a stuck lock, or a PBS connection/auth problem - the red X stops being mysterious. Read the last fifteen lines of the log, match it against the table above, and you'll usually have a fix applied before your coffee's finished. The bigger win is catching these early: a failed job you notice the same day is a two-minute fix, and a failed job you notice three weeks later is the reason you don't have the restore you needed.