Skip to main content

New backup server experiment: vDSM & PBS

vdsm pbs

Consideration

Transitioning to Proxmox Backup Server (aka PBS) for Enhanced Integration
The selection of an optimal backup solution is paramount. Initially, TrueNAS served as the backup server within my infrastructure. However, with Synology and Proxmox systems, i felt the need to find a more optimized system. This chapter explores the transition to Proxmox Backup Server (PBS), vDSM and its deployment within a Proxmox Virtual Environment (PVE) host, highlighting the benefits of this approach.

Rationale for Transition
TrueNAS has been a reliable backup solution; however, its compatibility with Synology and Proxmox is limited. To achieve seamless integration and management across all systems, adopting a backup solution that aligns with the existing infrastructure is essential. Proxmox Backup Server offers native support for Proxmox VE and can be configured to work efficiently with Synology NAS devices, making it a suitable choice. On the other hand vDSM allows me to have a backup to and from my current Synology NAS in a simpler way.

Implementation Strategy
The proposed implementation involves installing Proxmox VE as the host system, followed by deploying a VM running Proxmox Backup Server and a container running vDSM. This setup facilitates efficient backup operations for both Proxmox VE and Synology systems.

Installation Steps

  1. Install Proxmox VE: Begin by installing Proxmox VE on the designated hardware. Proxmox VE is a robust virtualization platform that supports the creation and management of virtual machines and containers.

  2. Deploy and config Proxmox Backup Server (aka PBS): Within Proxmox VE, create a container to host Proxmox Backup Server. This approach leverages the virtualization capabilities of Proxmox VE, allowing for efficient resource utilization.

  3. Deploy and config VDSM: To integrate Synology virtual NAS i have to create a custom configuration using docker compose. I have to configure the size of the volumes and configure the applications: active backup for business and HyperBackup.

  4. Test : We need to test the setup to make sure that the backup works perfectly without any hitches. Later on, it will also be possible to make optimizations.

Advantages of the New Setup

  • 📜Enhanced Compatibility: PBS offers native integration with Proxmox VE, streamlining backup operations and management.
  • 📜Efficient Resource Utilization: Running Proxmox Backup Server within a VM on Proxmox VE simplifies the infrastructure.
  • 📜Centralized Backup Storage: Utilizing a backup server with vDSM and PBS as the backup storage provides a centralized solution for storing backup data.

Technical Considerations

  • Network Configuration: Ensure that the network setup allows for seamless communication between Proxmox VE, Proxmox Backup Server, and Synology NAS. Proper network segmentation and firewall configurations are crucial for security and performance.

  • Data Integrity and Security: Implement encryption and regular verification of backup data to maintain data integrity and security. Proxmox Backup Server supports client-side encryption, ensuring that data is encrypted before transmission.

  • Scalability: The modular nature of this setup allows for easy scalability. Additional storage can be integrated by expanding the Synology NAS or adding new storage devices to the Proxmox VE environment.

Detailed step:

1. Prepare the Hardware Environment

Organize the hardware setup, ensuring that the HDDs are connected to the ports in an orderly manner. It would be inconvenient, for example, to have sda as a mechanical HDD and sdb as a SATA SSD. Arrange the connections so that all mechanical HDDs are connected in sequence, the motherboard manual may be useful in these cases.

2. Prepare Proxmox

Install Proxmox with the USB pendrive, so with the Proxmox installation image (ISO). Rufus work well to do this job. If you have a USB stick with Ventoy you just need to move the ISO file.

3. Proceed with Installation

During the installation, ensure that all network parameters are configured correctly. A backup server should always be isolated, in a separate VLAN for example.

4. Configure Storage in Proxmox

Set up the required RAID configurations for the different storage types according to your needs. In my case I will have a raid1 dedicated to the host operating system, a raid1 dedicated to vms and containers and a raidz1 dedicated to storage/backups. You can perform this task directly from the GUI, on PVE/Disk/ZFS > Create ZFS

caution

Before creating each pool the target drives will need to be wiped. This is possible in disks tab.

note

I therefore recommend creating folders and then assigning them to the container via the file located in /etc/pve/lxc/xxx.conf (where xxx is the ID you previously assigned to your container)

for example I created:
✅a directory for the vdsm os (16gb minimum)
✅a directory for the storage (raidz1)

5. Install the vDSM Container

Deploy vDSM in a container, If you want to install vDSM easily we can use Portainer.

If we want to dedicate a separate IP to the container in question we should first create a macvlan network. We could create it via Portaienr via GUI or run a shell directly on the container.
In this example we will create a network dedicated exclusively to vDSM with the IP 192.168.1.201

docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
--ip-range=192.168.1.201/32 \
-o parent=eth0 vdsm_net

After that we will move on to the actual deployment of vDSM with this docker compose:
Obviously the settings will change from case to case depending on your configurations.

services:
virtual-dsm:
image: vdsm/virtual-dsm:latest
container_name: virtual_dsm
ports:
- "5000:5000"
- "5001:5001"

- "6281:6281/tcp" # TCP
- "6281:62811/udp" # UDP

cap_add:
- NET_ADMIN

devices:
- "/dev/net/tun"
- "/dev/kvm"
- "/dev/vhost-net"

sysctls:
net.ipv4.ip_forward: "1"

device_cgroup_rules:
- "c *:* rwm"

stop_grace_period: 30s

volumes:
- "/tssd:/storage"
- "/thdd:/storage2"

environment:
- CPU_CORES=6
- RAM_SIZE=6144M

- DISK_SIZE=20G
- DISK2_SIZE=12000G

- DISK_FMT=qcow2
- ALLOCATE=N

restart: always

networks:
vdsm_net:
ipv4_address: ${hostip}

networks:
vdsm_net:
external: true

6. vDSM Installation and Configuration

Install and configure the vDSM container. In the case of vDSM we will use a container with Debian on. . Ideally docker compose will be structured in such a way that it has a separate ip via macvlan.

7. Proxmox Backup Server Installation and Configuration

In the case of PBS we will use a VM. So we will complete the setup and configuration of Proxmox Backup Server with a dedicated IP.

8. Configure Wake-on-LAN (WOL) and Test Backups

Enable WOL functionality and perform backup tests to confirm that everything is functioning correctly. We then need to make sure that our network card supports WOL. Generally all Intel cards support it without any problems.

Assuming your network card is enp10s0. we should check with:

ethtool enp10s0 | grep wake

We should then have a positive result if we have as output Wake-ok: g
You will find more information for troubleshooting in this wiki.

9. Perform a Restore Test

Verify the backup and restore process by performing a test restore.
I personally used Active backup for Business to backup an SMB storage. Then I used this last tool to do a backup and restore test.

10. Document the Configuration

Maintain a detailed list of the hardware used, enabling quick identification and replacement in case of hardware failure.