← Academy insights

Proxmox 複寫規劃:儲存前提、驗證項目與復原問題

複寫能幫助規劃復原,但不會自動取代備份或消除資料落差。先釐清儲存前提與相依性,再決定需要驗證哪些證據。規劃 proxmox replication,先決定可接受多少資料遺失與停機時間,再評估儲存與叢集條件。

復原點目標(RPO)界定業務可接受的資料損失時間範圍。復原時間目標(RTO)是服務恢復所需時間的目標,兩者都應由業務需求決定。

Proxmox VE 整合 KVM 虛擬化與 LXC 容器,提供叢集、高可用性及儲存管理功能。面對營運持續要求,你要回答的是「系統能重新啟動,但最近交易是否仍在」。把能開機當成資料完整,是低估資料遺失風險的常見誤判。以 Proxmox VE 9.2 官方手冊為版本基準,規劃重點是把業務要求轉成可檢查的復原條件。

重點摘要

  • 先由業務核准可接受的資料遺失與停機範圍。
  • 以每個客體的各個磁碟為單位盤點保護安排。
  • 用有效資料點判斷同步時效,不只看排程。
  • 復原驗收必須涵蓋應用程式與業務流程。
  • 節點角色變更後,重新核對相依性與驗證證據。

這些條件能否成立,要先區分複寫、備份與 HA 各自負責的保護範圍。

複寫、備份與高可用性分別解決什麼問題

多一份磁碟副本、能回到歷史時間點、能重新提供服務,是三個不同目標。複寫、備份與高可用性(HA)各有分工,任何一種機制都不能單獨取代另外兩種保護需求。

在 Proxmox VE 中,儲存複寫將客體受支援的本機磁碟資料,非同步傳送至其他叢集節點。備份依備份與保留策略提供可供還原的資料版本;HA 則在符合叢集與資源條件時,協調受管理工作負載的復原。你評估 proxmox 複寫時,應把「副本存在」與「服務能接手」分開判斷。

機制 主要用途 依賴條件 無法單獨保證
複寫 其他節點的磁碟副本 受支援儲存與成功同步 歷史版本保留或服務自動啟動
備份 指定還原點的資料還原 可用備份與還原程序 立即接管服務
HA 受管理工作負載復原 仲裁與可用運算及儲存資源 最新資料完整無損

例如,使用者誤刪檔案後,後續同步可能讓目標副本也反映刪除結果。另一個節點仍有磁碟副本,不代表你能取回刪除前的檔案。要保留可選擇的歷史還原點,仍須獨立設計備份頻率、保留策略與還原程序,不能把複寫當成備份保留策略。

Proxmox VE 具有內建備份功能,也能整合 Proxmox Backup Server。Proxmox Backup Server 是備份規劃選項,不是啟用複寫的先決條件。你可以依保留與還原需求選擇備份安排,不必把所有保護功能綁成同一個建置決策。

HA 也不會因為看到副本,就保證最新資料完整或自動復原必定成功。選擇本機 ZFS 複寫後,下一步是確認副本能否在預定節點成立。

本機 ZFS 複寫的架構與儲存前提

一台 VM 的系統磁碟位於 ZFS,並不代表它的所有資料磁碟都符合複寫條件。Proxmox VE 內建儲存複寫支援本機 ZFS 儲存;目標節點必須具備可用且具有相同儲存 ID 的相容儲存。

規劃 proxmox zfs 複寫時,你要盤點到每個磁碟,而不是只記錄 VM 放在哪個節點。同一 VM 的系統磁碟與資料磁碟可能分散在不同儲存,應用程式需要的資料也不一定都在系統磁碟中。相同儲存 ID 是配置條件,不等於已證明全部資料可復原。

來源節點〔VM/LXC 容器、受支援的本機 ZFS 磁碟〕 → 非同步複寫 → 目標節點〔對應本機 ZFS 儲存、磁碟副本〕

箭頭代表資料流,而非即時共享存取。ZFS 複寫以快照為基礎,初次傳送資料後,可以傳送後續差異。來源與目標各自持有本機儲存,不是兩個節點同時存取同一份共享磁碟。

你可以把 proxmox zfs replication 的配置盤點整理成六項,讓儲存與運算資源的負責人逐項確認:

  • 每個客體及各磁碟的儲存類型
  • 各磁碟是否納入複寫
  • 來源與目標的儲存 ID 及節點可用範圍
  • 初次同步、資料成長與快照所需容量
  • 節點間連線、可用頻寬與競用流量
  • 目標節點承接服務所需的 CPU、記憶體與網路

