Skip to content

Nuface Blog

隨意隨手記 Casual Notes

Menu
  • Home
  • About
  • Services
  • Blog
  • Contact
  • Privacy Policy
  • Login
Menu

Proxmox Backup Server 在多站點備援架構中的應用與自動化設計

Posted on 2025-11-032025-11-03 by Rico

🔰 引言

隨著企業 IT 架構逐漸走向 多據點分佈 (Multi-site) 與 雲端混合化 (Hybrid Cloud),
如何在不同地區之間保持資料一致性、確保災難發生時能快速復原,
成為資訊部門的核心挑戰之一。

Proxmox Backup Server (PBS) 除了可作為本地備份解決方案外,
透過其內建的 Sync Job、遠端儲存 (Remote Store)、與 自動化 API 設計,
可輕鬆擴展成 多站點備援架構,實現真正的 資料韌性 (Data Resilience) 與 自動化災難復原 (Auto-DR)。


🧩 一、典型多站點架構設計

架構圖概念

             ┌───────────────────────────────┐
             │     Site A (Primary Site)     │
             │ Proxmox VE + PBS + ZFS/NVMe   │
             └──────────────┬────────────────┘
                            │  Incremental Sync
                            │
             ┌──────────────┴────────────────┐
             │     Site B (DR / Secondary)   │
             │ PBS + Ceph Object Storage     │
             └──────────────┬────────────────┘
                            │
               Optional Cloud Tier Replication
                            │
             ┌──────────────┴────────────────┐
             │     Site C (Cloud Archive)    │
             │ S3 / Backblaze / Wasabi / GCP │
             └───────────────────────────────┘

三層設計:

1️⃣ 主站 (Site A):執行主要生產系統與本地 PBS 備份。
2️⃣ 備援站 (Site B):同步 Site A 備份資料,具自動切換與復原能力。
3️⃣ 雲端層 (Site C):長期保存、異地災難歸檔。


⚙️ 二、核心功能:PBS Sync Job 運作機制

PBS 的多站同步核心是 Sync Job,
可在不同 PBS 之間執行「增量式同步 (Incremental Replication)」。

特點:

  • 只傳輸新區塊 (Chunk),節省頻寬
  • 支援壓縮與加密傳輸
  • 可設定自動排程與重試
  • 可與 Verify Job 結合自動驗證

Sync Job 範例設定:

proxmox-backup-manager sync-job create \
--id sync-to-dr \
--source local-pbs \
--remote dr-pbs@192.168.10.20:8007 \
--store pbs-remote \
--schedule "daily"

📦 每日同步可確保 DR 站點永遠維持最新備份版本。


🧠 三、跨站驗證與一致性檢查

為確保異地資料完整性,
PBS 可透過 Verify Job + Sync Job 自動串接完成「複製 → 驗證 → 報告」三步驟。

自動化流程:

1️⃣ 每日增量同步 → 傳輸新區塊
2️⃣ 週期性驗證 (Verify Job) → 比對雜湊
3️⃣ 報告自動寄送 → PBS API 或 SMTP 通知

Verify Job CLI:

proxmox-backup-manager verify start --store pbs-remote --all --jobs 4

✅ 若驗證發現資料不一致,PBS 會標記損壞區塊並自動排入重傳。


☁️ 四、結合雲端物件儲存 (Cloud Tier)

為強化異地資料保存,PBS 可搭配 rclone / s3cmd 等工具,
將遠端 PBS 的備份同步至公有雲儲存,例如:
AWS S3、Wasabi、Backblaze B2、Google Cloud Storage 等。

範例:PBS → Ceph RGW → S3 雲端層

rclone sync /mnt/datastore/pbs-remote ceph-s3:cloud-archive

可達成:

  • 三級備援 (Local → Remote → Cloud)
  • 多地自動化同步與歸檔
  • 自動清除與輪替保留策略 (Retention Policy)

🧮 五、自動化備援與還原流程設計

一、主動切換設計 (Failover Trigger)

可透過監控系統 (如 Prometheus + Alertmanager) 檢測主 PBS 狀態,
當主站不可用時,自動執行:

  1. 更新 Proxmox VE Cluster 的備份目標為 DR PBS
  2. 啟用遠端 PBS 的 Read/Write 模式
  3. 發送通知至管理人員

