Version v1.1.0

Beta Version

You're viewing documentation for version v1.1.0. Beta versions are subject to changes and may not represent the final stable release. Do not use in production environments.

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