Backup and Restore Proxmox VE virtual machines with Veeam

Following Broadcom’s acquisition of VMware, the market faced significant disruptions. This led to many customers seeking alternative virtualisation platforms, with Proxmox VE quickly emerging as one of the preferred choice. Recognising both customer demand and Proxmox’s VE growing market share, Veeam expanded its Hypervisor support to include Proxmox VE. In this article, we shall discuss how to Backup and Restore Proxmox VE virtual machines with Veeam. Please, see how to delete a VM and Storage in Proxmox, and how to Install Proxmox VE on a Beelink EQ12 Mini PC.
It’s worth noting that Veeam introduced official support for Proxmox VE with Veeam Data Platform 12.2, released on August 28, 2024. The feature was first announced and demonstrated at VeeamON 2024. It is thrilling to see this long-awaited capability finally become a reality at that time and helping customers even today.
Also, see Cluster creation in Proxmox VE, how to Resolve the Update Package Database failure on Proxmox VE, and how to Create a bootable USB on Mac: Proxmox VE Setup.
Architecture
Below is the architecture for Veeam Backup for Proxmox VE. The Veeam Backup for Proxmox VE architecture includes a Proxmox VE server, a VBR (backup server), a plug-in. Also, included is a backup repository, and worker as shown in the image below.

The Proxmox VE server runs the virtualization platform and provides access to storage, networks, and VMs during backup and restore. The Windows-based backup server hosts Veeam Backup & Replication and manages configuration, scheduling, and resource allocation.
The Proxmox VE Plug-in integrates the backup server with the Proxmox VE server and enables worker deployment. From version 12.3.1 and above, you do not have to manually install this plugin. As you can see from the image. The backup repository stores the VM backups and rely on Veeam Data Mover to process and transfer data, either on the repository itself or through a gateway server.
The Workers are deployed as Linux VMs on Proxmox hosts, and they handle data traffic between the infrastructure and repository.
Please, see How to integrate ObjectFirst OOTBI Appliance with VBR, how to Mitigate Veeam Threat Hunter Service Scanning Interference, and Relating Due Diligence and Due Care to Veeam Backup and Replication.
Veeam Backup for Proxmox VE Consideration
Having discussed the architecture above. It is also paramount to touch some of its drawbacks as documented on the Veeam User Guide. For the release information for “Proxmox Virtual Environment Plug-In v12.1.3.217”, please see the following KB. Below are some some considerations and limitation for Veeam Backup for Proxmox.
- Does not provide support for user accounts with MFA to access the Proxmox VE server.
- The Proxmox VE server must be able to establish a direct IP connection to the backup server. At the moment, connections through NAT gateways are not supported.
- If you wish to protect VMs in a Proxmox VE cluster. All nodes of these cluster must be added to the backup infrastructure separately. As adding clusters as standalone entities is not supported.
- After you add nodes of a cluster to the backup infrastructure. You must not change the name of the cluster in the Proxmox VE administration portal.
Lastly, when certain tasks are performed in your Proxmox VE environment such as migrating a VM between cluster nodes. These changes may not appear in Veeam Backup & Replication immediately. This data synchronisation process between the backup server and the Proxmox VE server may take up to 15 minutes to complete. But the process can be sped up by rescanning the Proxmox VE server.
Please, see Ensuring Backup Integrity and Reliable Recovery with SureBackup, Veeam Backup and Replication Disk I/O with diskspd, and how to install Veeam Backup and Replication with the default PostgreSQL.
System Requirements
Veeam Backup for Proxmox VE supports Proxmox Virtual Environment versions 8.2 – 8.4 installed using the official ISO image provided by Proxmox. Proxmox Virtual Environment version 9 (and later) is not supported.
Because, “Veeam does not currently support Proxmox 9 or later. I will therefore not be upgrading to this version yet”.
Therefore, to determine which Proxmox VE version you are running. Please, run of of these commands below. As you can see, we are running the supported version.
pveversion
pveversion -v

Please, see how to upgrade Veeam Backup and Replication 12.3, how to update Veeam Backup and Replication [VBR], and how to upgrade Veeam Backup and Replication to version 12.2..
Proxmox VE integration with VBR
Note: For those that use a remote Veeam Backup & Replication console. You do not need to install Proxmox VE Plug-in on the workstation where the remote Veeam Backup & Replication console is deployed.
You must deploy Veeam Backup & Replication version 12.3 or later on the backup server to enable support for Proxmox VE.
If you are running Veeam Backup & Replication 12.3.1 or higher. You do not need to install the Proxmox VE plug-in manually as long as you are using the default installation package. The plug-in is included and pre-installed already.
To integrate Proxmox VE into your backup environment, launch the Veeam Backup & Replication console, go to Inventory, and under Virtual Infrastructure, click on the ribbon and select “Add Server”. On the Add Server window, select “PRoxmox VE” as shown below.

