S3 datastore · Off-site for PBS

Proxmox Backup Server: S3 off-site in Frankfurt

PBS deduplicates locally, the cheap off-site copy lives as S3 object storage in Frankfurt. Endpoint https://de-fra.i3storage.com, region de-fra, SigV4 — GDPR/DPA, 1 TB egress included per TB. From €2.49/TB.

Proxmox Backup Server S3: Off-site Target in Frankfurt
PBS datastore
Off-site S3
GDPR / DPA
Frankfurt DC
1 TB egress
incl. per TB

Local deduplication, a cheap off-site copy in Frankfurt

Proxmox Backup Server (PBS) is the deduplication hub of your Proxmox environment: Proxmox VE backs up VMs and containers via vzdump to PBS, while hosts and files land in the datastore through the proxmox-backup-client — chunk-based, deduplicated and incremental. What the local setup lacks is the spatially separated copy. intercolo i3 provides exactly that as S3-compatible object storage: you keep the fast, deduplicated datastore local and push an off-site copy to region de-fra via the endpoint https://de-fra.i3storage.com — no second data center, no tape robot, at 99.999999% durability, with data that never leaves the Frankfurt facility. Newer PBS versions address S3 object storage directly as a datastore backend; if you still run an older version, you reach the same goal via a sync job to an S3-backed datastore.

Set up S3 off-site for PBS: datastore & sync in 5 steps

1

Create a bucket in Frankfurt

First create a bucket for the off-site copy — via aws-cli against https://de-fra.i3storage.com in region de-fra (see the code below) or with any S3 tool. A dedicated bucket per environment keeps responsibilities and billing cleanly separated.

2

Store the S3 endpoint in PBS

In the PBS web interface under Configuration → S3 Endpoints, enter endpoint https://de-fra.i3storage.com, region de-fra and your access/secret key pair (SigV4). Access runs exclusively through these keys — no password login. TLS stays on and the certificate is valid.

3

Create the S3-backed datastore

Under Datastore → Add Datastore, create a datastore with backend S3 pointing at your bucket and specify a local cache directory. PBS stores the deduplicated chunks in the bucket and keeps metadata and cache local for snappy operations.

4

Sync job from the local datastore

Instead of backing up straight to S3, the recommended pattern is a local dedup datastore plus an off-site sync: set up a sync job that mirrors your local datastore (source) to the S3 datastore (target). Backup and restore stay fast locally while the distance copy flows automatically to Frankfurt. On older PBS versions without an S3 backend, the sync job points at a remote, S3-backed PBS in Frankfurt instead.

5

Schedule, prune & garbage collection

Set a schedule for the sync job (e.g. daily after the backup window) and define retention via the PBS prune policy (keep-daily/-weekly/-monthly/-yearly). Garbage collection then frees chunks that are no longer referenced — in the S3 datastore too. So PBS controls retention, not the storage.

S3 values, bucket creation & connection test

bash
# intercolo i3 — S3 values for the PBS off-site datastore:
#   Endpoint   : https://de-fra.i3storage.com
#   Region     : de-fra
#   Bucket     : pbs-offsite          (example)
#   Access key : <ACCESS_KEY>
#   Secret key : <SECRET_KEY>

# 1) Pre-create the bucket and check credentials (AWS CLI, SigV4):
aws --endpoint-url https://de-fra.i3storage.com \
    --region de-fra \
    s3 mb s3://pbs-offsite

# 2) Verify access (list bucket contents):
aws --endpoint-url https://de-fra.i3storage.com \
    --region de-fra \
    s3 ls s3://pbs-offsite --recursive --human-readable

# The S3 endpoint and S3 datastore themselves are created in the PBS web UI:
#   Configuration -> S3 Endpoints  (endpoint / region / access / secret)
#   Datastore -> Add Datastore -> Backend: S3  (with a local cache)

# 3) List datastores (local + S3-backed):
proxmox-backup-manager datastore list

# 4) Start garbage collection on the S3 datastore
#    (frees chunks that are no longer referenced after prune):
proxmox-backup-manager garbage-collection start pbs-offsite

# 5) Check GC status:
proxmox-backup-manager garbage-collection status pbs-offsite

Path-style: https://de-fra.i3storage.com/pbs-offsite · Virtual-hosted: https://pbs-offsite.de-fra.i3storage.com. The S3 endpoint and datastore are configured in the PBS web UI; the AWS CLI here only serves as a pre-check.

No storage-side Object Lock — plan the off-site copy correctly

Set expectations correctly: i3 Object Storage provides NO storage-side immutability (no Object Lock/WORM, no versioning). The S3 copy is therefore your spatially separated off-site copy under 3-2-1 (3 copies, 2 media, 1 off-site) — not a ransomware-proof vault. For hard immutability against encryption attacks, rely on a locally separated, strictly access-limited PBS datastore (own hardware, separate credentials, ideally with offline or verify windows) and use the S3 copy as the cheap distance backup. Client-side PBS encryption (below) adds a further layer: object storage then holds only encrypted chunks.

Dedup stays local, the distance copy stays cheap

PBS plays to its strength locally: chunk-based deduplication and incremental backups ensure only changed blocks are written — that saves storage and makes restores fast. That is exactly why the active datastore belongs on local, fast disks. Object storage takes on the other half of the 3-2-1 rule: the cheap, scalable copy in another location. Since PBS already deduplicates and (optionally) encrypts, only compact, unreadable chunks travel to Frankfurt. You pay for effectively used storage from €2.49 per TB/month — without the egress surprises of US hyperscalers, because 1 TB of egress is included per booked TB.

