Proxmox VE 備份與還原:你的後悔藥指南

8 min read

備份就是買保險——平常覺得多此一舉,出事的時候恨自己當初為什麼沒買。PVE 內建的備份工具 vzdump 用起來不複雜,搭配 Proxmox Backup Server(PBS)更是如虎添翼。重點是:做了備份不等於安全,能還原才算數。 不管你是備份 VM 還是 LXC 容器,觀念都一樣。

三種備份模式

備份 VM 的時候,PVE 給你三種選擇,差別在於「要不要關機」:

模式 做法 停機時間 適合場景
Snapshot 拍快照後備份,VM 繼續跑 生產環境日常備份
Suspend 暫停 VM → 備份 → 恢復 短暫 需要更高一致性
Stop 停機 → 備份 → 開機 較長 追求最高資料一致性

Snapshot 模式像是在高速公路上幫車拍照——車不用停,照片拍得到。Stop 模式則是把車開到路肩停好再拍,畫面最清楚但會耽誤行程。

# Snapshot 模式備份 VM 100,用 zstd 壓縮
vzdump 100 --storage local --mode snapshot --compress zstd
 
# 備份全部 VM
vzdump --all --storage nfs-backup --mode snapshot
 
# 排除不需要的 VM
vzdump --all --exclude 100,101
 
# 限制備份頻寬(單位 KB/s),怕打滿網路的話很好用
vzdump 100 --compress zstd --bwlimit 10240 --storage nfs-backup

排程設定在 Web GUI 點一點就好:Datacenter → Backup → Add,選好時間、存儲、模式,設完就可以忘記它了。它會乖乖每天幫你跑。

建議開啟 QEMU Guest Agent(qemu-guest-agent),這樣 Snapshot 備份時 PVE 會通知 VM 先做 filesystem freeze,資料一致性好很多。沒裝的話,備份出來的東西「大概」能用,但不保證完美。

備份存哪裡

存儲目標 增量備份 去重 加密 說明
本地目錄 最簡單,但硬碟壞了就一起走
NFS 放 NAS 上,至少跟主機分開
PBS 企業級方案,認真的選這個

Proxmox Backup Server:備份界的正規軍

PBS 是 Proxmox 自家出的備份伺服器,跟 PVE 深度整合。如果說 vzdump 備份到本地是把東西塞進床底下,PBS 就是租了一間有溫濕度控制的倉庫。

PBS 的殺手級功能:

  • 增量備份:只傳有變動的區塊,第二次以後的備份超快
  • 內容級去重複:不同 VM 的相同資料只存一份,空間省到不可思議
  • 客戶端加密:AES-256-GCM,金鑰在你手上,伺服器端看不到內容
  • 完整性驗證:每個區塊都有 SHA-256 校驗碼
  • 遠端同步:備份再同步一份到異地 PBS,災難復原的最後防線
# 在 PVE 上新增 PBS 存儲
pvesm add pbs pbs-store \
  --server 192.168.1.200 \
  --datastore backup1 \
  --username backup@pbs \
  --fingerprint <sha256-fingerprint>

設定完之後,備份排程的存儲選 pbs-store 就行了,其他跟平常一樣。

還原操作

備份做了,還原怎麼做?

# 從本地備份還原
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 100
 
# 從 PBS 還原
qmrestore pbs-store:backup/vm/100/2026-04-23T02:00:00Z 100
 
# 還原成不同的 VM(新 ID + 產生新 MAC)
qmrestore <backup-file> 200 --unique
 
# LXC 容器還原
pct restore 200 /var/lib/vz/dump/vzdump-lxc-200-*.tar.zst

拜託,每季至少做一次還原演練。隨便挑一個備份還原到測試 VM,確認能開機、服務能跑。沒測過的備份就像沒開過的降落傘,你不會想在跳下去的那一刻才發現打不開。

保留策略:別讓備份塞爆硬碟

備份一直留不刪,硬碟遲早爆。設定保留策略讓系統自動清理:

vzdump 100 --storage pbs-store \
  --prune-backups keep-last=3,keep-daily=7,keep-weekly=4,keep-monthly=6

意思是:保留最近 3 份 + 每天 7 份 + 每週 4 份 + 每月 6 份,其餘自動清掉。策略依照你的 RPO(能接受丟多少資料)來調整。

VM Replication:備份的好搭檔

Replication 不算備份,但它能把 VM 磁碟定期複製到其他節點,用的是 ZFS send/receive:

  • 預設每 15 分鐘同步一次
  • Live Migration 的時候可以利用已複製的資料加速
  • 搭配 HA 使用,故障轉移更快

把它想成廚房的備用食材——不是正式的料理(備份),但緊急的時候可以直接拿來炒一盤。Replication 搭配 高可用 HA 使用效果更佳,故障轉移時能大幅縮短恢復時間。

3-2-1 備份原則

說了一堆工具跟指令,最後回到最重要的原則:

  • 3 份副本(原始 + 兩份備份)
  • 2 種媒體(本地硬碟 + NAS 或 PBS)
  • 1 份異地(雲端或遠端機房)

做到這三點,就算辦公室著火,你的資料還有救。備份要放哪種存儲、NFS 怎麼掛載,可以回頭看 存儲全攻略

更完整的備份參數與排程設定,可以參考 Proxmox VE Backup 官方文件。如果你考慮導入 PBS,推薦閱讀 Proxmox Backup Server 官方文件,以及 Proxmox Wiki 的 Backup and Restore 頁面

常見問題

Q: vzdump 備份用哪種模式最好?

生產環境日常備份用 Snapshot 模式,VM 不用停機。如果追求最高資料一致性(例如資料庫),用 Stop 模式最保險。記得安裝 qemu-guest-agent 提升 Snapshot 的一致性。

Q: Proxmox Backup Server 跟 vzdump 差在哪?

PBS 支援增量備份、內容級去重複和客戶端加密,第二次以後的備份速度快、空間省。vzdump 備份到本地或 NFS 則是全量備份,簡單但佔空間。認真做備份建議上 PBS。

Q: PVE 備份可以加密嗎?

搭配 PBS 可以。PBS 支援 AES-256-GCM 客戶端加密,金鑰由你保管,伺服器端無法讀取備份內容。vzdump 備份到本地目錄或 NFS 則不支援原生加密。

Q: 備份保留策略怎麼設定比較合理?

常見做法是保留最近 3 份、每日 7 份、每週 4 份、每月 6 份。根據你能接受的資料遺失量(RPO)調整,空間有限就減少保留數量,但至少保持 3-2-1 原則。

下一步

單機備份搞定了,該來組叢集了——多台主機協同工作,才能發揮 PVE 的真正實力: 👉 叢集管理