二、自動還原設計 (Auto-Restore API)

PBS 提供 RESTful API,可自動執行還原流程:

curl -k -X POST \
https://dr-pbs:8007/api2/json/admin/datastore/pbs-remote/restore \
-d "backup-type=vm&backup-id=vm-101&target=/mnt/vmrestore"

可結合自動化流程(例如 Ansible / N8N / Python Script)
在災難發生後自動進行復原或重新掛載 VM Disk。


🔄 六、自動化任務與排程設計

建議透過 systemd timer 或 cron 建立自動化週期:

任務頻率說明
Sync Job每日備份增量同步
Verify Job每週驗證遠端備份完整性
Prune Job每月清除過期快照
Report Job每週匯出報告寄送至 IT 管理者

範例自動化腳本:

#!/bin/bash
proxmox-backup-manager sync-job run --id sync-to-dr
proxmox-backup-manager verify start --store pbs-remote --all
proxmox-backup-manager prune start --all

📊 七、監控與報告設計

1️⃣ PBS 內建日誌

  • 透過 /var/log/proxmox-backup/ 監控任務結果
  • GUI 可即時查看 Sync 與 Verify 狀態

2️⃣ 外部監控整合

整合 Prometheus + Grafana + Wazuh:

  • Prometheus 抓取 PBS API 指標 (task duration / I/O throughput)
  • Grafana 建立多站點同步儀表板
  • Wazuh 記錄與告警登入異常、資料異動

✅ 讓 PBS 不只是「備份伺服器」,而是「備援可觀測平台」。


🧩 八、實際應用範例

企業架構實作方式備援層級
台北總部 + 上海分公司Site A: ZFS + PBS;Site B: PBS + Ceph雙站備援
台灣主站 + 越南廠 + GCP 雲Site A→B 同步,B→C 雲端歸檔三層備援
內部資料中心 + 外部 DR IDCSync Job + Verify + Ansible 自動切換自動化 DR
中型企業單一 PBS使用 rclone 至 S3 備份歸檔雲端備援

✅ 結語

Proxmox Backup Server (PBS) 已不僅僅是「本地備份工具」,
而是可構成 企業級備援與自動化災難復原架構的核心組件。

透過:

  • Sync Job 增量式跨站同步
  • Verify Job 自動化驗證與修復
  • REST API 自動化還原
  • Cloud Tier 長期歸檔與治理

企業可在單一開源平台中達成:

多地備援、自動化復原、資料驗證、雲端治理

💬 下一篇(延伸主題):
「Proxmox Backup Server 與 N8N / Ansible 整合的自動化備援實務」,
將示範如何利用 PBS API 自動化 Sync、Verify、Restore 與報告流程。

Recent Posts

  • Postfix + Let’s Encrypt + BIND9 + DANE Fully Automated TLSA Update Guide
  • Postfix + Let’s Encrypt + BIND9 + DANE TLSA 指紋自動更新完整教學
  • Deploying DANE in Postfix
  • 如何在 Postfix 中部署 DANE
  • DANE: DNSSEC-Based TLS Protection

Recent Comments

  1. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on High Availability Architecture, Failover, GeoDNS, Monitoring, and Email Abuse Automation (SOAR)
  2. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on MariaDB + PostfixAdmin: The Core of Virtual Domain & Mailbox Management
  3. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Daily Operations, Monitoring, and Performance Tuning for an Enterprise Mail System
  4. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Final Chapter: Complete Troubleshooting Guide & Frequently Asked Questions (FAQ)
  5. Building a Complete Enterprise-Grade Mail System (Overview) - Nuface Blog on Network Architecture, DNS Configuration, TLS Design, and Postfix/Dovecot SNI Explained

Archives

  • December 2025
  • November 2025
  • October 2025

Categories

  • AI
  • Apache
  • Cybersecurity
  • Database
  • DNS
  • Docker
  • Fail2Ban
  • FileSystem
  • Firewall
  • Linux
  • LLM
  • Mail
  • N8N
  • OpenLdap
  • OPNsense
  • PHP
  • QoS
  • Samba
  • Switch
  • Virtualization
  • VPN
  • WordPress
© 2025 Nuface Blog | Powered by Superbs Personal Blog theme