In the new Proxmox VE Server window, enter the DNS name or IP Address of your Proxmox Node and click Next.

Specify Proxmox VE Server Credential
In versions prior to 1.3, Veeam Backup for Proxmox VE used credentials of the Standard type to connect to Proxmox VE servers. In version 1.3, those credentials are automatically converted to credentials of the SSH type. However, keep in mind that credentials of the SSH Private Keys type are not supported at the type of writing this guide.
At the Credentials step of the wizard, specify credentials of an account that will be used to access the Proxmox VE server. This can be either an account of a root user or an account of a user elevated to root (the latter option is recommended for security reasons).
But, this is a lab environment, therefore, I will be going with the root account. To do this, click on the Add button, in the credential field. Enter the username and password and click on OK. If you are using a non root account, remember to select Elevate account privileges automatically etc as you wish.

As you can see, the credential has been added to the Credential Manager and please click next to proceed.

Click Yes to continue

At the Snapshot Storage, select the storage that will be used to save snapshots in case the original VM storage does not support snapshot. Click on Apply when done.
Choose whether you want to keep snapshots of processed VMs in specific file-level storage or in the largest file-level storage available on the connected Proxmox VE server. But is only in case the original VM storage does not support snapshots.

At the Apply step of the wizard. Wait until the Proxmox VE server is added to the backup infrastructure as you can see below and then click Next.

On the “Summary” page, click on Finish.

As you can see below, we have successfully added our Proxmox VE and available VMs.

Please, see ,Deep Dive into Protecting AWS EC2, RDS Instances and VPC, how to Fix missing path and delete a Veeam Backup Repository, and how to upgrade Veeam Backup and Replication v11 to 12.1.
Deploy a Worker
Workers are backup infrastructure components that are preconfigured for optimal performance. That is why you must not install any software on VMs running as workers. Or make any configuration changes to them unless you are requested to do so by Veeam Customer Support.
Workers process backup workload and distribute backup traffic when transferring data to backup repositories. If you deploy a worker using the default configuration, the following compute resources will be allocated “CPU: 6 vCPU, Memory: 6 GB RAM, and disk Space: 100 GB for product installation and logs”. I will be suing the default, but this will fail in my environment as my VM permits a maximum of 4 vCPU.
With the default configuration, the worker can handle up to 4 concurrent backup and restore tasks. While deploying a new worker or editing settings of an existing one. You can increase the maximum number of concurrent tasks. However, you must allocate 1 vCPU and 1 GB RAM for each additional task
Note: The default local storage must be enabled on all hosts where worker VMs will be deployed. If you cannot use the default storage in your environment, contact Veeam Customer Support.
Upon adding Proxmox VE to Veeam Backup and Replication, you will be prompted to deploy a Worker. I will select Yes as this is what intend doing.

I will enter the following name “Worker-PVE01”, with my desired storage and will click next. This name was choosen because, it is recommended that workers are deployed on each node registered with a Proxmox VE cluster. If no worker is deployed on the node, performance of backup and restore operations will be affected as Veeam Backup for Proxmox VE will use a worker deployed on another node.

IP Address Assignment
We need to click on “Add” to configure worker network interfaces. As you can see, DHCP is enabled in the selected network.
Since workers are Linux-based VMs, they have the same limitations that apply to machines running the Rocky Linux operating system. Therefore, DNS settings cannot be configured separately for each network added to the worker.

Therefore, the IP (DNS) address of the worker will be obtained automatically. You can also assign these addresses statically.

Select “Apply”

On the “Summary” wizard, click on Finish and check the box to test the worker configuration when I click Finish.

On the Test wizard, I will click on Close as I cannot wait for this to complete.

As you can see in the image below, we have our worker created.
As soon as Veeam Backup for Proxmox VE finishes the worker configuration test, the worker will be powered off.

You can also manually initiate the test of your worker or modify it by navigating to the Backup Infrastructure, and then click on Backup Proxies. On the newly created worker, right click and select Test, or tProperties to modify it.
Please, see the Full Integration Guide on how to Add Nutanix AHV to Veeam, how to Create local Backup Repository and Add HyperV to VBR Inventory, and how to Migrate Veeam Configuration Database to PostgreSQL Server.
Create a Backup Job
Before performing a VM backup, kindly take a look at the Proxmox VE backup limitations. To launch the New Job wizard, click on the Home view.
In the inventory pane, select Jobs. click on the ribbon, click Backup Job and select Virtual Machine > Proxmox VE. Alternatively, right-click the working area and select Backup > Virtual machine > Proxmox VE.

