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 级别的备份存储。
创建步骤
- 登录 Hetzner Cloud Console
- 选择项目,点击 “Add Server”
- 选择 Location(建议选择与 PVE 主机相同的区域以降低延迟)
- 选择 Type: CX33
- 选择 Image: Debian 13 (Trixie)
- 配置 SSH Key 或密码认证
- 确认防火墙规则,确保 8007 端口可访问
- 创建服务器并记录分配的 IP 地址

第二部分:安装 Proxmox Backup Server
通过 SSH 连接到新创建的 CX33 服务器,执行以下安装步骤:
添加 Proxmox 软件源
# 下载并添加 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安装软件包
sudo apt update && sudo apt install proxmox-backup -y安装过程中,系统会提示配置 Postfix 邮件传输代理。如果您尚未配置邮件发送策略,建议暂时选择 “No configuration”,后续可通过 dpkg-reconfigure postfix 重新配置。

访问 Web 管理界面
安装完成后,PBS 服务将自动启动。通过浏览器访问:
https://<your-server-ip>:8007
首次访问时会遇到 SSL 证书警告,这是因为 PBS 使用自签名证书。添加安全例外后即可进入登录页面。默认使用 Linux 系统用户 root 及其密码登录。
第三部分:配置 Hetzner 对象存储
Hetzner 对象存储是基于 S3 兼容 API 的高性价比存储服务,价格仅为 €0.006/GB/月,非常适合作为 PBS 的远程存储后端。
创建对象存储桶
- 进入 Hetzner Cloud Console
- 导航至左侧菜单的 Object Storage
- 选择 Locations 标签,启用所需区域(如 hel1、fsn1 或 nbg1)
- 点击 Create Bucket,输入桶名称(如
proxmox-backups) - 记录桶的 Endpoint URL 格式:
https://<bucket-name>.<region>.your-objectstorage.com
Available endpoints
| Location | Endpoint |
|---|---|
| Falkenstein | fsn1.your-objectstorage.com |
| Nuremberg | nbg1.your-objectstorage.com |
| Helsinki | hel1.your-objectstorage.com |

生成访问密钥
- 在 Object Storage 页面,切换到 Credentials 标签
- 点击 S3 Credentials
- 输入描述(如
PBS-Access) - 复制生成的 Access Key 和 Secret Key

密钥安全Secret Key 仅在创建时显示一次,请妥善保存。如遗失,需要重新生成新的凭证。
第四部分:PBS 配置对象存储集成
创建 S3 端点配置
登录 PBS Web 界面,按以下步骤配置:
- 导航至 Configuration → S3 Endpoints
- 点击 Add 按钮
填写端点配置:
| 字段 | 值 | 说明 |
|---|---|---|
| S3 Endpoint ID | hetzner-obs | PBS 内部标识符,可自定义 |
| Endpoint | https://<region>.your-objectstorage.com | 用上面默认的 |
| Region | hel1 / fsn1 / nbg1 | 根据创建桶时选择的区域填写 |
| Access Key | YOUR_ACCESS_KEY | 从 Credentials 页面获取 |
| Secret Key | YOUR_SECRET_KEY | 从 Credentials 页面获取 |
- 展开 Advanced 选项
- 将 Provider Quirks 设置为 Skip

Provider Quirks 说明Hetzner 对象存储在某些 S3 API 实现上与 AWS S3 存在细微差异。启用 “Skip” quirks 可以确保 PBS 正确处理这些差异,避免备份操作失败。
创建数据存储
配置好 S3 端点后,创建实际的数据存储:
- 导航至 Datastore 菜单
- 点击 Add Datastore
- 填写配置:
| 字段 | 值 |
|---|---|
| Name | hetzner-backup(可自定义) |
| Type | S3 |
| Local Path | /var/lib/proxmox-backup/s3-cache(本地缓存目录) |
| S3 Endpoint | 选择刚才创建的 hetzner-pbs |
| Bucket | 下拉选择自动识别的存储桶 |

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

