all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [RFC] vzdump: opt-in skipping of stopped guests for PBS jobs
@ 2026-09-02 10:46 Bogdan Ionescu
  0 siblings, 0 replies; only message in thread
From: Bogdan Ionescu @ 2026-09-02 10:46 UTC (permalink / raw)
  To: pve-devel@lists.proxmox.com

Hi,

I'd like to get feedback on adding a small, opt-in policy option to scheduled vzdump jobs targeting native Proxmox Backup Server storage:

skip-stopped: <boolean>

Problem

When a QEMU VM is stopped, there is no reusable in-memory dirty bitmap. PVE therefore starts a temporary QEMU process and reads the complete virtual disk so PBS can identify and reuse existing chunks.

The resulting PBS snapshot is still a complete restore point and unchanged chunks are not stored again, but the full source read consumes storage I/O, CPU time, and backup-window time. This is particularly noticeable for large, intentionally powered-off VMs included through an "all guests" or pool-based job.

Some operators also deliberately do not want a new recovery point for a guest while it remains powered off.

Proposed semantics

- Add a boolean skip-stopped option, disabled by default.
- Accept it only for backup jobs targeting native PBS storage.
- Check the guest state immediately before its turn in the job.
- If the guest is stopped, log it as skipped and do not create a PBS snapshot.
- If the guest is running, back it up normally.
- If the state check fails, continue through the normal backup path so the option cannot hide an actual error.
- Apply the same behavior when using "Run now".
- A skipped guest should not make the job fail, but should be clearly shown as skipped in its log and notification.

This is intentionally a policy option, not change detection. A stopped guest is not necessarily unchanged: its disks or configuration may be modified while offline, and it may have run and stopped again between two backup jobs. The UI and documentation should make clear that enabling the option accepts this backup gap.

Relation to bug #3092

This is related to:

https://bugzilla.proxmox.com/show_bug.cgi?id=3092

However, skip-stopped would be a narrower solution. It would not track whether a VM ran since its previous backup and would not replace persistent dirty bitmaps or other change-detection work. It would simply let an administrator explicitly choose not to back up guests that are stopped at execution time.

Implementation

I have a prototype against PVE 9 which adds the option to the shared vzdump schema, checks the state in the PVE::VZDump job loop, exposes it in the backup-job advanced options, and includes documentation and tests.

The prototype currently handles both QEMU VMs and LXC containers, although the strongest performance motivation is the full disk scan for stopped QEMU VMs. It can be restricted to QEMU if that is considered the better initial scope.

Questions

- Would a PBS-only skip-stopped job option be acceptable?
- Should it initially apply only to QEMU VMs or to all stopped guests?
- Is skip-stopped an appropriate name?
- Should skipped guests remain in the job notification table with an explicit skipped state?
- Should direct vzdump invocations support the option as well, or only scheduled jobs?

If the general direction is acceptable, I can send the corresponding patch series for review.

Regards,

Bogdan

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-04  9:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 10:46 [RFC] vzdump: opt-in skipping of stopped guests for PBS jobs Bogdan Ionescu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal