bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward
eco Beginner Tutorial/How-to

Proxmox Backup Server: Back Up All VMs to a Secondary Disk and S3

calendar_month Sep 10, 2026 schedule 21 min read visibility 145 views
Proxmox Backup Server: бэкап всех VM на второй диск и в S3
info

Need a server for this guide? We offer dedicated servers and VPS in 50+ countries with instant setup.

Need a server for this guide?

Deploy a VPS or dedicated server in minutes.

Proxmox Backup Server: backing up all VM to a second disk and S3

TL;DR

In this detailed guide, we will set up Proxmox Backup Server (PBS) on a separate VPS or dedicated server. PBS will allow you to centrally and efficiently back up all your Proxmox VE virtual machines and containers using deduplication and compression. We will show how to configure local backup storage on a second disk, as well as how to replicate these backups to remote S3-compatible storage for maximum reliability and disaster recovery.

  • Setting up Proxmox Backup Server on Debian 12.
  • Configuring an additional disk as the primary backup storage.
  • Integration with S3-compatible cloud storage for remote backups.
  • Connecting Proxmox VE to PBS and creating backup schedules.
  • Ensuring security and automating backup maintenance.
  • Current commands and configurations for 2026.

What we are configuring and why

Сема: Что мы настраиваем и зачем
Diagram: What we are configuring and why

In today’s data infrastructure landscape, reliable backups are not merely a recommendation but a critical necessity. For Proxmox VE users managing virtual machines (VM) and containers (LXC), Proxmox Backup Server (PBS) provides a specialized, highly efficient, and centralized backup solution. PBS is a separate server designed specifically to work with Proxmox VE, providing block-level data deduplication, incremental backups, compression, and data integrity verification.

We will configure PBS on a separate server, which can be either a VPS or a dedicated server. The main goal is to create a reliable system that automatically saves backups of all your VM and LXC. As a result, the reader will have a fully functional backup system capable of storing data locally on a second disk (for fast recovery) while simultaneously replicating it to remote S3-compatible storage (such as AWS S3, MinIO, or Wasabi) for maximum protection against local failures and geographic data distribution.

Why is this important? Local backups allow for fast data recovery in case of minor failures or errors. Remote S3 backups protect against catastrophic events such as total server failure, natural disasters, or data center issues. This implements the "3-2-1" backup principle: 3 copies of data, on 2 different media types, with 1 copy stored offsite.

Alternatives exist, such as manually copying VM disks, using third-party cloud backup services, or even provider snapshots. However, PBS offers several unique advantages:

  • Efficiency: Block-level deduplication significantly saves space, especially if you have many similar VM.
  • Speed: Incremental backups mean that after the first full backup, only changed blocks are copied, speeding up the process.
  • Integration: Seamless integration with Proxmox VE through the web interface.
  • Control: You have full control over your data and infrastructure, which is especially important for privacy and security compliance.
  • Cost: In the long term, a self-hosted solution on a VPS can be significantly cheaper than paid cloud services, especially with large data volumes.

Therefore, setting up PBS is an investment in the stability and security of your Proxmox VE infrastructure.

What VPS configuration is needed for this task

Сема: Какой VPS-конфиг нужен под эту задачу
Diagram: What VPS configuration is needed for this task

Choosing the right VPS or dedicated server for Proxmox Backup Server is critical for its performance and reliability. PBS is a fairly resource-intensive application, especially when it comes to deduplication and compression of large data volumes.

Minimum requirements (for small installations, up to 1 TB of data):

  • CPU: 2 Intel Xeon E3/E5 cores or equivalent AMD EPYC. The faster the CPU, the faster the deduplication and compression.
  • RAM: 4 GB. PBS caches deduplication indexes in memory. For small volumes (up to 1–2 TB), 4 GB will be sufficient.
  • OS disk: 60–80 GB NVMe/SSD. Used for the operating system and PBS metadata.
  • Backup disk: 500 GB–1 TB HDD/SSD. This disk must be separate from the system disk and have sufficient capacity to store all your backups with deduplication taken into account.
  • Network: 1 Gbps. For stable and fast data transfer between PVE and PBS, as well as between PBS and S3.

