2168 字
11 分钟

Hetzner CX33 部署 Proxmox Backup Server 并集成对象存储完整指南

引言#

在现代数据中心管理中,数据备份是确保业务连续性和灾难恢复能力的核心环节。Proxmox Virtual Environment (PVE) 作为开源虚拟化平台的佼佼者,配合其官方推出的 Proxmox Backup Server (PBS),能够构建一套完整、高效且经济的企业级备份解决方案。

本教程将详细介绍如何在 Hetzner Cloud 的 CX33 实例上部署 Proxmox Backup Server,利用 Hetzner 对象存储作为高性价比的后端存储,并与现有的 Proxmox VE 环境无缝集成,实现自动化的备份与保留策略。

为什么选择 Proxmox Backup Server#

Proxmox Backup Server 是专为 PVE 环境设计的备份解决方案,相比传统的文件级备份工具,它具有以下显著优势:

特性说明
增量备份基于变长块去重技术,仅传输和存储变化的数据块,显著降低存储占用和备份时间
端到端加密支持客户端加密,确保备份数据在传输和存储过程中的安全性
压缩支持内置 Zstandard 压缩算法,在 CPU 开销和压缩率之间取得良好平衡
自动保留策略灵活的备份保留规则,支持按时间维度(日/周/月/年)自动清理过期备份
PVE 原生集成与 Proxmox VE 深度集成,支持一键备份/恢复,无需额外配置

第一部分:创建 Hetzner CX33 服务器#

实例规格选择#

Hetzner CX33 是一款性价比极高的云服务器,其规格如下:

  • vCPU: 4 核(Intel Xeon 或 AMD EPYC)
  • 内存: 8 GB
  • 存储: 80 GB SSD
  • 网络: 1 Gbps 带宽,20 TB 月流量
  • 价格: 约 4.99 欧元/月

对于中小型 PVE 环境的备份需求,CX33 的性能完全足够。PBS 本身对计算资源要求不高,主要依赖内存进行去重索引,8GB 内存可以支持数 TB 级别的备份存储。

创建步骤#

  1. 登录 Hetzner Cloud Console
  2. 选择项目,点击 “Add Server”
  3. 选择 Location(建议选择与 PVE 主机相同的区域以降低延迟)
  4. 选择 Type: CX33
  5. 选择 Image: Debian 13 (Trixie)
  6. 配置 SSH Key 或密码认证
  7. 确认防火墙规则,确保 8007 端口可访问
  8. 创建服务器并记录分配的 IP 地址

firewall

第二部分:安装 Proxmox Backup Server#

通过 SSH 连接到新创建的 CX33 服务器,执行以下安装步骤:

添加 Proxmox 软件源#

添加 Proxmox GPG 密钥和软件源
# 下载并添加 Proxmox 发行版签名密钥
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-trixie.gpg
# 添加 PBS 社区版软件源(无订阅)
echo "deb http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" | \
sudo tee /etc/apt/sources.list.d/proxmox-backup-server.list

安装软件包#

更新软件包列表并安装 PBS
sudo apt update && sudo apt install proxmox-backup -y

安装过程中,系统会提示配置 Postfix 邮件传输代理。如果您尚未配置邮件发送策略,建议暂时选择 “No configuration”,后续可通过 dpkg-reconfigure postfix 重新配置。

Postfix

访问 Web 管理界面#

安装完成后,PBS 服务将自动启动。通过浏览器访问:

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

pbs

首次访问时会遇到 SSL 证书警告,这是因为 PBS 使用自签名证书。添加安全例外后即可进入登录页面。默认使用 Linux 系统用户 root 及其密码登录。

第三部分:配置 Hetzner 对象存储#

Hetzner 对象存储是基于 S3 兼容 API 的高性价比存储服务,价格仅为 €0.006/GB/月,非常适合作为 PBS 的远程存储后端。

