PVE三部曲之三:备份和还原

年我的HomeLab发生过两起安全事故:

这两起事件给我好好上了一课,让我明白备份的重要性。

目录

✅数字时代的备份

在数字时代,我们对于数据的存储已经不再依赖纸和笔,也不再停留在磁带和光盘,而是:

以固态芯片、云计算和全球分布式数据中心为核心的数字化存储方式,让信息随时随地被访问、同步与处理。

让师爷给翻译翻译这些惊喜。

yeah

  • 固态芯片:固态芯片(比如 SSD、U 盘、手机存储)用的是闪存(NAND Flash)来保存数据。

    📌 简单理解:固态芯片就是现代电子设备的“数字笔记本”。

  • 云计算:别人建立的各种云服务,iCloud、夸克网盘、OneDrive之类的云盘,或者SharePoint,Teams之类的工作云盘。

    📌 简单理解:云计算就是“把数据存到互联网上的大仓库,由专业人员帮你打理”。

  • 全球分布式数据中心:全球大公司(阿里云、腾讯云、AWS、微软 Azure)在世界各地建的数据中心,企业级的方案。

    📌 简单理解:全球分布式数据中心就是“遍布世界的大型数据仓库网络”,为全世界提供高速、可靠的数据存储。

既然已经搞清了数据时代的备份方式,那么我首先排除了分布式的数据中心

并不是它们不好用,而是我一个小小的HomeLab,配么?应该不配吧。肯定不配啊。

yeah

🔹云计算方案的实施

首先我考虑的就是云计算的方案,因为如果将备份文件从本地上传到云端,例如OneDrive之类的,不仅可以节省本地的磁盘资源,还可以通过Rclone定期地去进行增量的备份,一劳永逸。

在和ChatGPT简单的沟通方案之后,我决定按照AI的指示进行云计算方案的备份。

yeah

做的过程比较复杂,但是我也不准备说,因为最后我并没有采用这种方式。

原因如下:

  • PBS的备份文件是index文件.chunk文件,碎片化很严重,一个虚机大概能产生十几万左右的碎片文件。我有300G左右的备份数据,大概40万个碎片文件。

  • Rclone在处理这些碎片文件的时候非常困难。首先OneDrvie的接口会触发429的API限制,其次碎片文件对于本地磁盘的读写非常频繁,300G左右的备份大概需要持续读写50小时。

  • 由于长时间的读写,本地磁盘会出现IO delay,会影响其他服务的性能。这是不能接受的。

虽然最终可以完成备份,但是长达50个小时的备份,任谁都受不了。这种方案肯定是不能接受的。

🔹本地方案的实施

继续和ChatGPT轮询:

yeah

AI给出了新的建议,但为啥不在一开始就给出正确的方案呢?

我看了看我之前的询问,终于发现了原因。

yeah

yeah

🔹备份和恢复

目前的情况是:

  • PBS1(主服务器):在线运行、定期备份 PVE 容器/虚拟机;
  • PBS2(离线备份机):平时关机或不联网,只在需要时开机同步一次最新备份。

这个方案非常稳健,也节能安全,特别适合家庭实验室、低频灾备场景。

🧱原理

PBS 同步任务(Sync Job)不要求两台服务器长期在线。 它只是执行时连接目标 PBS,把缺的 .chunks 块复制过去。 所以我可以:

“PBS2 平时离线 → 插上网线 → 启动 → 运行 Sync Job → 再关机”

PBS 会自动对齐索引并增量同步。

⚙️配置方法

1️⃣ 在 PBS1 上设置 Remote

在 PBS1 的 Web UI:

  • 打开 Configuration → Remotes → Add

填写:

  • Name: pbs2_remote

  • Server: https://192.168.3.x:8007(PBS2的管理地址)

  • Username: root@pam

  • Password : API Token: 输入 PBS2 的凭据

  • Fingerprint: 首次连接会显示指纹,确认保存

2️⃣ 在 PBS1 上创建 Sync Job

Configuration → Sync Jobs → Add

  • Remote: pbs2_remote

  • Remote Datastore: PBS2 上的目标目录(比如 pbs_disk)

  • Local Datastore: PBS1 的主存储(pbs_disk)

  • Direction: Push

  • Schedule: 留空(因为你要手动执行)

  • Prune / Remove vanished: 可选(建议关闭以防误删)

保存。

3️⃣ 手动同步流程(离线备份)

每次我想冷备份时:

  1. 启动 PBS2(确保和 PBS1 网络互通)

  2. 在 PBS1 Web 界面:

    • 进入 Sync Jobs

    • 选中你刚建的任务 → 点 “Run Now”

  3. 等待同步完成

  4. PBS2 关机、拔掉硬盘或下线

📦 PBS2 会保存一份完整的、可恢复的副本。

📤恢复也非常方便

以后如果 PBS1 坏了或丢失:

  • 直接启动 PBS2;

  • 它已经有完整的 datastore;

  • 任何 PBS 客户端都可以直接恢复备份。

也就是说:

PBS2 不需要长期联机,它是一份可即插即用的“冷镜像”。

🧩同步性能与效率

冷备方式性能非常高,因为:

  • PBS 内部会识别哪些 .chunks 已存在;

  • 只同步新增块;

  • 同步时可断点续传;

  • 数据结构原生兼容,恢复无风险。

所以即使你隔三个月才备份,也不会重复传输所有数据。

放一张增量备份的时间图:

yeah

300个G的备份内容,20分钟就完成增量备份了。

yeah

💖后记

至此,《PVE 三部曲》终于画上句号。

回头看看这三篇文章,其实讲的并不是高深的技术,而是一个 HomeLab 玩家从“能用”“好用”再到“放心用”的心路历程。

我的 PVE 不只是一个虚拟化平台,而是一个家庭级的数据中心。

三部曲完工,但 HomeLab 的故事还远没结束。最近试了试飞牛OS,感觉是个半成品,还不配加入我的HomeLab豪华套餐。

另外就是以后干活得带眼睛。

yeah

PVE三部曲之二:QEMU Guest Agent的用法