🔰 引言
在虛擬化與雲端基礎架構中,備份 (Backup) 不僅是資料保護的最後防線,
更是系統可用性與營運持續的重要依據。
傳統的備份方案往往採用「完整 + 差異」方式,
造成儲存空間浪費、重複資料過多、還原速度慢。
Proxmox Backup Server (PBS) 則以全新的架構重新定義備份流程:
透過 增量備份 (Incremental Backup)、資料去重 (Deduplication)、壓縮與加密 (Compression / Encryption)
以及 完整驗證機制 (Verification),
在確保資料安全的同時,大幅降低儲存與傳輸成本。
🧩 一、PBS 架構概覽
架構示意圖
┌──────────────────────────────┐
│ Proxmox VE Cluster │
│ (VMs / CTs / Hosts / Nodes) │
└─────────────┬────────────────┘
│
Incremental Backup
│
┌──────────────────────────────┐
│ Proxmox Backup Server │
│ (Datastore + Verifier + API) │
└─────────────┬────────────────┘
│
Remote Sync / Cloud Tier
│
┌──────────────────────────────┐
│ Secondary PBS / Object Store │
└──────────────────────────────┘
整體架構由三層組成:
1️⃣ 來源端 (Client):Proxmox VE、Linux Host、或 PBS Client
2️⃣ 備份伺服器 (Server):執行實際備份、壓縮、去重與驗證
3️⃣ 同步層 (Sync / Remote):將資料複製至異地 PBS 或雲端
⚙️ 二、核心運作原理
1️⃣ Incremental Backup 增量備份
PBS 並非每次都備份整個磁碟映像,而是透過 Chunk-based Incremental 機制:
- 每個備份檔被分割成固定大小區塊 (Chunk),預設為 4 MiB。
- 系統以區塊雜湊值 (SHA-256) 判斷是否為新資料。
- 若區塊已存在於資料庫,則不重複儲存,只記錄索引指向。
✅ 優點:大幅減少空間使用與網路傳輸量。
2️⃣ Deduplication 資料去重
PBS 將所有備份的區塊雜湊值儲存在一個全域的 索引資料庫 (Datastore Index)。
因此,不僅同一台 VM 的重複區塊不會重複儲存,
連多台 VM 間相同的資料也只存一次。
這意味著:
- 多版本共用相同區塊,節省儲存空間。
- 還原時直接重組所需區塊,效能極佳。
📦 Deduplication 是 PBS 的核心技術,使其能在 TB 級資料下仍保持高效。
3️⃣ Compression 壓縮
PBS 預設採用 ZSTD 壓縮演算法,在效能與壓縮比之間取得平衡。
壓縮在傳輸與儲存階段皆會自動進行,無需額外設定。
備份過程中即時壓縮,可顯著減少磁碟 I/O 負擔。
4️⃣ Encryption 加密
PBS 支援 client-side encryption:
- 加密動作在客戶端 (Proxmox VE) 進行。
- 伺服器端僅存放加密後資料,無法直接解密。
- 使用 AES-256-GCM 加密演算法,安全性極高。
這使得 PBS 能安全地作為異地備份伺服器或雲端同步節點。
5️⃣ Verification 驗證機制
PBS 內建 Verify Job 功能,可定期比對:
- 資料索引 (index.json)
- 區塊校驗碼 (Chunk Hash)
- 儲存庫一致性 (Datastore Integrity)
若發現資料遺失或錯誤,PBS 會即時標記損壞區塊,並可重新同步修復。
🧠 三、備份與還原流程說明
🌀 備份流程 (Backup Workflow)
[Client VM/CT]
↓
Chunk-based backup
↓
[Proxmox VE Backup Daemon (vzdump)]
↓
Network Stream (ZSTD + AES)
↓
[PBS Datastore]
↓
Indexed, deduplicated, stored
步驟簡述:
1️⃣ 客戶端執行備份任務 (透過 vzdump 或 pve-backup)。
2️⃣ 系統將映像分塊、壓縮、加密。
3️⃣ 傳送至 PBS Server,進行 dedup 與索引儲存。
4️⃣ 寫入完成後更新快照記錄,並標示為一個「Snapshot Set」。
🔁 還原流程 (Restore Workflow)
[PBS Datastore]
↓
Index Lookup + Chunk Mapping
↓
Data Decompression + Decryption
↓
[Proxmox VE / Host Target]
↓
Rebuild Image / Container
PBS 不需解壓整份備份檔,而是直接重組必要區塊。
這讓還原速度比傳統映像型備份快上數倍。
🧮 四、資料結構與儲存格式
PBS 儲存結構簡潔明確:
/mnt/datastore/
└── vm-101/
├── 2024-12-25T00:00:00Z/
│ ├── index.json
│ ├── drive-scsi0.img.fidx
│ └── chunks/
├── 2024-12-26T00:00:00Z/
│ ├── index.json
│ └── drive-scsi0.img.fidx
index.json:描述整份備份的區塊結構.fidx:每個磁碟映像的區塊索引檔chunks/:實際的資料區塊
PBS 可同時管理多個 Datastore,並支援不同的備份週期與保留策略。
☁️ 五、異地同步與多站備援
PBS 內建 Sync Job 功能,可定期將 Datastore 複製至遠端 PBS:
proxmox-backup-manager sync-job create \
--source local-pbs \
--remote remote-pbs@10.0.1.10:8007 \
--store pbs-remote
也可整合 Ceph 或 S3-compatible Object Storage 進行雲端備援。
✅ 異地 PBS 間採用增量同步,僅傳輸新區塊,節省頻寬。
🔒 六、安全與權限管理
PBS 採用與 Proxmox 相同的權限模型:
- Role-Based Access Control (RBAC)
- API Token / LDAP / 2FA 支援
- Audit Log 記錄所有操作
- TLS 加密傳輸 確保備份過程安全
📊 七、效能與優化建議
| 項目 | 建議做法 |
|---|---|
| 儲存類型 | 採用 ZFS RAIDZ2 或 Mirror Pool |
| 網路頻寬 | 建議使用 10GbE 或以上 |
| 備份週期 | 日增量 + 週驗證 |
| Chunk 大小 | 預設 4 MiB 已為平衡設定 |
| Verify Job | 每週執行 1 次完整驗證 |
| Dedup Index Cache | 建議使用 SSD 加速 |
✅ 結語
Proxmox Backup Server 以獨特的區塊化增量備份與去重設計,
突破了傳統備份架構的瓶頸。
它兼具:
- 高效能(ZSTD 壓縮 + Incremental 傳輸)
- 高可靠性(Checksum 驗證 + Dedup 儲存)
- 高安全性(Client-side AES 加密 + RBAC 權限)
在結合 ZFS 儲存池 或 Ceph 物件儲存 時,
PBS 更能構成完整的混合備援架構,
成為企業級 IT 架構中不可或缺的資料防線。
💬 下一篇將介紹:
「Proxmox Backup Server 效能調校與最佳化實務」,
包含多線程調整、ZFS 快取設定、及 Verify Job 自動化排程技巧。