Enter the job name

Select the VM you wish to backup

I have added the VM and will click on Next to proceed

Backup Repositories
When managing backup repositories, Veeam Backup for Proxmox VE does not store backups in Veeam Cloud Connect or HPE Cloud Bank Storage repositories. But these repositories does allow storing copies of backups created with Veeam Backup for Proxmox VE.
In the Backup repository drop-down list, select a backup repository where you want to store backups.

Define the job schedule

As you can see, I have set mine and have also selected to run the job automatically.

On the summary window, I will check the box to “Run the job when I click Finish”.

As you can see below, the job has started

Transport Mode
Discussing the backup job action. When a Backup job starts, a VM snapshot will be created. The worker will read the data from the snapshot and send this data to the backup repository. Once the snapshot is created, the worker can get the VM data in two ways:
- If the worker is running in the same Proxmox host as the VM you want to backup, the snapshot will be attached directly to the worker using the Hot-Add mode as you can see in the screenshot above.
- If there is no worker running on the Proxmox host where the protected VM is running, any other worker in the Proxmox cluster will be used. In this case, the worker will use the network connection between Proxmox hosts (NBD Mode) to get the VM data.
Please note that Hot-Add mode potentially provides a better performance than NBD Mode when running a backup job. Therefore, it would be recommended to deploy at least one worker per Proxmox host in order to use Hot-Add mode when running a backup Job.
In case you choose to deploy workers in specific Proxmox hosts, and leverage the NBD Mode for backups, make sure the connection between hosts provide the proper throughput for the data transferring during backup or restore operations.
Our backup job has been completed.

Please, see Demystifying Zero Trust with Veeam: Design your Architecture, and how to Install PostgreSQL on Windows server as Veeam Database Engine.
Perform VM restoration on Proxmox VE
The following guide will show you the various types of restoration possible. Here is how to EnsureBackup Integrity and Reliable Recovery with SureBackup.
I will be performing entire VM restore. To do this, open the Home view, and navigate to the inventory pane, and select Backups.
In the working area, expand the necessary backup job. Select the VM that you want to restore and click Entire VM on the ribbon, or right-click the VM and select Restore entire VM to Proxmox.

You can choose VM to be restored and click Next

I will be restoring to the original location and will click on NEXT

This will ensure that the VM itself running on Proxmox will be deleted.

Enter a reason if you wish and click Next

On the restore “Summary” wizard, click to Power on target VM after restoring if you wish, and click on FINISH.

Below is the Restore log and Proxmox VE Tasks logs as well.
Disk Restore in HotAdd Mode: HotAdd mode means Veeam attaches (mounts) the VM’s virtual disks directly to a worker VM in Proxmox for data transfer. Veeam copies data from the backup repository to the target storage of the restored VM.


Also, the config file is locked for this VM. The config lock is intentional as it prevents you from accidentally starting, modifying, or migrating the VM before the restore is done.

VM Restoration Complete
We can also take a look at the restore session log.
During a full VM restore, Veeam locks the VM configuration and restores disks in HotAdd mode by streaming data from the backup repository to Proxmox storage. The VM may appear in Proxmox as running, but it is not fully usable until all disks are restored, the config lock is released, and Veeam finalizes the job.

Because, we did not select to start the VM upon restore, we will have to manually start this VM as shown below.

As you can see, we have successfully restored the VM to the original location.
Below is a YouTube video on how to perform VM backup on Proxmox with Veeam
FAQs
To fix this issue, you will have to navigate to the “Backup infrastructure” and select Backup proxies. Look for your Worker VM and right click on it to select properties. Modify the vCPU field.
Modify your worker and assign 4vCPU. Workers sizing depends on the number of concurrent tasks, requiring 1 vCPU and 1GB RAM for every additional concurrent asks. 
As you can see, the issue has been fixed and the job is running again.
Veeam Backup for Proxmox VE is licensed per protected VM. Each protected Proxmox VE VM consumes one Veeam Universal License instance. A VM is considered protected if it has at least one restore point created within the last 31 day
If no new restore points are created for a Proxmox VE VM within 31 days, Veeam automatically revokes the license instance. You can also manually revoke a license instance from a protected VM if needed.
ou can choose from three license types:
– Evaluation license: Free, valid for 30 days from the product download, for testing and evaluation.
– Subscription license: Paid, with a fixed term of 1–5 years, expiring at the end of the subscription period.
– Perpetual license: Paid, with no expiration date, and includes one year of basic support and maintenance (extendable).
I hope you fund this article very useful on how to Backup and Restore Proxmox VE virtual machines with Veeam. Please, feel free to leave a comment below.

