以下示範皆以匿名命名的環境為例:
- PVE1:第一台 Proxmox VE 主機
- PVE2:第二台 Proxmox VE 主機
- PBS1:Proxmox Backup Server
- Datastore 名稱:
mainstore
本文將說明如何:
- 建置 PBS
- 建立 Token 與權限
- 讓兩台 Proxmox 連線到 PBS
- 設定備份排程
- 在另一台 Proxmox 還原 VM
- 跨機還原時必須注意的設定一致性
本流程適用:
- 想整合多台 Proxmox,但 不想建立叢集(cluster)
- 想讓每台 PVE 獨立運作,但共享統一備份中心
- 想要跨機遷移 VM、跨 PVE 還原 VM
- 想避免兩台 PVE 叢集引發 quorum / HA 複雜問題
1. 整體架構概念
[PVE1] ----+
|==> (PBS1 - Proxmox Backup Server) --> mainstore
[PVE2] ----+
每台 PVE 都把 VM 備份到 PBS。
未來若要將 VM 從 PVE1 移動到 PVE2,只需在 PVE2 從 PBS 還原即可。
不需要叢集、不需要共用儲存,也不需要仲裁機(qdevice)。
這是兩台 PVE 最穩定、風險最低的部署方式。
2. 安裝 Proxmox Backup Server(PBS1)
可使用:
- 實體主機
- 或任一 PVE 中開 VM(建議磁碟需獨立)
安裝完成後,以瀏覽器登入:
https://PBS1:8007
3. 建立 Datastore
在 PBS Web 管理介面:
- 左側選單 → Datastore
- 點 Add
- 名稱輸入:
mainstore - 路徑:例如
/mnt/mainstore - 建立完成後,PBS 就會在此存放所有 VM/CT 的版本化備份
4. 建立 API Token(給 PVE 連線使用)
在 PBS Web GUI:
- 進入 Access → API Tokens
- 新增 Token:
- User:
root@pam - Token ID:
pve-token
- User:
- 儲存後,系統會產生:
- Token ID
- Secret(這段必須複製下來)
5. 設定 PBS 權限(非常重要)
PVE 使用 Token 連到 PBS,需要設定明確的授權。
在 PBS:
- Access → Permissions → Add
- 設定:
Path: /datastore/mainstore User/Token: root@pam!pve-token Role: DatastoreBackup Propagate: Yes
若這步驟沒有做,PVE 會出現:
401 permission denied
6. 取得 PBS Fingerprint(TLS 憑證驗證)
在 Datastore → Summary → 點 Show Connection Information
可看到:
- Datastore 名
- Hostname/IP
- Fingerprint(TLS 指紋) ← PVE 連線必須填入
- Repository 連線格式
- Current User 顯示
透過此方式取得的 Fingerprint 才是正確的。
7. 在 PVE1 與 PVE2 設定 PBS Storage
步驟:
- PVE Web GUI → Datacenter → Storage → Add → Proxmox Backup Server
- 填入:
Server: PBS1 Datastore: mainstore Username: root@pam!pve-token Secret: (剛剛建立的 Token Secret) Fingerprint: (從 Show Connection Info 取得) Content: Backup
加入後,PVE 即可備份到 PBS1。
8. 設定備份排程
在每台 PVE:
- Datacenter → Backup → Add
建議設定:
- Mode:Snapshot
- Compression:zstd
- Schedule:每日 or 每週
- Storage:mainstore (PBS1)
從此,兩台 PVE 的備份統一進入 PBS。
9. 跨機還原(從 PVE1 → PVE2)
流程非常簡單:
- 在 PVE2 → VM → Restore
- 選取:
- Storage:
mainstore - 備份檔:VM101 (from PVE1)
- Target Storage:例如 data-zfs / local-lvm
- Storage:
- 點 Restore
VM 即可在第二台 PVE 中啟動。
你已經測試成功,證實流程可行。
10. ⚠️ 跨機還原時必須一致的設定(非常重要)
在測試過程中發現了關鍵問題:
兩台 PVE 的環境若不一致,還原的 VM 可能無法啟動、無法連到網路。
以下是必須一致的項目:
10.1 網卡名稱必須一致(必須)
若 PVE1 使用:
enp6s0
vmbr0
vmbr10
則 PVE2 也必須存在:
enp6s0
vmbr0
vmbr10
否則 VM 還原後會找不到 bridge。
10.2 VLAN 設定一致(必須)
例如:
vmbr0 (VLAN aware)
Trunk VLAN 10, 20, 50
在另一台 PVE 也必須相同。
10.3 Storage ID 必須一致(必須)
例如 PVE1 有:
local-lvmdata-zfs
PVE2 也必須建立:
local-lvmdata-zfs
否則會出現:
storage 'data-zfs' does not exist
10.4 BIOS / Machine type / CPU type(建議一致)
避免以下錯誤:
kvm: host cpu does not support requested features
11. 總結:最穩定的兩台 Proxmox 整合方式
| 功能 | 是否支援 |
|---|---|
| 中央備份 | ✔ PBS |
| 跨機還原 | ✔ |
| 共享儲存 | ❌ 不需要 |
| 叢集 | ❌ 不需要 |
| HA | ❌ |
| 兩台各自獨立 | ✔ |
| 遷移安全穩定 | ✔(透過 PBS 還原) |