iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
IT管理

突破困境:企業開源虛擬化管理平台系列 第 26

Proxmox VE 啟用客體機複寫及搭配遷移功能使用

https://ithelp.ithome.com.tw/upload/images/20211011/20118848G6Vrh3OXYi.png

當客體機在 Proxmox VE 節點上運作且客體磁碟儲存於節點的本機儲存即區時,若想要讓客體機的磁碟資料在其它節點也保有一份而且能夠經常更新,以用來避免因為節點故障時,需要從備份檔還原時的較長時間,或者是因為備份間隔較長而遺失了中間的重要資料,Proxmox VE 可以做到嗎?

可以,在 Proxmox VE 當中提供了「複寫」機制,可以將客體機的磁碟排程複寫至其它節點之中存放,大幅提升因為使用本機儲存的資料即時異機保存能力。


設定複寫至其它節點

要將客體機建立複寫排程,請選取客體機後,切換至 複寫 頁籤,按下 增加 按鈕。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848KfSU3Pb1Wa.png
準備增加複寫排程

 

進入增加複寫作業選項視窗後,在 目標 下拉清單可以選擇要複寫至那一個節點存放,排程 欄位裡可以選取要進行複寫的排程時間點,也可以直接輸入時間字串,它與 CRON 的排程定義格式相同,此處我選擇 每 2 小時 複寫一次。

這裡提供幾個自訂時間的 CRON 範例語法:

  • mon..fri 03:00
    每週一 (mon) 到週五 (fri) 的凌晨三點做一次,中間的 .. 表示為連續,也可以輸入為 mon,tue,wed,thu,fri 03:00。
  • */1
    每 1 分鐘做一次,這是可以設定的最短頻率。
  • */15
    每 15 分鐘做一次,這是可以設定的最短頻率。
  • 19:00
    每天的下午 7 點做一次。
  • mon..fri 8..17,22:0/15
    每週一到週五,早上 8 點至下午 6 點之間以及晚上 10 點至 11 點之間,每 15 分鐘做一次。
  • 12,14,16,18,20,22:5
    在 12:05、14:05、16:05、18:05、20:05、20:05 時間點做一次。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848KL43fb66ZN.png
準備增加複寫排程:目標與排程

 

速率限制 欄位可以做複寫時的限制,以避免因為複寫作業佔去太多網路傳輸資源而影響其它服務的運作。當內容確定無誤後,請按下 建立 按鈕。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848haqASh2WuD.png
準備增加複寫排程:速率限制

 

建立完成後,可以在清單中看到有一筆新的排程複寫作業,由於目前還沒開始進行,所以它的 上次同步期間 欄位都還是空的。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848kUF9BZSzSh.png
增加複寫排程完成

 

技巧:
若該客體機很重要,想要讓它複寫到好幾個節點時,可以建立多個排程複寫指向不同節點即可。
提醒:
要使用複寫機制的必要條件:複寫來源與目的節點必須有同樣名稱的儲存集區,而且都是 ZFS。因為複寫機制是基於 ZFS 的快照與快照傳送功能所衍生而來。

 


複寫作業狀況檢視

當複寫排程時間到達後即會開始複寫作業,或是可以手動按下 立即執行排程 按鈕,它也會在 1 分鐘內啟動複寫作業,複寫中的作業會在狀態顯示轉動中的圖示。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848gVUh7fhEOS.png
正在進行排程複寫作業

提醒:
因為它是基於 CRON 排程進行複寫作業,所以按下 立即執行排程 時會在下個準點 1 分鐘觸發執行。

 

當排程複寫作業完成時,可以在作業記錄視窗裡看到 successfully imported 以及 end replication job 的字樣,清單中也會顯示 完成上次同步時間期間 內有顯示結果。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848S5aXzWUjLd.png
進行排程複寫作業完成 1

https://ithelp.ithome.com.tw/upload/images/20211011/20118848A2BtSORmZI.png
進行排程複寫作業完成 2

 

客體機是存在於 host-106 這個節點,我們可以選取 host-111 的儲存集區 vmdisk-2,切換至 VM 磁碟 內檢查剛剛所設定要複寫的客體機磁碟,確實已經複寫一份在此。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848Sj7uaFVe7A.png
確認複寫作業磁碟狀況

 

複寫機制因為是基於 ZFS 的快照機制與快照傳送而來,所以它的作業效率很高,只需要先以 ZFS 製作快照後,再把此份快照傳送制目的節點存放即可完成,幾乎沒有太多的運算、檢查、壓縮等等的耗損。

上一章我們整合 Proxmox BS 進行備份,納入增量備份後已經把時間由初次備份 5 分 26 秒,做到第二次備份時只耗費 30 秒;而採用複寫機制後,第二次備份時間僅須 9.6 秒。

現有網路傳輸是採用 1Gbps,若網路傳輸速度更快還可以縮短更多的時間。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848JOabC0HAWz.png
第二次以後的複寫作業時間

 


搭配複寫的遷移機制

如果只是將客體機磁碟複寫至其它節點,對我們直接應用的效果並不太大,但搭配上遷移機制後時間效率的提升就立刻感受明顯了。

先前我們對客體磁碟放在節點本機儲存集區的客體做遷移時,要完整的把整個客體磁碟搬移至另一個節點,所耗費的時間相當久,而現在預先啟用複寫機制後,在遷移時系統只需要製作一份最新的快照後傳送至另一個節點,所要傳輸的客體磁碟量就少去很多。

在下圖的遷移作業記錄中可以看到,遷移作業自動判斷這部客體機已經有一份複寫放在目標節點,所以它立即製作一份臨時快照傳送即可,而這次的容量只需要傳送 2.67MB,而不需要傳送客體機的實際的磁碟容量 20GB,速度自然是大大加快。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848etwkAGV6jl.png
搭配複寫機制時遷移客體機的磁碟傳輸量

 

遷移完成後,客體機已經由來源節點遷移至目標節點繼續運作,同樣在過程中繼續服務。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848PmSTjd5HZr.png
複寫機制時遷移客體機完成

 

另外,先前我們為這個客體機設定的排程複寫作業是 host-106 傳輸往 host-111 存放,當客體機遷移至 host-111 後,它的排程複寫作業會自動反轉,改為由 host-111 排程複寫往 host-106 存放。

https://ithelp.ithome.com.tw/upload/images/20211011/20118848HuAScRfJVq.png
遷移客體機完成後排程複寫設定的異動

 


參考資料


上一篇
Proxmox VE 備份整合方案應用:Proxmox BS
下一篇
Proxmox VE 設定客體機高可用性
系列文
突破困境:企業開源虛擬化管理平台30

尚未有邦友留言

立即登入留言