1228 字
6 分钟

Complete Guide to Deploying Proxmox Backup Server on Hetzner CX33 with Object Storage Integration

Introduction#

In modern data center management, data backup is a critical component for ensuring business continuity and disaster recovery capabilities. Proxmox Virtual Environment (PVE), as a leading open-source virtualization platform, combined with its official Proxmox Backup Server (PBS), enables the construction of a complete, efficient, and cost-effective enterprise-grade backup solution.

This tutorial provides detailed instructions on deploying Proxmox Backup Server on a Hetzner Cloud CX33 instance, leveraging Hetzner Object Storage as a high-value backend storage solution, and seamlessly integrating with existing Proxmox VE environments to achieve automated backup and retention policies.

Why Choose Proxmox Backup Server#

Proxmox Backup Server is a backup solution specifically designed for PVE environments. Compared to traditional file-level backup tools, it offers the following significant advantages:

FeatureDescription
Incremental BackupsVariable-length chunk deduplication technology transfers and stores only changed data blocks, significantly reducing storage usage and backup time
End-to-End EncryptionClient-side encryption support ensures backup data security during transmission and storage
Compression SupportBuilt-in Zstandard compression algorithm provides excellent balance between CPU overhead and compression ratio
Automatic Retention PoliciesFlexible backup retention rules supporting automatic cleanup by time dimension (daily/weekly/monthly/yearly)
Native PVE IntegrationDeep integration with Proxmox VE enables one-click backup/restore without additional configuration

Part 1: Creating a Hetzner CX33 Server#

Instance Specifications#

The Hetzner CX33 is a highly cost-effective cloud server with the following specifications:

  • vCPU: 4 cores (Intel Xeon or AMD EPYC)
  • Memory: 8 GB
  • Storage: 80 GB SSD
  • Network: 1 Gbps bandwidth, 20 TB monthly traffic
  • Price: Approximately €4.99/month

For small to medium-sized PVE environment backup requirements, the CX33’s performance is more than sufficient. PBS itself has modest compute resource requirements, primarily relying on memory for deduplication indexing. The 8GB memory can support multi-terabyte backup storage.

Creation Steps#

  1. Log in to Hetzner Cloud Console
  2. Select your project and click “Add Server”
  3. Choose a Location (recommend selecting the same region as your PVE host to reduce latency)
  4. Select Type: CX33
  5. Select Image: Debian 13 (Trixie)
  6. Configure SSH Key or password authentication
  7. Confirm firewall rules, ensuring port 8007 is accessible
  8. Create the server and record the assigned IP address

firewall

Part 2: Installing Proxmox Backup Server#

Connect to the newly created CX33 server via SSH and execute the following installation steps:

Adding Proxmox Software Repositories#

Add Proxmox GPG key and software repository
# Download and add Proxmox release signing key
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-trixie.gpg
# Add PBS community edition repository (no subscription)
echo "deb http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" | \
sudo tee /etc/apt/sources.list.d/proxmox-backup-server.list

Installing the Package#

Update package list and install PBS
sudo apt update && sudo apt install proxmox-backup -y

During installation, the system will prompt for Postfix mail transfer agent configuration. If you haven’t configured a mail sending policy yet, it’s recommended to temporarily select “No configuration”. You can reconfigure later using dpkg-reconfigure postfix.

Postfix

Accessing the Web Management Interface#

After installation completes, the PBS service will start automatically. Access it via browser:

https://<your-server-ip>:8007

pbs

You will encounter an SSL certificate warning on first access, as PBS uses a self-signed certificate. Add a security exception to proceed to the login page. By default, use the Linux system user root and its password to log in.

Part 3: Configuring Hetzner Object Storage#

Hetzner Object Storage is a cost-effective storage service based on S3-compatible API, priced at only €0.006/GB/month, making it ideal as a PBS remote storage backend.

Creating an Object Storage Bucket#

  1. Go to Hetzner Cloud Console
  2. Navigate to Object Storage in the left menu
  3. Select the Locations tab and enable your desired region (e.g., hel1, fsn1, or nbg1)
  4. Click Create Bucket, enter a bucket name (e.g., proxmox-backups)
  5. Record the bucket’s Endpoint URL format: https://<bucket-name>.<region>.your-objectstorage.com

Available endpoints

LocationEndpoint
Falkensteinfsn1.your-objectstorage.com
Nurembergnbg1.your-objectstorage.com
Helsinkihel1.your-objectstorage.com

object-storage

Generating Access Credentials#

  1. On the Object Storage page, switch to the Credentials tab
  2. Click S3 Credentials
  3. Enter a description (e.g., PBS-Access)
  4. Copy the generated Access Key and Secret Key

S3 Credentials

Credential Security

The Secret Key is only displayed once during creation. Please store it securely. If lost, you will need to generate new credentials.

Part 4: PBS Object Storage Integration Configuration#

Creating S3 Endpoint Configuration#

Log in to the PBS Web interface and follow these steps to configure:

  1. Navigate to Configuration → S3 Endpoints
  2. Click the Add button

Fill in the endpoint configuration:

FieldValueDescription
S3 Endpoint IDhetzner-obsPBS internal identifier, customizable
Endpointhttps://<region>.your-objectstorage.comUse the default endpoint from above
Regionhel1 / fsn1 / nbg1Fill according to the region selected when creating the bucket
Access KeyYOUR_ACCESS_KEYObtained from the Credentials page
Secret KeyYOUR_SECRET_KEYObtained from the Credentials page
  1. Expand Advanced options
  2. Set Provider Quirks to Skip

