跳转到内容

PBS 安装实战

上一篇 PBS 简介 讲了「为什么」。这篇动手:装一台 PBS、接入 PVE、配置定时备份,并完成一次恢复演练。

形态 适合 说明
独立物理机 生产环境 与 PVE 物理隔离,可靠性最高
PVE 里的一台虚拟机 Homelab / 起步 ⚠️ 别把 PBS 虚拟机放在它要备份的那个节点上;存储用独立磁盘直通
NAS / 服务器上的服务 已有强 NAS 官方软件源可直接安装到 Debian

容量估算:去重后空间通常远小于「所有虚拟机磁盘之和」,但建议至少留 2 倍于最大单台虚拟机数据量。Datastore 底层推荐 ZFS + SSD(元数据随机 IO 多,机械盘会明显拖慢备份)。

  1. 从官方下载页获取 ISO,制作启动盘(方法同 PVE 安装);
  2. 安装流程与 PVE 几乎一致:目标磁盘、国家时区、root 密码、管理网络(FQDN 如 pbs.example.com);
  3. 完成后浏览器访问 https://<IP>:8007(注意 PBS 端口是 8007,PVE 是 8006);
  4. 配置软件源(未订阅):节点 Shell:
终端窗口
# PBS 4.x 基于 Debian 13 trixie
echo "deb [arch=amd64] http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" \
> /etc/apt/sources.list.d/pbs-no-subscription.list
apt update && apt full-upgrade -y

Datastore 是 PBS 存放备份的逻辑单元(内部是数据块仓库 + 索引):

  1. PBS 界面:管理 → 存储与 Datastore → 添加;
  2. 名称如 main,路径如 /backup/main;
  3. 建议路径落在独立的 ZFS dataset 上(例如 /tank/main),便于配额与快照。

第 1 步:在 PBS 上准备凭据与指纹

Section titled “第 1 步:在 PBS 上准备凭据与指纹”
  • 建议创建专用 API Token:管理 → 用户与令牌 → API 令牌,例如用户 backup@pam(勾选无过期);
  • 记录 指纹:仪表盘右下角直接显示,或:
终端窗口
proxmox-backup-manager cert info | grep Fingerprint

PVE 界面:数据中心 → 存储 → 添加 → Proxmox Backup Server:

  • ID:pbs-main;
  • 服务器:PBS 的 IP(如 192.168.1.20);
  • 用户名:backup@pam + 密码(或令牌名);
  • Datastore:main;
  • 指纹:粘贴上一步的值。

指纹不匹配会报证书错误——每次重装 PBS 后指纹都会变,记得更新。

添加成功后,PVE 的存储列表里出现 pbs-main,备份目的地多了一个选项。

  • 单次备份:选中虚拟机 → 备份 → 存储选 pbs-main → 备份;

  • 定时任务:数据中心 → 备份 → 添加:

    • 计划:如每天 02:00;
    • 选择模式:所有/选定虚拟机; 保留策略:
    保留每日 7 份、每周 4 份、每月 6 份

    即可回溯一周内任意一天、一个月内每周、半年内每月的状态,去重让这 17 份备份的实际占用远小于想象。

没做过恢复的备份不算备份。 PBS 提供三个层次的演练:

  1. 备份验证(Verify):Datastore → 内容 → Verify,校验数据块完整性。建议在 PBS 的 计划任务 中添加每日 Verify;
  2. 文件级恢复:PVE 中选中虚拟机 → 备份 → 选一个备份点 → 文件恢复,直接在浏览器里浏览/下载虚拟机内的单个文件(Linux 开箱即用);
  3. 整机恢复:备份 → 恢复,可恢复为原 ID(覆盖)或新建虚拟机。

建议每季度挑一台非关键虚拟机做一次整机恢复演练,确认流程可用、耗时心中有数。

删除/过期清理掉的备份,其数据块可能仍被其他备份引用,空间不会立刻释放。需要定期运行垃圾回收:

  • 界面:Datastore → Prune & GC,或直接在 PBS 计划任务 里添加每周一次 GC;
  • 命令行等价:proxmox-backup-gc。
症状 排查
添加存储报证书错误 指纹是否最新(重装过 PBS?)
备份极慢 Datastore 是否机械盘?网络是否千兆瓶颈?
空间没释放 跑一次 GC;检查保留策略配置
备份中断 看 PBS 端任务日志;虚拟机快照失败常见于磁盘满或代理干扰