Version main

Proxmox

The Proxmox integration wraps Proxmox’s native vzdump tool to back up virtual machines and containers into a Kloset store. Plakar handles encryption, deduplication, and snapshot management on top of the archives that vzdump produces.

The integration provides two connectors:

Connector type Description
Source connector Back up VMs and containers from a Proxmox node into a Kloset store.
Destination connector Restore snapshots from a Kloset store back to a Proxmox node.

Requirements

  • Proxmox VE with vzdump available on the node.
  • SSH access to the Proxmox node with appropriate permissions (remote mode).
  • Plakar v1.1.0-beta or later.

Typical use cases

  • Encrypted, deduplicated backups of Proxmox VMs and containers.
  • Cross-cluster VM migration and restore.
  • Long-term archiving to object storage (S3, Scaleway, OVH, Exoscale).
  • Centralized backup of multiple hypervisors from a single Plakar instance.

Installation

The Proxmox integration is distributed as a Plakar package. It can be installed either by downloading a pre-built package or by building it from source.

Plakar provides pre-compiled packages for common platforms. This is the simplest installation method and is suitable for most users.

Note: Installing pre-built packages requires authentication with Plakar. See Login to Plakar to unlock features.

Install the Proxmox package:

$ plakar pkg add proxmox

Verify the installation:

$ plakar pkg list

Operating modes

The Proxmox integration supports two operating modes.

Local mode — Plakar runs directly on the Proxmox node alongside vzdump:

Proxmox node
 ├ vzdump
 └ plakar

Remote mode — Plakar runs on a separate machine and connects to the Proxmox node over SSH:

Backup server
     │
     │ SSH
     ▼
Proxmox node
     └ vzdump

Remote mode allows a single Plakar instance to back up multiple hypervisors. The operating mode is set via the mode option when configuring a source or destination.

Source connector

The source connector invokes vzdump on the Proxmox node, collects the resulting archive, and ingests it into a Kloset store with encryption and deduplication.

flowchart LR subgraph Source[Proxmox Node] vzdump@{ shape: rect, label: "vzdump" } end subgraph Plakar[Plakar] Connector@{ shape: rect, label: "Retrieve archive via
SSH" } Transform@{ shape: rect, label: "Encrypt & deduplicate" } Connector --> Transform end Source --> Connector Store@{ shape: cyl, label: "Kloset Store" } Transform --> Store classDef sourceBox fill:#ffe4e6,stroke:#cad5e2,stroke-width:1px classDef brandBox fill:#524cff,color:#ffffff classDef storeBox fill:#dbeafe,stroke:#cad5e2,stroke-width:1px class Source sourceBox class Plakar brandBox class Store storeBox linkStyle default stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;

Configure

Register a Proxmox source:

$ plakar source add myProxmox proxmox+backup://10.0.0.10 \
  mode=remote \
  conn_username=root \
  conn_identity_file=/path/to/key \
  conn_method=identity

Back up workloads

Back up a single virtual machine by ID:

$ plakar backup -o vmid=101 @myProxmox

Back up all machines in a pool:

$ plakar backup -o pool=prod @myProxmox

Back up the entire hypervisor:

$ plakar backup -o all @myProxmox

Options

Option Required Description
location Yes Proxmox node address. Format: proxmox+backup://<host>
mode Yes Operating mode. local or remote.
conn_username Yes (remote) SSH username on the Proxmox node.
conn_identity_file No Path to the SSH private key. Required when conn_method=identity.
conn_method No Authentication method. identity for key-based auth.

Destination connector

The destination connector uploads a vzdump archive from a Plakar snapshot to a Proxmox node and restores it using native Proxmox tools: qmrestore for virtual machines and pct restore for containers.

flowchart LR Store@{ shape: cyl, label: "Kloset Store" } subgraph Plakar[Plakar] Transform@{ shape: rect, label: "Decrypt & reconstruct" } Connector@{ shape: rect, label: "Push archive via
SSH" } Transform --> Connector end Store --> Transform subgraph Destination[Proxmox Node] restore@{ shape: rect, label: "qmrestore / pct restore" } end Connector --> Destination classDef destinationBox fill:#d0fae5,stroke:#cad5e2,stroke-width:1px classDef brandBox fill:#524cff,color:#ffffff classDef storeBox fill:#dbeafe,stroke:#cad5e2,stroke-width:1px class Destination destinationBox class Plakar brandBox class Store storeBox linkStyle default stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;

Configure

Register a Proxmox destination:

$ plakar destination add myProxmox \
  proxmox+backup://10.0.0.10 \
  mode=remote \
  conn_username=root \
  conn_identity_file=/path/to/key \
  conn_method=identity

Restore workloads

Restore all machines in a snapshot:

$ plakar restore -to @myProxmox <snapshot_id>

Restore a single VM from a snapshot containing multiple machines:

$ plakar restore -to @myProxmox <snapshot_id>:/backup/qemu/101_myvm

Options

Option Required Description
location Yes Proxmox node address. Format: proxmox+backup://<host>
mode Yes Operating mode. local or remote.
conn_username Yes (remote) SSH username on the Proxmox node.
conn_identity_file No Path to the SSH private key. Required when conn_method=identity.
conn_method No Authentication method. identity for key-based auth.

Limitations and scope

What is captured during backup

  • Virtual machine and container disk images, as produced by vzdump.
  • Proxmox configuration associated with each backed-up workload.

Snapshot consistency

Plakar relies on vzdump for snapshot consistency. For live machines, vzdump uses QEMU guest agent or suspend-resume to produce a consistent backup. Refer to the Proxmox vzdump documentation for details on consistency modes.

See also

Found a bug or mistake in the documentation? Create an issue on GitHub