Dedup stays local, the distance copy stays cheap

Retention & operations: prune, GC, sync, verify

Prune schedules

How many restore points are kept and for how long is defined by the PBS prune policy (keep-last, keep-daily, keep-weekly, keep-monthly, keep-yearly). Prune marks expired snapshots — storage is only reclaimed by garbage collection.

Garbage collection

GC removes chunks no longer referenced by any snapshot. Schedule it regularly per datastore; on the S3 datastore it likewise clears objects that are no longer needed. That way used storage matches exactly what your retention dictates.

Sync job

The sync job keeps the S3 datastore up to date as an off-site mirror of the local datastore. It transfers only missing chunks (incremental) and can be scheduled after the backup window — the distance copy is created automatically, with no manual effort.

Verify

Verify jobs check chunk integrity by checksum. On the local datastore that is cost-neutral; on the S3 datastore verify reads data back and generates egress — schedule the frequency deliberately or verify primarily on the local datastore.

i3 vs. Wasabi vs. Backblaze B2 as a PBS off-site target

Wasabi Backblaze B2 intercolo i3
Location / data residency EU region selectable, US corporation EU region selectable, US corporation Frankfurt DC, 100% DE, GDPR/DPA
Endpoint s3.eu-central-*.wasabisys.com s3.eu-central-*.backblazeb2.com https://de-fra.i3storage.com (de-fra)
Egress model 'free' up to storage limit, then throttled 1 TB free/day, then per GB 1 TB incl./TB, then +€3.99/TB
Starting storage price List price US$/TB List price US$/TB €2.49/TB
Storage immutability Object Lock available Object Lock available No — off-site copy in 3-2-1
Support / contact Ticket, EN Ticket, EN Direct, German, DC team
Power varies varies 100% green power

Client-side PBS encryption instead of blind trust

i3 does not encrypt at rest — which is precisely why you should keep control yourself: PBS supports client-side encryption. Store an encryption key in Proxmox VE for the PBS storage (or in the proxmox-backup-client), and the chunks are encrypted BEFORE upload. Both the local and the S3 datastore then hold only unreadable ciphertext; the key never leaves your infrastructure. Transport is additionally secured by TLS. That is the clean path for sensitive data: no provider, us included, can read the backups. Store the key separately and redundantly — no key, no restore.

Client-side PBS encryption instead of blind trust

Egress transparency: restores and verify calculable in advance

The most expensive off-site backup mistake is the untested restore. US hyperscalers penalise every retrieval and every integrity run with egress fees. Here 1 TB of egress is included per booked TB of storage: you pull individual VMs, containers or files back from the S3 datastore and validate your recovery chain without the next invoice exploding. Restores and verify runs on the S3 datastore read chunks back and generate egress accordingly; traffic beyond that is billed transparently at +€3.99/TB — predictable, not surprising. Tip: for fast, cost-neutral recovery, reach for the local datastore first and use the S3 copy as the fallback when nothing remains locally.

Migrujeme vaše dáta za vás

Naše skúsenosti hovoria za seba: Úspešne sme dokončili migrácie zahŕňajúce viac petabajtov dát a viac ako 500 miliónov súborov.

500M+
files migrated
Petabytes
of data migrated
since 2006
in business

Stále máte otázky?

Newer PBS versions address S3-compatible object storage directly as a datastore backend: you create an S3 endpoint (https://de-fra.i3storage.com, region de-fra) and a datastore with a local cache on top of it. On older versions you reach the same goal via a sync job to a remote, S3-backed PBS in Frankfurt.
The recommendation is a local dedup datastore plus an off-site sync to S3. Backup and restore stay fast locally while a sync job mirrors the distance copy automatically to Frankfurt — the clean 3-2-1 pattern. Backing up straight to an S3 datastore is possible but slower and generates egress on every restore.
Not on the storage side (no Object Lock/WORM, no versioning). Use the S3 copy as the spatially separated off-site copy under 3-2-1. For hard anti-ransomware immutability, use a locally separated, strictly access-limited PBS datastore; retention itself is controlled via PBS prune and garbage collection.
Entirely via PBS: prune schedules (keep-daily/-weekly/-monthly/-yearly) determine which snapshots remain, and garbage collection then frees chunks no longer referenced — in the S3 datastore too. Used storage thus matches your PBS retention exactly.
The storage does not encrypt at rest; transport runs over TLS. For confidentiality, enable client-side PBS encryption: the chunks are encrypted before upload, the key stays with you, and only ciphertext lands in the bucket.
1 TB of egress is included per booked TB of storage — that covers regular restores and tests. Verify runs on the S3 datastore read data back and also generate egress; beyond that, traffic costs a predictable +€3.99/TB. If you want to save egress, verify primarily on the local datastore.
Both: path-style https://de-fra.i3storage.com/<bucket> and virtual-hosted https://<bucket>.de-fra.i3storage.com. For the aws-cli, --endpoint-url https://de-fra.i3storage.com with region de-fra is enough; PBS and most S3 clients pick the right addressing scheme automatically.
1 mesiac bezplatná skúšobná verzia

Vyskúšajte naše S3-kompatibilné úložisko 1 mesiac bezplatne.