创建对象存储桶#

  1. 进入 Hetzner Cloud Console
  2. 导航至左侧菜单的 Object Storage
  3. 选择 Locations 标签,启用所需区域(如 hel1、fsn1 或 nbg1)
  4. 点击 Create Bucket,输入桶名称(如 proxmox-backups
  5. 记录桶的 Endpoint URL 格式:https://<bucket-name>.<region>.your-objectstorage.com

Available endpoints

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

object-storage

生成访问密钥#

  1. 在 Object Storage 页面,切换到 Credentials 标签
  2. 点击 S3 Credentials
  3. 输入描述(如 PBS-Access
  4. 复制生成的 Access KeySecret Key

S3 Credentials

密钥安全

Secret Key 仅在创建时显示一次,请妥善保存。如遗失,需要重新生成新的凭证。

第四部分:PBS 配置对象存储集成#

创建 S3 端点配置#

登录 PBS Web 界面,按以下步骤配置:

  1. 导航至 Configuration → S3 Endpoints
  2. 点击 Add 按钮

填写端点配置:

字段说明
S3 Endpoint IDhetzner-obsPBS 内部标识符,可自定义
Endpointhttps://<region>.your-objectstorage.com用上面默认的
Regionhel1 / fsn1 / nbg1根据创建桶时选择的区域填写
Access KeyYOUR_ACCESS_KEY从 Credentials 页面获取
Secret KeyYOUR_SECRET_KEY从 Credentials 页面获取
  1. 展开 Advanced 选项
  2. Provider Quirks 设置为 Skip

Create S3 Endpoint

Provider Quirks 说明

Hetzner 对象存储在某些 S3 API 实现上与 AWS S3 存在细微差异。启用 “Skip” quirks 可以确保 PBS 正确处理这些差异,避免备份操作失败。

创建数据存储#

配置好 S3 端点后,创建实际的数据存储:

  1. 导航至 Datastore 菜单
  2. 点击 Add Datastore
  3. 填写配置:
字段
Namehetzner-backup(可自定义)
TypeS3
Local Path/var/lib/proxmox-backup/s3-cache(本地缓存目录)
S3 Endpoint选择刚才创建的 hetzner-pbs
Bucket下拉选择自动识别的存储桶

Create Datastore

  1. 点击 Add 完成创建

PBS 会在本地维护一个缓存层,用于存储去重索引和最近访问的数据块,从而减少对对象存储的 API 调用次数,提升备份和恢复性能。

Cache

第五部分:PVE 集成与备份配置#

创建 PBS 备份用户#

为了遵循最小权限原则,建议为 PVE 连接创建专用用户:

  1. 在 PBS 中,导航至 Configuration → Access Control → User Management
  2. 点击 Add
  3. 填写用户信息:
    • User name: dataguard
    • Realm: pbs(本地认证)
  4. 设置强密码并记录

配置用户权限#

  1. 进入 Permissions 标签
  2. 点击 Add → User Permission
  3. 配置:
    • Path: /hetzner-backup(选择创建的数据存储)
    • User: dataguard@pbs
    • Role: DatastoreBackup

此角色允许用户创建、读取和删除备份,但无法修改 PBS 系统配置。

在 PVE 中添加 PBS 存储#

登录 PVE Web 界面:

  1. 导航至 Datacenter → Storage → Add → Proxmox Backup Server
  2. 填写配置:
字段
IDpbs-hetzner
ServerPBS 服务器 IP 或域名
Usernamedataguard@pbs
Password上述设置的密码
Datastorehetzner-backup
Fingerprint从 PBS 证书页面获取的 SHA-256 指纹

Get Fingerprint

ADD Storage

Add Storage Success

  1. 点击 Add 完成添加

配置虚拟机备份任务#

  1. 选择目标节点,进入 Backup 标签
  2. 点击 Add 创建备份任务

create backup

backup task

基本设置:

选项推荐配置
Storagepbs-hetzner
Schedule0 2 * * *(每天凌晨 2 点)
Selection选择需要备份的 VM/CT
ModeSnapshot(推荐,零停机)
CompressionZSTD(平衡压缩率和速度)
Encryption启用并设置加密密钥(可选但推荐)

配置自动修剪策略#

在 PBS Web 界面中,为数据存储配置保留策略:

  1. 进入 Datastore → hetzner-backup → Prune & GC
  2. 点击 Add 创建保留规则

示例配置(3-2-1 备份策略变体):

保留类型数量说明
Keep Daily7保留最近 7 天的每日备份
Keep Weekly4保留最近 4 周的每周备份
Keep Monthly6保留最近 6 个月的每月备份
  1. 启用 Prune Jobs 自动执行修剪

此配置确保:

  • 短期恢复:可回滚到最近 7 天内的任意一天
  • 中期恢复:可获取过去 4 周的周级快照
  • 长期归档:保留 6 个月的月度备份用于合规或审计

第六部分:验证与监控#

测试备份流程#

  1. 在 PVE 中手动触发一次备份任务
  2. 观察任务日志,确认无错误
  3. 在 PBS Web 界面中验证备份快照已创建

测试恢复流程#

定期进行恢复测试是备份策略的关键环节:

  1. 在 PBS 中选择备份快照,点击 Restore
  2. 选择目标 PVE 节点和存储
  3. 执行恢复并验证虚拟机/容器可正常启动

监控与告警建议#

  • 备份任务通知: 在 PVE 中配置通知邮箱,接收备份失败告警
  • 存储容量监控: 通过 Hetzner Console 监控对象存储使用量
  • PBS 指标: 访问 Metrics 页面查看去重率、传输速率等关键指标

总结#

通过本教程,您已成功构建了一套基于 Hetzner CX33 和对象存储的 Proxmox Backup Server 解决方案。该架构具有以下特点:

  • 成本效益: CX33 实例+ 对象存储,远低于商业备份方案
  • 可靠性: Hetzner 对象存储基于分布式架构,提供 99.9% 的可用性 SLA
  • 安全性: 支持传输层 TLS 加密和备份数据客户端加密
  • 自动化: 完整的定时备份和自动修剪,减少人工干预

对于生产环境,建议进一步考虑:

  • 配置 PBS 的冗余部署或定期异地复制
  • 启用备份加密并安全保管密钥
  • 建立定期的恢复演练机制

参考资源#

Hetzner CX33 部署 Proxmox Backup Server 并集成对象存储完整指南
https://catcat.blog/2026/02/hetzner-cx33-proxmox-backup-server-object-storage
作者
猫猫博客
发布于
2026-02-04
许可协议
CC BY-NC-SA 4.0