跳到主要內容
節省工具箱Jason Tools
經驗分享

深入 Proxmox VE 複寫功能

Jason Cheng 瀏覽 8,428 次
深入 Proxmox VE 複寫功能
本文目錄
  1. 複寫要求
  2. 複寫設定
  3. 複寫說明
  4. 進階說明
  5. 結論
  6. 參考資料

建立 Proxmox VE 叢集以後,若沒有做共用儲存 (Share Storage) 而是採用超融合 (Hyper Converged) 模式,虛擬機器的磁碟也會存在 Node 節點裡,則會面臨節點故障時無法有虛擬機器磁碟備份的存在,更無法做備援,甚至無法使用高可用性 (High Availability) 的能力。

在這種情況下,Proxmox VE 有什麼應對方案?

複寫要求

在 Proxmox VE 平台,提供了虛擬機器與容器都可以使用的複寫 (Replication) 方案,它可以設定排程,定時將虛擬機器與容器抄寫一份最新狀態到另一個節點,若原節點故障時,在另一個節點就會有一份副本可以使用。

想要使用 PVE 所提供的複寫功能,需要滿足以下條件:

  • 來源與目的節點都要位在同一個叢集
  • 虛擬機器或容器的磁碟必須放在 ZFS 儲存
  • 來源與目的節點要有同樣名稱的 ZFS 儲存
  • 目的節點需要有足夠容量的儲存空間

複寫設定

要開始設定複寫功能,請到 [Node 節點] > [VM 虛擬機器 / CT 容器] > [Replication 複寫] > [Add 增加],即可進入設定畫面。

進入複寫設定功能
進入複寫設定功能

開啟複寫設定畫面以後,設定項相當簡單,欄位說明如下:

  • 目標
    請選擇要複寫過去的目標節點,需注意剩餘空間是否足夠。
  • 排程
    點選下拉清單以後,有內建多個項目可以選擇,例如每30分鐘、每2小時、每天02:30與22:30...等,若不有符合需求者也可以自行輸入。
  • 速率限制
    若擔心複寫的時候佔據太多頻寬影響到其它運作中服務的效能,可以在這裡設定頻寬上限。
  • 備註
    可以輸入方便日後回頭看這個設定的說明文字。
  • 啟用
    打勾表示讓排程工作生效。

設定完成以後,就會出現剛才所建立的這一筆複寫工作。若不想等到排程觸發時間,可以按下 [Schedule now 立即執行排程],系統會在1分鐘內執行這項工作。

複寫工作設定完成與立即執行排程
複寫工作設定完成與立即執行排程

複寫說明

在複寫過程中會有記錄顯示,但有個需要特別注意的地方:進行複寫這件事的工作 (Task) 並不會所顯示在系統主畫面下方的記錄視窗,要點進來節點或虛擬機器的複寫頁籤才能看見。

要查看正在進行的複寫工作內容狀況,或是上一次複寫工作的結果,可以選取該筆工作後,再按下 [Log 記錄] 按鈕。

查看複寫工作記錄內容
查看複寫工作記錄內容

在這個視窗裡,我們可以清楚的知道複寫的各種過程資訊,以及傳輸容量與速度,對於日後掌握問題排除時提供很重要的細節。

複寫完成以後,也可以到目的節點的儲存區做再次確認。

目的節點儲存查看是否複寫成功
目的節點儲存查看是否複寫成功

如上圖紅框處所示,可以確認在目的節點已經有這台虛擬機器的複寫磁碟存在。

另外,如果來源的虛擬機有做過快照,在複寫時也會一併抄寫過來。上圖中的 vm-129 這台虛擬機器,就是把來源端的名為「to_ssdpool1」的快照給抄寫過來,抄寫過來的快照名稱會是 state 而非 disk。

進階說明

在使用複寫功能時,除了會基本的新增、執行以及查看記錄,還有兩件重點相當關鍵。

自訂排程

在排程定義的格式中,可以使用以下方式進行表示。

  • mon..fri 03:00
    每週一 (mon) 到週五 (fri) 的凌晨三點做一次,中間的 .. 表示為連續,也可以輸入為 mon,tue,wed,thu,fri 03:00。
  • mon..fri
    每週一 (mon) 到週五 (fri) 的凌晨0點做一次。
  • */2:00
    每天的每兩個小時做一次。
  • */1
    每天的每一分鐘做一次。
  • 19:00
    每天的下午七點做一次。
  • mon..fri 8..17,22:0/15
    每週一到週五,早上八點至下午六點之間以及晚上十點至十一點之間,每 15 分鐘做一次。
  • 12,14,16,18,20,22:5
    在 12:05、14:05、16:05、18:05、20:05、20:05 時間點做一次。

複寫原理

PVE 所提供的複寫功能,是基於 ZFS 快照複寫 (Snapshot Replication) 予以實現的,只要會使用 ZFS 指令者,就可以看出他是怎麼進行。

以 ZFS 指令查看複寫相關資訊
以 ZFS 指令查看複寫相關資訊

所以,我們可以得知一個非常重要的優點,因為基於 ZFS 快照複寫,所以做完第一次的完整複寫以後,往後的每次排程複寫都只有傳輸異動的部份,也就是說抄寫過去的容量少,速度快。

同時也因為 ZFS 是寫入時複製 (Copy on Write) 的檔案系統,所以在準備那一份要用來傳輸的快照將會非常快。

結論

PVE 提供了許多越來越方便的介面,讓我們得以輕鬆的簡單點選即可完成過往非常複雜的機制,實在是系統管理員保存資料的好幫手。

在完成複寫機制設定以後,若再搭配 PVE 的高可用性 (High Availability) 功能,即可進一步做到自動容錯移轉 (Auto Failover) 的能力,降低需要人為介入處理的時間,也讓系統管理的工作負擔越來越輕。

參考資料

延伸閱讀