Recommended VPS plan (for medium installations, up to 5 TB of data):

  • CPU: 4 Intel Xeon E3/E5 cores or AMD EPYC.
  • RAM: 8–16 GB. This will provide more efficient caching and speed up operations involving deduplication indexes, especially when working with several terabytes of data.
  • OS disk: 100 GB NVMe/SSD.
  • Backup disk: 2–4 TB HDD (for cost savings) or SSD (for maximum performance). This must be an additional disk, not part of the system disk.
  • Network: 1 Gbps or 2.5 Gbps.

For this configuration, you may consider a VPS with the specified characteristics, offering flexible CPU, RAM, and storage options. It is important to ensure that the provider allows you to add a second, separate backup disk.

When you need a dedicated server instead of a VPS:

  • Very large data volumes: If you plan to store more than 5–10 TB of backups, especially with a high rate of changes and a large number of VM.
  • High performance requirements: If backup and recovery speed for dozens or hundreds of VM is critically important. Dedicated servers offer guaranteed CPU, RAM, and disk subsystem resources (NVMe RAID, hardware controllers).
  • Complex replication scenarios: If you are configuring multiple PBS servers or complex replication between them.
  • Requirements for specific hardware: For example, hardware RAID controllers or ECC RAM.

In such cases, it is recommended to consider a suitable dedicated server, which will provide maximum performance and flexibility.

Location: what it affects

  • Proximity to PVE: If your Proxmox VE is located on another VPS, try to place PBS in the same or the closest possible data center. This will minimize latency and increase data transfer speeds during backup creation and recovery.
  • Proximity to S3: If you use S3-compatible storage located in a specific region, placing PBS closer to that region will also reduce latency during S3 replication.
  • Geographic distribution: For maximum disaster recovery, it is recommended to place PBS in a different geographic region from your primary PVE. This will protect against regional failures. However, it will increase latency and backup/recovery times.

The optimal choice is PBS in the same data center as PVE, with S3 storage in another region. This combines the speed of local backups with the reliability of remote storage.

Server Preparation

Diagram: Server Preparation
Diagram: Server Preparation

Before installing Proxmox Backup Server, you need to perform basic server preparation. We will use Debian 12 (Bookworm), as PBS is based on this operating system. It is assumed that you have a fresh Debian 12 installation with SSH access.

1. Updating the System

First, update all packages to the latest versions. This will ensure system stability and security.


sudo apt update && sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y

(Updating the package list, updating installed packages, upgrading the distribution, removing unnecessary dependencies)

2. Configuring SSH Access and a User

It is recommended to disable password login for the root user and use SSH key login for a regular user with sudo privileges. If you have not configured SSH keys yet, do so now.

Create a new user (if one does not exist) and add it to the sudo group:


sudo adduser pbsuser
sudo usermod -aG sudo pbsuser

(Creating a new 'pbsuser' user, adding 'pbsuser' to the sudo group)

Copy your public SSH key to /home/pbsuser/.ssh/authorized_keys.

Then edit the /etc/ssh/sshd_config file to disable password login for root and allow key-based login only:


sudo nano /etc/ssh/sshd_config

Find and modify the following lines:


PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes

(Disabling root login, disabling password authentication, disabling interactive authentication, enabling PAM)

Save the changes and restart the SSH service:


sudo systemctl restart sshd

(Restarting the SSH service to apply changes)

Important: Before closing the current SSH session, open a new session as the pbsuser user and make sure that you can log in using an SSH key. Close the old session only after a successful login.

3. Installing Basic Utilities

Install several useful utilities that will be helpful for server management:


sudo apt install -y curl wget git nano htop screen rsync smartmontools

(Installing utilities for downloading files, version control, text editing, process monitoring, session management, file synchronization, and SMART monitoring)

4. Configuring the Firewall (UFW)

Configure a simple firewall using UFW (Uncomplicated Firewall). Allow SSH and the standard Proxmox Backup Server port (8007).


sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 8007/tcp
sudo ufw enable
sudo ufw status verbose