Create S3 Endpoint

Provider Quirks Explanation

Hetzner Object Storage has subtle differences from AWS S3 in certain S3 API implementations. Enabling “Skip” quirks ensures PBS handles these differences correctly, preventing backup operation failures.

Creating the Datastore#

After configuring the S3 endpoint, create the actual datastore:

  1. Navigate to the Datastore menu
  2. Click Add Datastore
  3. Fill in the configuration:
FieldValue
Namehetzner-backup (customizable)
TypeS3
Local Path/var/lib/proxmox-backup/s3-cache (local cache directory)
S3 EndpointSelect the previously created hetzner-pbs
BucketSelect the automatically recognized bucket from the dropdown

Create Datastore

  1. Click Add to complete creation

PBS maintains a local cache layer for storing deduplication indexes and recently accessed data blocks, reducing API call frequency to object storage and improving backup and restore performance.

Cache

Part 5: PVE Integration and Backup Configuration#

Creating a PBS Backup User#

To follow the principle of least privilege, it’s recommended to create a dedicated user for PVE connections:

  1. In PBS, navigate to Configuration → Access Control → User Management
  2. Click Add
  3. Fill in user information:
    • User name: dataguard
    • Realm: pbs (local authentication)
  4. Set a strong password and record it

Configuring User Permissions#

  1. Go to the Permissions tab
  2. Click Add → User Permission
  3. Configure:
    • Path: /hetzner-backup (select the created datastore)
    • User: dataguard@pbs
    • Role: DatastoreBackup

This role allows the user to create, read, and delete backups but cannot modify PBS system configuration.

Adding PBS Storage in PVE#

Log in to the PVE Web interface:

  1. Navigate to Datacenter → Storage → Add → Proxmox Backup Server
  2. Fill in the configuration:
FieldValue
IDpbs-hetzner
ServerPBS server IP or domain name
Usernamedataguard@pbs
PasswordThe password set above
Datastorehetzner-backup
FingerprintSHA-256 fingerprint obtained from the PBS certificate page

Get Fingerprint

ADD Storage

Add Storage Success

  1. Click Add to complete the addition

Configuring VM Backup Tasks#

  1. Select the target node and go to the Backup tab
  2. Click Add to create a backup task

create backup

backup task

Basic Settings:

OptionRecommended Configuration
Storagepbs-hetzner
Schedule0 2 * * * (daily at 2<00> AM)
SelectionSelect VMs/CTs to backup
ModeSnapshot (recommended, zero downtime)
CompressionZSTD (balance between compression ratio and speed)
EncryptionEnable and set encryption key (optional but recommended)

Configuring Automatic Pruning Policy#

In the PBS Web interface, configure retention policies for the datastore:

  1. Go to Datastore → hetzner-backup → Prune & GC
  2. Click Add to create retention rules

Example Configuration (3-2-1 backup strategy variant):

Retention TypeCountDescription
Keep Daily7Keep daily backups for the last 7 days
Keep Weekly4Keep weekly backups for the last 4 weeks
Keep Monthly6Keep monthly backups for the last 6 months
  1. Enable Prune Jobs for automatic pruning execution

This configuration ensures:

  • Short-term recovery: Rollback to any day within the last 7 days
  • Medium-term recovery: Access weekly snapshots from the past 4 weeks
  • Long-term archiving: Retain monthly backups for 6 months for compliance or auditing

Part 6: Verification and Monitoring#

Testing the Backup Process#

  1. Manually trigger a backup task in PVE
  2. Observe task logs to confirm no errors
  3. Verify in the PBS Web interface that backup snapshots have been created

Testing the Restore Process#

Regular restore testing is a critical component of any backup strategy:

  1. In PBS, select a backup snapshot and click Restore
  2. Select the target PVE node and storage
  3. Execute the restore and verify the VM/CT starts normally

Monitoring and Alerting Recommendations#

  • Backup Task Notifications: Configure notification email in PVE to receive backup failure alerts
  • Storage Capacity Monitoring: Monitor object storage usage through Hetzner Console
  • PBS Metrics: Visit the Metrics page to view key indicators such as deduplication ratio and transfer rates

Summary#

Through this tutorial, you have successfully built a Proxmox Backup Server solution based on Hetzner CX33 and Object Storage. This architecture features:

  • Cost-effectiveness: CX33 instance + Object Storage, significantly lower than commercial backup solutions
  • Reliability: Hetzner Object Storage is based on distributed architecture with 99.9% availability SLA
  • Security: Supports TLS encryption in transit and client-side encryption for backup data
  • Automation: Complete scheduled backups and automatic pruning, reducing manual intervention

For production environments, further considerations are recommended:

  • Configure redundant PBS deployment or regular off-site replication
  • Enable backup encryption and securely store keys
  • Establish regular recovery drill mechanisms

Reference Resources#

Complete Guide to Deploying Proxmox Backup Server on Hetzner CX33 with Object Storage Integration
https://catcat.blog/en/2026/02/hetzner-cx33-proxmox-backup-server-object-storage
作者
猫猫博客
发布于
2026-02-04
许可协议
CC BY-NC-SA 4.0