在部署 Proxmox Backup Server (PBS) 时,一个常见的需求是:
将备份数据存储在独立的磁盘上(如 USB 磁盘)。这样即使系统盘损坏或需要更换设备,只要数据盘还在,就能快速恢复所有备份。本文将介绍完整的操作流程,包括挂载磁盘、配置 PBS,以及灾难恢复的方法。
背景与问题
在 PBS 的 Web 界面中新建 datastore 时,系统会要求目标目录必须为空,否则会提示:
Task failed
datastore path not empty
然而实际使用场景中,数据盘里往往已经有 PBS 生成的备份文件,我们需要的是“导入”而不是“清空”。解决方法是:手动修改 PBS 配置文件,让 PBS 直接识别已有的目录。
步骤 1:确认磁盘与文件系统
首先确认磁盘设备和文件系统类型:
lsblk
blkid
示例输出(已格式化为 ext4):
/dev/mapper/<your-volume>: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="ext4"
步骤 2:挂载磁盘
- 创建挂载点:
mkdir -p /your/mount/point
- 编辑
/etc/fstab,添加:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /your/mount/point ext4 defaults 0 2
- 测试挂载:
mount -a
df -h | grep /your/mount/point
确认挂载成功。
步骤 3:手动配置 PBS Datastore
因为 Web 界面不允许添加非空目录,我们需要直接修改 PBS 配置文件。
- 打开配置文件:
nano /etc/proxmox-backup/datastore.cfg
- 添加 datastore 定义:
datastore: my-backup
path /your/mount/point
说明:
my-backup是 datastore 名称,可自定义path填写挂载目录
- 保存并退出,重启 PBS 服务:
systemctl restart proxmox-backup
步骤 4:验证结果
进入 PBS Web 界面 → Datastore,即可看到新添加的 my-backup。
如果数据目录里已有 .chunks/ 和 index.json 等 PBS 文件结构,PBS 会自动识别并加载原有的备份快照。
灾难恢复流程
当系统盘损坏或需要更换设备时,可以通过以下流程快速恢复:
- 在新设备上安装 PBS
- 挂载旧的数据盘到相同目录(如
/your/mount/point) - 编辑
/etc/proxmox-backup/datastore.cfg,添加 datastore 配置 - 重启 PBS 服务
- 打开 Web 界面,原有的备份快照将自动显示
总结
通过以上方法,可以实现:
- 系统与数据分离:PBS 系统盘仅负责运行,数据盘独立保存备份
- 数据安全:即使系统损坏,数据盘仍可完整恢复
- 灵活性:数据盘可在不同设备上挂载使用,也可做异地保存
这种部署方式能大大提升 PBS 的可靠性和可维护性,是生产环境中值得推荐的实践。