-
Notifications
You must be signed in to change notification settings - Fork 0
Restoring Linux VMs in Proxmox with JovianDSS Backups
JovianDSS provides a volume-backup feature.
This guide describes how to use it with the JovianDSS Proxmox plugin. In our example, we'll assume a cluster of two JovianDSS nodes plus a single backup node.
Important: Proxmox VE's built-in backup functionality does not back up snapshots created with the JovianDSS plugin. Only the base volume data is included in Proxmox backups. For complete data protection including snapshots, use JovianDSS's native backup features as described in this guide.
This configuration builds on the setup introduced in the Networking article.
- Net1 172.28.0.0/16 Management/Internet connection
- Net2 172.29.0.0/16 Data network
- Net2 172.30.0.0/16 Data network
Two JovianDSS storage nodes with Failover enabled, and Pool-2 has three virtual IP addresses assigned:
- VIP0 192.168.28.102 associated with physical interfaces connected to Net1 172.28.0.0/16
- VIP1 192.168.29.102 associated with physical interfaces connected to Net2 172.29.0.0/16
- VIP2 192.168.30.102 associated with physical interfaces connected to Net3 172.30.0.0/16

Single JovianDSS backup node with Pool-1-backup has three virtual IP addresses assigned:
- VIP0 192.168.28.101 associated with physical interfaces connected to Net1 172.28.0.0/16
- VIP1 192.168.29.101 associated with physical interfaces connected to Net2 172.29.0.0/16
- VIP2 192.168.30.101 associated with physical interfaces connected to Net3 172.30.0.0/16

A three-node Proxmox VE cluster in which each node has three network interfaces connected to physical networks:
- vmbr0 connected to Net1 associated with virtual bridge vmbr0 with ip 172.28.143.11/16
- ens224 connected to Net2 associated with interface ens224 with ip 172.29.143.11/16
- ens256 connected to Net3 associated with interface ens256 with ip 172.30.143.11/16
Proxmox storage config file storage.cfg:
joviandss: jdss-Pool-2
pool_name Pool-2
target_prefix iqn.2025-06.proxmox.pool-2
content rootdir,images
control_addresses 192.168.28.102
control_port 82
data_addresses 192.168.29.102,192.168.30.102
luns_per_target 8
multipath 1
path /mnt/pve/jdss-Pool-2
shared 1
ssl_cert_verify 0
thin_provisioning 1
user_name admin
user_password admin
log_file /var/log/joviandss/jdss-Pool-2.log
disable 0
joviandss: jdss-Pool-1-backup
pool_name Pool-1-backup
target_prefix iqn.2025-06.proxmox.pool-1-backup
user_name admin
user_password admin
path /mnt/pve/jdss-Pool-1-backup
content images,rootdir
ssl_cert_verify 0
control_addresses 192.168.28.101
data_addresses 192.168.29.101,192.168.30.101
log_file /var/log/joviandss/jdss-Pool-1-backup.log
shared 1
On one of the node1 hosts, run VM 100, which uses the disk vm-100-disk-0 residing on the JovianDSS pool Pool-2.

To start a backup task to Pool-1-backup, create a dedicated volume to store the backups.
In this example, that volume is named backup-vm-100-disk-0.
Designate the volume backup-vm-100-disk-0 as the backup destination.

A volume configured as the backup destination appears as follows:

Add a backup task for the volume v_vm-100-disk-0 on Pool-2.


The volume with the configured backup task should look like:

The destination volume appears as follows:

For a more detailed guide on JovianDSS backup setup and configuration, please refer to the: Round the clock backup of everything with On- & Off-site Data Protection
In case of major hardware failure that resulted in loss or temporal inability for JovianDSS nodes hosting Pool-2 to operate user can recover latest state of vm-100-disk-0 from backup stored in backup-vm-100-disk-0 located on the Pool-1-backup.
In the event of a major hardware failure that causes the JovianDSS nodes hosting Pool-2 to become unavailable or lose data, you can recover the latest state of vm-100-disk-0 from the backup volume backup-vm-100-disk-0 on Pool-1-backup.

In the event that both nodes hosting Pool-2 become inoperable due to a major malfunction, disable the jdss-Pool-2 storage pool to prevent further error messages.
To do this set the disable flag for Pool-2 to 1.
Shut down the VMs with volumes related to it.

Detach the disk associated with Pool-2 from the VM debian-linux.

Create a clone from the desired snapshot, assigning it a name that includes the next available index:

Config any additional parameters you deem necessary.

Name the clone using naming conventions compliant with both the plugin and Proxmox standards:
v_vm-100-disk-1
Here, the v_ prefix indicates that the volume is managed by the JovianDSS Proxmox plugin, and vm-100-disk-1 is the name displayed in the Proxmox VE cluster.

Attach the clone created in the previous step to the VM:
root@node1:# qm set 100 --sata0 jdss-Pool-1-backup:vm-100-disk-1
update VM 100: -sata0 jdss-Pool-1-backup:vm-100-disk-1
Once the clone is attached, you can replicate the VM to a more suitable storage target.
For instance, you could clone it to local Proxmox VE storage or to a newly created JovianDSS pool - such as Pool-0.

Alternatively, if you successfully restore the Pool-2 storage pool, ...

If necessary, mark the attached disk as bootable under VM Options → Boot Order.

Once you’ve finished cloning the original VM from its backup-volume clone, delete the clone.

This operation deletes the clone volume created from a snapshot of backup-vm-100-disk-0 without affecting the original snapshot. The backup destination volume remains intact for future use.