容量盤點不能只抄來源磁碟目前的使用量;你還要將資料成長與快照占用納入目標端的空間規劃。儲存名稱相同,也不能取代節點可用範圍的核對。若目標端沒有可用儲存,配置上的名稱一致仍不足以建立可用副本。

Ceph 與共享儲存不是本機 ZFS 複寫的必要前提。儲存與叢集配置主題可延伸閱讀Proxmox VE 9.2 管理手冊。確認受保護的資料範圍與承接資源後,才能評估同步時效與復原風險。

同步落差、監控與復原規劃問題

來源節點突然離線時,目標端能使用的是已成功同步的資料,而不是排程上預計同步的資料。排程間隔不等於實際達成的 RPO;你必須根據副本所對應的資料點,判斷故障時可能遺失多少變更。

評估 proxmox replication 的風險窗口,可以先畫出不帶日期的時間軸。「排程存在」只能證明有安排工作,「最近有成功同步」才是另一項關於執行結果的證據,兩者不能互相代替。

最後成功同步所對應的資料點 → 尚未同步的變更 → 故障發生

最後成功同步所對應的資料點之後,尚未傳送的變更仍可能遺失。作業完成時間也不應直接視為副本的資料時間:傳送作業結束,只表示該次傳送完成,不表示來源在完成那一刻的所有變更都已包含在副本中。若只看完成時間,你可能高估資料的新鮮程度。

監控應涵蓋最後成功作業、持續錯誤、執行耗時、目標容量,以及告警是否送達。同步失敗、傳輸積壓或作業耗時,都可能讓有效資料點落後。告警門檻要連結業務核准的 RPO,並留下處置時間,不宜套用與業務無關的固定值。告警已產生,也不等於負責人已收到並開始處理。

復原時間目標也不能只用 VM 啟動耗時判斷。目標節點資源、網路可達性與應用程式相依性,都會影響服務恢復。資料庫能啟動後,應用程式是否連得上、必要的外部服務是否可用,仍要納入復原判斷。

復原規劃要依序問明:誰確認來源狀態、誰判定副本可用、誰核准可接受的資料損失,以及誰驗收服務。這些責任應在故障前指定,不能等停機時才臨時協調。當原節點重新出現,還要有人負責確認權威資料副本,避免兩端同時接受寫入。

每項風險判斷都應留下能核對的依據,從受保護範圍、有效資料點,到服務恢復與業務接受結果,逐一轉成驗證證據。

驗證清單:應保留哪些證據

一張綠色狀態截圖能顯示當下狀態,卻不足以證明業務資料可以復原。你需要的是可核對的驗證證據;複寫作業成功不能單獨證明應用程式資料一致、服務可連線或業務流程可完成。

規劃 proxmox 複寫的驗收時,應先定義接受條件,再安排復原演練。下列項目都是待確認要求,不代表任何環境已經通過驗證。你應要求每份紀錄對應明確的客體與情境,避免用單一成功畫面代表全部工作負載。

驗證面向 應保留證據 判讀目的 接受條件
儲存範圍 客體磁碟清單與儲存對照 找出未涵蓋資料 必要磁碟均有明確保護安排
同步時效 成功作業紀錄與對應資料點 核對資料時效 符合事先核准的 RPO
復原能力 核准情境下的耗時與應用檢查紀錄 確認可恢復服務 符合 RTO 與應用驗收項目
責任追蹤 告警送達及處置紀錄 確認有人接手異常 責任人與升級路徑可辨識

每次驗證應留存環境版本、驗證日期、涵蓋客體與未驗證範圍。若只檢查部分磁碟或部分應用流程,紀錄應明確標示邊界;未納入的部分不能直接沿用已通過項目的結論。RTO 的計時起點與服務恢復判準,也應先經團隊核准,讓耗時紀錄可以被一致判讀。

應用驗收應要求確認必要資料可讀取、服務入口可連線,以及指定的業務流程可完成。綠色狀態截圖不足以證明資料完整,也不足以證明告警已被接收;這兩項都應有各自可追蹤的紀錄。

Proxmox VE Training Courses 列出的 Clustering and Shared Storage 包含理論與實作練習,但課程練習不能代替自身環境的驗收。節點與儲存角色改變後,原有證據的適用範圍也應重新評估,尤其不能直接套用到退役後的配置。

叢集節點退役前的相依性檢查

VM 已搬走,就代表節點可以退役嗎?不能只憑客體遷移完成判斷,因為角色相依性可能仍在;本機資料、複寫、Ceph 與仲裁條件都必須納入退役評估。