第五部分:PVE 集成与备份配置
创建 PBS 备份用户
为了遵循最小权限原则,建议为 PVE 连接创建专用用户:
- 在 PBS 中,导航至 Configuration → Access Control → User Management
- 点击 Add
- 填写用户信息:
- User name:
dataguard - Realm:
pbs(本地认证)
- User name:
- 设置强密码并记录
配置用户权限
- 进入 Permissions 标签
- 点击 Add → User Permission
- 配置:
- Path:
/hetzner-backup(选择创建的数据存储) - User:
dataguard@pbs - Role: DatastoreBackup
- Path:
此角色允许用户创建、读取和删除备份,但无法修改 PBS 系统配置。
在 PVE 中添加 PBS 存储
登录 PVE Web 界面:
- 导航至 Datacenter → Storage → Add → Proxmox Backup Server
- 填写配置:
| 字段 | 值 |
|---|---|
| ID | pbs-hetzner |
| Server | PBS 服务器 IP 或域名 |
| Username | dataguard@pbs |
| Password | 上述设置的密码 |
| Datastore | hetzner-backup |
| Fingerprint | 从 PBS 证书页面获取的 SHA-256 指纹 |



- 点击 Add 完成添加
配置虚拟机备份任务
- 选择目标节点,进入 Backup 标签
- 点击 Add 创建备份任务


基本设置:
| 选项 | 推荐配置 |
|---|---|
| Storage | pbs-hetzner |
| Schedule | 0 2 * * *(每天凌晨 2 点) |
| Selection | 选择需要备份的 VM/CT |
| Mode | Snapshot(推荐,零停机) |
| Compression | ZSTD(平衡压缩率和速度) |
| Encryption | 启用并设置加密密钥(可选但推荐) |
配置自动修剪策略
在 PBS Web 界面中,为数据存储配置保留策略:
- 进入 Datastore → hetzner-backup → Prune & GC
- 点击 Add 创建保留规则
示例配置(3-2-1 备份策略变体):
| 保留类型 | 数量 | 说明 |
|---|---|---|
| Keep Daily | 7 | 保留最近 7 天的每日备份 |
| Keep Weekly | 4 | 保留最近 4 周的每周备份 |
| Keep Monthly | 6 | 保留最近 6 个月的每月备份 |
- 启用 Prune Jobs 自动执行修剪
此配置确保:
- 短期恢复:可回滚到最近 7 天内的任意一天
- 中期恢复:可获取过去 4 周的周级快照
- 长期归档:保留 6 个月的月度备份用于合规或审计
第六部分:验证与监控
测试备份流程
- 在 PVE 中手动触发一次备份任务
- 观察任务日志,确认无错误
- 在 PBS Web 界面中验证备份快照已创建
测试恢复流程
定期进行恢复测试是备份策略的关键环节:
- 在 PBS 中选择备份快照,点击 Restore
- 选择目标 PVE 节点和存储
- 执行恢复并验证虚拟机/容器可正常启动
监控与告警建议
- 备份任务通知: 在 PVE 中配置通知邮箱,接收备份失败告警
- 存储容量监控: 通过 Hetzner Console 监控对象存储使用量
- PBS 指标: 访问 Metrics 页面查看去重率、传输速率等关键指标
总结
通过本教程,您已成功构建了一套基于 Hetzner CX33 和对象存储的 Proxmox Backup Server 解决方案。该架构具有以下特点:
- 成本效益: CX33 实例+ 对象存储,远低于商业备份方案
- 可靠性: Hetzner 对象存储基于分布式架构,提供 99.9% 的可用性 SLA
- 安全性: 支持传输层 TLS 加密和备份数据客户端加密
- 自动化: 完整的定时备份和自动修剪,减少人工干预
对于生产环境,建议进一步考虑:
- 配置 PBS 的冗余部署或定期异地复制
- 启用备份加密并安全保管密钥
- 建立定期的恢复演练机制