Skip to main content

Restore Proxmox virtual machines

Restore prerequisites and considerations for Proxmox virtual machines

  • Restored VM names must contain only alphanumeric characters and hyphens (no spaces or special symbols).

  • Currently, only Alternate Location Restore is supported (Overwriting the existing source VM directly is not an option; a new VM is created).

  • You can restore a VM to the original node, a different node within the same cluster, or a node in an entirely different cluster.

  • The Node dropdown menu clearly labels which cluster each node belongs to, making it easy to select the correct destination.

  • The restore destination supports only LVM-Thin and ZFS storage types

  • When you restore a Proxmox virtual machine, the restored disk size may be slightly larger than the original under certain conditions. For more information, see Disk size behavior during Proxmox VM restore.

  • Only the Linux Bridge networking type is supported for restored virtual machines.

  • Restore fails, if you try to restore from a higher node version to a lower node version.

A Full VM Restore restores the entire VM with all its disks from a selected recovery point.

Procedure

  1. Log in to the Management Console.

  2. From the top menu bar, select your organization if organizations are enabled.

  3. Click Protect > Proxmox.
    The All Nodes page appears that lists all the registered nodes/clusters.

  4. Select the registered nodes from the Node list in the left navigation pane.

  5. In the left navigation pane, click Configured VMs.

  6. Select the virtual machine you want to restore.

  7. Click Restore.

  8. Select a recovery point.

  9. Click Proceed to Restore.

  10. In the Full VM Restore window, enter the following details for restore to an alternate location. In this case, a new VM is created on the selected node with the customized settings.


    📝 Note

    Druva automatically powers on the full virtual machine after it is restored to an alternate location.


    • Destination Node: From the dropdown list, select the node in a cluster where you want to restore the virtual machine.

    • Destination Cluster: Displays the destination cluster. This field is displayed for only nodes that are part of a cluster.

    • Backup Proxy: Lists the backup proxy deployed on the destination node in a cluster / standalone node.

    • Storage: Datastore with sufficient disk space are available for selection. Currently, LVM-thin and ZFS storages are supported.

    • Network: Select a network setting available at the destination node.​

    • Recovered VM Name (Optional):

      • Enter the name to be given to the recovered VM. If this field is blank, then the restored VM will be named as <sourcevm>-restored.

      • Only allowed characters are alphanumeric and hyphen.

      • The VM name must not exceed 63 characters

  11. Review the restore details, and click Finish.

Disk size behavior during Proxmox VM restore

When you restore a Proxmox virtual machine, the restored disk size may be slightly larger than the original. This is expected behavior caused by storage alignment requirements at the destination.

Why does this happen?

Different storage backends enforce minimum alignment boundaries for disk sizes:

Storage type

Alignment requirements

ZFS

16 KiB

LVM-Thin

4 MiB

During restore, Druva ensures the disk size on the destination storage complies with its alignment rules. If the source disk size is not already aligned to the destination's boundary, it is automatically rounded up to the next valid size.

When does disk inflation occur?

Restore Scenario

Alignment Applied

What to Expect

ZFS → LVM-Thin

4 MiB

Disk size rounds up to the next 4 MiB multiple

ZFS → ZFS

1 MiB

Disk size rounds up to the next 1 MiB multiple

Example: A source disk of 5,648 KiB on ZFS, when restored to another ZFS target, will be restored as 6 MiB (the next 1 MiB boundary).


📝 Note

This inflation is minimal and does not affect the data or the functionality of the restored VM. It only ensures compatibility with the destination storage backend.


Did this answer your question?