當你搜尋 proxmox delete node from cluster 或 proxmox 移除叢集節點,先要處理的是資料與服務還依賴什麼,而不只是移除動作。這些相依性牽涉叢集知識,相關學習安排可延伸閱讀ReadySpace Academy 的 Proxmox VE 中文課程介紹。退役決策仍應回到團隊對現有環境的盤點,不能用課程練習或客體遷移完成的紀錄代替。

  • 哪些 VM 或 LXC 容器仍依賴此節點,接收位置與容量是否明確?
  • 哪些本機磁碟、映像或其他本機資料尚未確認保留或移轉方式?
  • 哪些複寫工作把它當來源或目標,調整後的資料保護範圍由誰驗證?
  • 此節點是否承擔 Ceph 角色,退役對容量、資料冗餘與服務可用性有何影響?
  • 現有 QDevice 或外部仲裁相依性是否會隨節點或網路變更而改變?
  • 剩餘節點能否維持所需仲裁與 HA 條件,停止變更的判準由誰核准?

若團隊無法說明其中任何一項,待補強的就不只是移除程序,而是叢集角色與資料保護的關係。VM 已搬走後,誰確認本機資料已妥善處理,相關複寫工作與節點角色也已完成檢查?

從文件閱讀走向 Clustering and Shared Storage 學習

如果團隊仍無法解釋仲裁與資料副本如何共同影響復原,就適合把問題帶進結構化學習。不理解仲裁,可聚焦 pmxcfs、Corosync、叢集網路及含外部 QDevice 的雙節點配置考量;無法判斷複寫與 HA 邊界,可對照 ZFS 非同步複寫、共享儲存、Ceph 與客體遷移主題。

缺少復原驗證設計,可將驗收問題帶入 Clustering and Shared Storage 的理論與實作練習,但自身環境仍須獨立驗收。先整理一份團隊問題清單,帶著儲存盤點、RPO/RTO 目標與未解相依性問題,前往 ReadySpace Academy 了解 Clustering and Shared Storage 學習安排。

FAQ

proxmox replication 會複寫 VM 的記憶體狀態嗎?

不會,proxmox replication 處理的是受支援的磁碟資料,不會保存執行中的記憶體與 CPU 狀態,也不等同即時遷移。只存在記憶體、尚未寫入磁碟的資料,不會因儲存複寫而出現在目標副本。你應把復原後的應用程式啟動、連線重建與工作恢復納入規劃,不能預期 VM 從原本中斷的執行位置繼續運作。

LXC 的 bind mount 也會隨 proxmox replication 複寫嗎?

主機目錄的 bind mount 不屬於一般受管理客體儲存磁碟的複寫範圍,必須另行盤點與設計保護方式。LXC 容器看得到某個目錄,不代表該目錄的資料就包含在可複寫的儲存卷中。你應辨識掛載來源、資料持有位置及目標端所需權限,並確認復原後的路徑與內容可用,避免容器啟動後才發現必要檔案缺失。

ZFS 快照能保證資料庫交易一致嗎?

不能,單靠 ZFS 快照無法保證應用程式層級的交易一致性,還要評估資料庫的寫入、日誌與復原機制。磁碟上的資料可能需要資料庫執行復原程序後才能正常使用,快照也不會自動驗證業務交易是否完整。你應依資料庫的保護需求安排一致性措施,並把資料庫復原檢查與必要交易驗收納入演練,而不只確認檔案存在。

已有 Ceph 的 VM 還需要設定同一套 ZFS 複寫嗎?

位於 Ceph RBD 的磁碟不是本機 ZFS 複寫對象,不能直接套用同一套機制。混合儲存環境應逐磁碟區分保護方式,不能因為 VM 使用 Ceph,就推定其他磁碟也受相同保護。你應核對每個必要磁碟的所在儲存、可用性安排與備份需求,再判斷整台 VM 的復原條件是否完整,避免只按客體名稱分類。

有 QDevice 就等於多了一份可復原的 VM 資料嗎?

不是,QDevice 用於仲裁判定,不提供 VM 磁碟副本,也不代替可接手工作負載的節點。仲裁處理的是叢集能否依其規則作出決策,資料副本則是另一項儲存條件。即使配置了 QDevice,你仍須確認目標節點具有必要磁碟資料、運算資源與服務網路,不能把外部仲裁元件計入可承接 VM 的運算或儲存容量。

能把複寫工作排得更密,就省略復原演練嗎?

不能,縮短複寫排程不會驗證應用程式相依性、網路可達性或目標節點資源,這些仍需獨立驗收。較密的排程也不代表每次作業都能按時完成,更不能證明服務恢復後可完成業務流程。你應在核准的故障情境下檢查資料時效與服務恢復,並記錄接受條件是否達成,而不是用排程設定取代復原能力的證據。