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 。
參考
- eve4pve-zstorage
https://github.com/EnterpriseVE/eve4pve-zstorage
- [議程簡報]Proxmox VE 叢集、高可用性與其它進階技巧
http://blog.jason.tools/2019/01/proxmox-ve-cluster-ha-others.html
- 企業應用經驗:開源儲存系統「FreeNAS」
http://blog.jason.tools/2016/12/freenas-nas4free-nexenta.html