2019年1月20日 星期日

[工具推薦]Proxmox VE 儲存區排程同步工具



Proxmox VE 內建效能與功能兼具的 ZFS 檔案系統,不過有些功能還沒有在介面上提供,例如儲存區 (Storage) 的同步功能,該怎麼辦呢?

沒關係,我們所選用的正是開源軟體,別忘了,開源的力量正是無窮。







功能需求

先參考一下隔壁棚的功能狀況,來自 FreeBSD 體系的 FreeNAS 套件。

FreeNAS Replication


FreeNAS 是一款功能完整又提供容易操作 WebUI 的儲存伺服器套件,提供了對多台主機複寫的功能,加上又是採用 ZFS 快照機制實作的,對於資料備份的易用與時間都達到很好的平衡。

隨著現在 Proxmox VE + Local ZFS 越用越多的情況下,有沒有好方法可以達到類似效果呢?






功能介紹

就在不久前,2018 年 12 月的 PVE 進階研討會我剛好介紹過這個小工具。

eve4pve-zstorage



這個 eve4pve-zstorage 套件,主要基於 Proxmox VE 提供的 ZFS 達成許多方便功能。



主要功能項目




官網同步示意圖



eve4pve-zstorage 功能豐富,還可以整合 PVE 原生的許多機制。

  • 整合 PVE Storage 設定讀取
  • 支援 PVE 叢集 Cluster 與獨立節點 Separate Node
  • 整合 PVE Syslog 記錄
  • 支援 KVM 與 LXC
  • 提供系統排程機制
  • 同步複製 KVM 與 LXC 組態檔





安裝方式

請到專案網站下載最新版 deb 安裝檔,先查看最新版本資訊如下:

查看 eve4pve-zstorage 最新版本



確認版本號以後,就可以進入到 PVE 主機的命令列下進行操作。

下載最新版本並安裝
wget https://github.com/EnterpriseVE/eve4pve-zstorage/releases/download/0.1.0_all/eve4pve-zstorage_0.1.0_all.deb

dpkg -i eve4pve-zstorage_0.1.0_all.deb


安裝完成後,執行起來若有出現指令說明畫面,即表示成功。

安裝成功後執行畫面






使用指令

相關指令已經在程式本身的 help 中有詳細說明。
指令格式
eve4pve-zstorage <指令> [參數] [選項]

可以使用的 <指令> 如下
  • version:查看程式版本
  • create:建立排程同步作業
  • destroy:刪除排程同步作業
  • enable:啟用排程同步作業
  • disable:取消排程同步作業
  • status:查看所有同步作業的狀態
  • sync:立即進行同步作業



可以使用的 [選項] 如下
  • --stroage=字串:PVE 儲存區 (Storage) 名稱
  • --host=字串:目標 PVE 節點位址
  • --syslog:將執行結果寫入 Syslog 記錄



舉個例子,若需要立即同步的 PVE 儲存區 (Storage) 名稱為 test,目標 PVE 節點為 172.16.8.114,可使用以下指令進行同步與查看:

同步儲存區至另一節點
eve4pve-zstorage sync --storage=test --host=172.16.8.114

查看儲存區同步狀態
eve4pve-zstorage status --storage=test --host=172.16.8.114



執行儲存區同步與狀態查看


在上圖可以看到,執行同步時,除了將儲存區資料同步過去以外,若該儲存區裡有存放 KVM 或 LXC 的機器,eve4pve-zstorage 還會自動將我們把機器的組態檔一起複製到目標的 PVE 節點上

這對於 PVE 的跨叢集搬遷作業是一件非常方便的事,因為過去有些使用 PVE 的朋友,經常發生有備份虛擬機的 Data,卻忘了備份 Config,導致花了很多時間與心力去重新把設定弄起來。


其它指令參考:

建立同步排程作業
eve4pve-zstorage create --storage=test --host=172.16.8.114

刪除同步排程作業
eve4pve-zstorage destory --storage=test --host=172.16.8.114

取消同步排程作業
eve4pve-zstorage disable --storage=test --host=172.16.8.114

啟用同步排程作業
eve4pve-zstorage enable --storage=test --host=172.16.8.114





排程調整

如果對於 eve4pve-zstorage 產生的排程指令有興趣,或者想要進行修改,可以開啟這個檔案 /etc/cron.d/eve4pve-zstorage





參考