(Installing UFW, denying incoming connections by default, allowing outgoing connections by default, allowing SSH, allowing the PBS port, enabling the firewall, checking firewall status)

Make sure that the UFW status shows "active" and that ports 22 (SSH) and 8007 (PBS) are allowed.

5. Installing Fail2Ban

Fail2Ban will help protect your server from brute-force password attacks by blocking IP addresses from which numerous failed login attempts occur.


sudo apt install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

(Installing Fail2Ban, copying the default configuration file to a local one, editing the local configuration file)

In the jail.local file, you can configure parameters, but to start with, it is sufficient to ensure that the [sshd] section is active (enabled = true):


[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Save the file and restart Fail2Ban:


sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
sudo systemctl status fail2ban

(Enabling Fail2Ban at system startup, restarting the service, checking the status)

Your server is now ready to install Proxmox Backup Server.

Software Installation — Step by Step

Diagram: Software Installation — Step by Step
Diagram: Software Installation — Step by Step

Installing Proxmox Backup Server on Debian 12 (Bookworm) is relatively straightforward, as Proxmox provides its own repositories. We will install the current PBS 3.x version, which is compatible with Debian 12.

1. Adding the Proxmox Backup Server Repository

First, you need to add the official Proxmox Backup Server repository to your system. This will allow you to install and update PBS through the standard apt package manager.


echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" | sudo tee /etc/apt/sources.list.d/pbs-no-subscription.list

(Adding the PBS repository entry for Debian 12 (Bookworm) without a subscription)

If you have a Proxmox subscription, use pbs-enterprise instead of pbs-no-subscription.

2. Adding the GPG Key for the Repository

To verify the integrity of packages from the new repository, you need to add the corresponding Proxmox GPG key.


wget https://download.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg

(Downloading the Proxmox GPG key for Debian 12 and saving it in the trusted.gpg.d directory)

Make sure that the key was downloaded correctly.

3. Updating the Package List

After adding the repository and key, update the package list so the system recognizes the newly available packages.


sudo apt update

(Updating the package list from all configured repositories)

4. Installing Proxmox Backup Server

You can now install Proxmox Backup Server itself. The installation includes all required dependencies.


sudo apt install -y proxmox-backup-server

(Installing the main Proxmox Backup Server package and all its dependencies)

During installation, you may be asked to enter a password for the root user to access the web interface. Set a strong password. Once installation is complete, PBS will be started as a system service.

5. Checking the PBS Service Status

Make sure that the Proxmox Backup Server service is running and operating correctly.


sudo systemctl status proxmox-backup-proxy

(Checking the status of the Proxmox Backup Proxy service, which is responsible for the PBS web interface)

The output should show "active (running)".

6. Accessing the Web Interface

You can now access the Proxmox Backup Server web interface through a browser at https://YOUR_IP_ADDRESS:8007. Use the root username and the password you set during installation.

When you first log in, you will see a warning about a self-signed certificate. This is normal. You can accept it or configure your own TLS certificate, as shown later.

7. Preparing an Additional Disk for Backups (ZFS)

Assume you have a second disk, for example /dev/sdb, that you want to use for storing backups. Proxmox recommends using ZFS for PBS storage due to its data integrity verification features and high performance. We will create a ZFS pool.

WARNING: All data on /dev/sdb will be LOST! Make sure you have selected the correct disk.

Install the ZFS utilities (if they are not already installed):


sudo apt install -y zfsutils-linux

(Installing utilities for working with the ZFS file system)

Create a ZFS pool. We will call it backup-pool:


sudo zpool create -f backup-pool /dev/sdb

(Creating a new ZFS pool named 'backup-pool' on the /dev/sdb disk. The -f flag forces creation)

Check the pool status:


sudo zpool status backup-pool

(Checking the status of the created ZFS pool)

By default, ZFS pools are mounted at /backup-pool. You now need to add this pool as a datastore in Proxmox Backup Server through the web interface:

  1. Log in to the PBS web interface (https://YOUR_IP_ADDRESS:8007).
  2. Go to the "Datastores" section.
  3. Click "Add Datastore".
  4. Fill in the fields:

    • Name: local-disk-backups (or any other descriptive name)
    • Path: /backup-pool/pbs-data (the path within the ZFS pool that PBS will use)
    • Owner: root@pam
    • Comment: Local backup storage on the second disk
  5. Click "Add".

You now have local storage for backups.

Configuration

Diagram: Configuration
Diagram: Configuration

After installing Proxmox Backup Server and configuring local storage, the next step is to configure remote S3 storage and integrate it with Proxmox VE.

1. Configuring S3-Compatible Storage

Before adding S3 to PBS, you will need to create a bucket and obtain credentials (Access Key ID and Secret Access Key) from your S3 provider (for example, AWS S3, MinIO, Wasabi, Backblaze B2, DigitalOcean Spaces). Make sure that the S3 user has permission to read, write, and delete objects in the selected bucket.

Assume you have created a bucket named my-pbs-s3-bucket.

Adding S3 Storage to PBS Through the Web Interface:
  1. Log in to the PBS web interface (https://YOUR_IP_ADDRESS:8007).
  2. Go to "Configuration" -> "Remote".
  3. Click "Add Remote".
  4. Fill in the fields:

    • Name: s3-cloud-backups (or any other descriptive name)
    • Vendor: Select your S3 provider (for example, "AWS S3", "Generic S3" for MinIO/Wasabi).
    • Datastore Name: s3-remote-store (the name under which this storage will appear in the datastore list).
    • Bucket: my-pbs-s3-bucket (the name of your S3 bucket).
    • Endpoint: The URL of your S3 provider (for example, s3.eu-central-1.amazonaws.com for AWS Frankfurt, or s3.wasabisys.com for Wasabi).
    • Access Key ID: Your Access Key ID.
    • Secret Access Key: Your Secret Access Key.
    • Fingerprint (optional): If your S3 provider uses self-signed certificates, you can specify the fingerprint.
  5. Click "Add".

After adding the S3 storage, it will appear in the "Datastores" list as s3-remote-store.

2. Creating a User for Proxmox VE

To allow your Proxmox VE to connect to PBS and create backups, you need to create a dedicated PBS user with limited permissions.

  1. In the PBS web interface, go to "Configuration" -> "Access Control" -> "Users".
  2. Click "Add".
  3. Fill in the fields:

    • Username: backup-user@pbs (it is recommended to use the @pbs realm).
    • Password: Create a strong password.
    • Comment: User for connecting PVE to PBS.
  4. Click "Add".

Now you need to grant this user write permissions for the datastores:

  1. Go to "Configuration" -> "Access Control" -> "Permissions".
  2. Click "Add" -> "Datastore Permissions".
  3. Fill in the fields:

    • Path: / (for access to all datastores) or /datastore/local-disk-backups and /datastore/s3-remote-store if you want to grant access only to specific ones. It is recommended to grant access to all.
    • User: Select backup-user@pbs.
    • Role: Select DatastoreAdmin. This role provides the required permissions to create, read, and delete backups.
  4. Click "Add".

3. Integration with Proxmox VE

Now go to your Proxmox VE (PVE) web interface and add PBS as storage.

  1. Log in to the PVE web interface (https://YOUR_PVE_IP_ADDRESS:8006).
  2. Go to "Datacenter" -> "Storage".
  3. Click "Add" -> "Proxmox Backup Server".
  4. Fill in the fields:

    • ID: pbs-main (the storage name in PVE).
    • Server: The IP address or domain name of your Proxmox Backup Server.
    • Username: backup-user@pbs.
    • Password: The password for backup-user@pbs.
    • Datastore: Select local-disk-backups from the drop-down list (this is the datastore name you assigned in PBS).
    • Fingerprint: Copy the certificate fingerprint from the PBS web interface (Configuration -> Certificates -> Server Certificate -> SHA256 Fingerprint). This is important for a secure connection.
    • Node: Select all PVE nodes that will use this storage.
  5. Click "Add".

Repeat this step if you want to add s3-remote-store as separate storage in PVE, or you can use replication on the PBS side (see the "Backups and Maintenance" section). For simplicity, let us add only local storage in PVE and configure replication to S3 in PBS.

4. Configuring TLS/HTTPS (Caddy with Certbot)

Proxmox Backup Server uses self-signed certificates by default. For a publicly accessible PBS or increased security, you can configure Let's Encrypt through Certbot and Caddy. If you use PBS only within your network and trust self-signed certificates, you can skip this step.

Assume you have a domain name, for example, pbs.yourdomain.com, pointing to the IP address of your PBS.

Installing Certbot and Caddy:

sudo apt install -y certbot caddy

(Installing Certbot to obtain Let's Encrypt SSL certificates and Caddy as a reverse proxy)

Obtaining a Certificate with Certbot:

Stop Caddy if it is running so that Certbot can use port 80:


sudo systemctl stop caddy
sudo certbot certonly --standalone -d pbs.yourdomain.com --agree-tos --email [email protected]

(Stopping Caddy, obtaining a Let's Encrypt SSL certificate in standalone mode for the pbs.yourdomain.com domain)

The certificates will be stored in /etc/letsencrypt/live/pbs.yourdomain.com/.

Configuring Caddy as a Reverse Proxy:

Edit the Caddy configuration file: /etc/caddy/Caddyfile


sudo nano /etc/caddy/Caddyfile

Replace its contents with the following:


pbs.yourdomain.com {
    reverse_proxy localhost:8007 {
        transport http {
            tls_insecure_skip_verify
        }
    }
}

(Configuring Caddy to proxy requests from pbs.yourdomain.com to the local PBS port 8007 while skipping PBS TLS certificate verification)

Start Caddy:


sudo systemctl enable caddy
sudo systemctl start caddy
sudo systemctl status caddy

(Enabling Caddy at system startup, starting the service, checking its status)

You can now access PBS through https://pbs.yourdomain.com with a valid Let's Encrypt certificate. Caddy will proxy requests to PBS, which will continue to use port 8007 and its self-signed certificate.

5. Verifying Functionality

Make sure everything is working correctly:

  • Access to the PBS UI: Try accessing https://YOUR_IP_ADDRESS:8007 and https://pbs.yourdomain.com (if configured).
  • Checking Datastores: In the PBS UI (the "Datastores" section), make sure that local-disk-backups and s3-remote-store are displayed as active.
  • Checking PVE Storage: In the PVE UI (Datacenter -> Storage), make sure that pbs-main is displayed as active storage.
  • Test Backup: In the PVE UI, select any VM/LXC, go to the "Backup" section, and start a manual backup by selecting the pbs-main storage. After the backup is complete, verify that it appears in the PBS UI under "Datastores" -> local-disk-backups -> "Content".

If all steps have been completed correctly, your Proxmox Backup Server is ready to use.

Backups and Maintenance

After successfully installing and configuring Proxmox Backup Server and integrating it with Proxmox VE, the next step is to plan and automate backups, as well as perform regular system maintenance.

1. What to Back Up (and How PBS Does It)

Proxmox Backup Server is designed for backing up Proxmox VE virtual machines and containers. You do not back up "files" or "databases" inside VMs directly with PBS. Instead, PVE creates VM/LXC snapshots and sends them to PBS. PBS processes this data, applies deduplication and compression, and then stores it in the selected storage (datastore).

Therefore, backups must be configured in the Proxmox VE web interface:

  1. Log in to the PVE web interface.
  2. Go to "Datacenter" -> "Backup".
  3. Click "Add" to create a new backup job.
  4. Fill in the fields:

    • Node: Select the node(s) from which VMs will be backed up.
    • Storage: Select pbs-main (your PBS storage).
    • Schedule: Set a schedule (for example, daily at 03:00).
    • VM/CT: Select which VMs/CTs to back up (All, Selected, Exclude).
    • Compression: Zstd (recommended for the best balance of compression and speed).
    • Mode: Snapshot (recommended for consistent backups).
    • Retention: Configure the retention policy (for example, keep-last=7 to keep the last 7 backups).
    • Email notification: Specify an address for backup status notifications.
  5. Click "Create".

Create multiple backup jobs if you have different requirements for VMs (for example, daily backups for critical ones and weekly backups for less important ones).

2. Replicating Backups to S3 (on the PBS Side)

Instead of backing up directly from PVE to S3 (which may be slower due to high latency), it is much more efficient to use the replication feature on PBS itself. This means that PVE backs up to the local PBS disk, and PBS then independently replicates these backups to S3.

  1. Log in to the PBS web interface.
  2. Go to "Datastores". Select your local datastore (local-disk-backups).
  3. Go to the "Replication" tab.
  4. Click "Add".
  5. Fill in the fields:

    • Source Datastore: local-disk-backups.
    • Target Datastore: s3-remote-store.
    • Schedule: Select a replication schedule (for example, daily at 04:00, after local backups are complete).
    • Rate Limit (optional): Limit the speed to avoid overloading the network.
    • Retention: Configure the retention policy for S3 (it may differ from the local one, for example, keep-last=30).
  6. Click "Create".

Now all backups created in local-disk-backups will be automatically replicated to your S3 storage according to the schedule.

3. Data Integrity Verification (Verify Jobs)

One of the key features of PBS is built-in data integrity verification. This ensures that your backups are not corrupted and can be restored.

  1. Log in to the PBS web interface.
  2. Go to "Datastores". Select your datastore (for example, local-disk-backups).
  3. Go to the "Verify Jobs" tab.
  4. Click "Add".
  5. Fill in the fields:

    • Schedule: For example, weekly at Sunday at 02:00.
    • Limit (optional): Limit the number of backups to verify if the datastore is very large.
  6. Click "Create".

It is recommended to configure a Verify Job for each datastore (local and S3) at least once a week.

4. Maintenance: Pruning and Garbage Collection

PBS automatically removes old backups according to retention policies (pruning). However, after backups are deleted, free space is not immediately returned to the system. Garbage Collection operations are required for this.

Garbage Collection runs automatically according to the PBS schedule, usually once a day. You can check the schedule or run it manually:

  1. Log in to the PBS web interface.
  2. Go to "Datastores". Select your datastore (for example, local-disk-backups).
  3. Go to the "Garbage Collection" tab.
  4. You will see information about the last run and will be able to force a run with "Run Now".

Make sure that Garbage Collection completes successfully on a regular basis. This is critical for freeing disk space.

5. System and Software Updates

Proxmox Backup Server, like any other system, requires regular updates to receive new features, bug fixes, and security patches.

Updating PBS is performed through the command line on the PBS server:


sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y

(Updating the package list, updating installed packages, upgrading to a new distribution version, removing unnecessary dependencies)

It is recommended to run these commands weekly or monthly. Before major updates, always back up PBS itself (its configuration files and metadata) or, if it is a VM, create its snapshot.

6. Monitoring

Regularly check the PBS web interface for the status of backup, replication, and verification jobs. Pay attention to disk space usage in the "Dashboard" section.

On the PBS server, you can use utilities such as htop to monitor resources, zpool status to check ZFS pool health, and df -h to check free space.


df -h /backup-pool
sudo zpool status backup-pool

(Checking free space on the ZFS pool, checking ZFS pool status)

Configuring email notifications in PVE backup jobs and PBS (under "Configuration" -> "Options" -> "Email from address") will help you quickly learn about any issues.

Troubleshooting + FAQ

Even with careful configuration, issues may arise. This section will help you diagnose and resolve the most common questions related to Proxmox Backup Server.

What is the minimum suitable VPS configuration?

For small installations (up to 1 TB of backups, 1-5 VMs), you will need at least 2 vCPU, 4 GB RAM, 60-80 GB SSD for the OS, and a separate 500 GB - 1 TB disk for backup data. However, for more stable and higher-performance operation, especially considering deduplication, 4 vCPU and 8 GB RAM would be significantly better. See the "What VPS configuration is needed for this task" section for detailed recommendations.

Should I choose a VPS or dedicated server for this task?

For most users managing several VMs (up to 10-15) and a total backup volume of up to 5 TB, a VPS is the optimal and cost-effective solution. A VPS offers sufficient performance and flexibility. A dedicated server becomes necessary for very large data volumes (more than 5-10 TB), high backup/restore speed requirements for dozens or hundreds of VMs, or if specific hardware features such as hardware RAID or ECC RAM are required. For most cases, a VPS will be sufficient.

PBS Web UI is unavailable (port 8007).

First, check whether the PBS service is running: sudo systemctl status proxmox-backup-proxy. If it is not running, try starting it: sudo systemctl start proxmox-backup-proxy. Next, check the firewall: sudo ufw status verbose. Make sure port 8007/tcp is allowed. If you use a provider cloud firewall, check its settings. Also make sure you are accessing the correct IP address and port.

Error when adding S3 storage: "Unable to connect to S3 endpoint".

This error often indicates connectivity or authentication issues. Check the following:

  • Endpoint URL: Make sure the S3 provider URL is specified exactly (without https://, only the domain and region).
  • Access Key ID and Secret Access Key: Double-check the credentials. There may be a typo, or they may not have sufficient permissions.
  • Bucket Name: Make sure the bucket name is correct and that it exists.
  • Network connection: Check whether your PBS server can reach the S3 endpoint (for example, ping s3.wasabisys.com or curl -v https://s3.wasabisys.com). A firewall on the PBS or provider side may be blocking outbound connections.

Backups take up too much space.

Proxmox Backup Server uses deduplication and compression, but if the data volume is still too large, check the following:

  • Retention policies (Retention): Make sure you have configured appropriate retention policies in PVE backup jobs and PBS replication jobs. If you keep too many old backups, space will run out quickly.
  • Garbage Collection: PBS removes old backups (pruning), but physical space is freed only after Garbage Collection runs. Make sure GC runs regularly and completes successfully.
  • Deduplication: If VMs differ significantly in their contents, deduplication efficiency may be lower.

Slow backup/restore speed.

Speed depends on several factors:

  • Network: Network speed between PVE and PBS, as well as between PBS and S3. Make sure there are no bottlenecks.
  • Disk subsystem: Read/write speed of the disk where backups are stored on PBS. NVMe/SSD is significantly faster than HDD. Disk subsystem performance on PVE is also important.
  • CPU and RAM: The processor and memory on PBS are used for deduplication and compression. Insufficient resources can slow down the process.
  • Compression settings: Zstd (Fast) provides a good balance, but higher compression levels may be slower.

How do I restore a VM from a backup?

VM restoration is performed from the Proxmox VE web interface. Select the required VM, go to the "Backup" section, select the backup you want to restore, and click "Restore". You can restore the VM to the same node or to another one, as well as select new parameters for the VM disk.

How do I update PBS?

PBS is updated through the command line on the PBS server using the APT package manager. Simply run the commands: sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y && sudo apt autoremove -y. This is safe and does not require stopping the service, but major kernel or critical component updates may require a server reboot.

Conclusions and Next Steps

Diagram: Conclusions and Next Steps
Diagram: Conclusions and Next Steps

Congratulations! You have successfully configured Proxmox Backup Server, created local storage on the second disk, and integrated it with remote S3-compatible storage. Your Proxmox VE infrastructure is now protected by a reliable backup system that provides fast recovery from local copies and disaster resilience through remote replication to the cloud. You now have a practical tool for ensuring the continuity of your services.

Where to go next?

  1. Recovery testing: Regularly test the process of restoring one or more VMs from backups. This is critical to ensure that the entire system works properly and that you can respond quickly to incidents.
  2. Advanced monitoring: Consider integrating PBS with monitoring systems such as Prometheus and Grafana. PBS provides metrics through an API that can be collected and visualized for deeper analysis of performance and backup status.
  3. Performance optimization: If you have a large number of VMs or very high speed requirements, explore ZFS pool optimization options (for example, adding L2ARC/SLOG for caching), as well as configuring network and resource settings on PBS.

Was this guide helpful?

Your feedback helps us improve our guides.

Share this post:

Send this guide to someone who may find it useful.

Telegram VKVK WhatsApp Facebook LinkedIn XX

Proxmox Backup Server: backup all VMs to a second disk and S3
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.