2019年2月12日 星期二

[經驗分享]Proxmox VE 設定檔的三種備份方式



不管使用什麼系統,管理者都必須非常注重資料備份這件事,在 Proxmox VE 上需要備份那些檔案呢?又有那些方法可以運用呢?






手動備份

正常運作情況下,PVE 的設定檔位置在 /etc/pve/,所以可以定期使用 FileZilla Client 軟體以 SSH 連線進入下載。

FileZilla Client 下載 PVE 設定檔


連線成功後,切換到 /etc/ 路徑,再將 pve 拖曳到左方的本地資料夾。實務上可以每日建立一個資料夾做為備份名稱識別。






自動備份一

剛開始手動備份還沒問題,隨著日子過去有可能逐漸忘記,因此讓備份自動化處理是最保險的作法。

可以撰寫簡單的 shell script,自動壓縮設定檔並且放置到指令的路徑。請將以下內容存成 /opt/bakpveconf.sh
自動壓縮備份 shell script
#!/bin/bash
# bakpveconf.sh
hostname=$(hostname)
fn_date=$(date "+%Y%m%d.%H%M")
bak_targetpath=$1
/bin/tar -zcvf ${bak_targetpath}/pveconf_${hostname}_${fn_date}_.tar.gz /etc/pve

存檔離開之後,請再給予執行權限。
給予執行權限
chmod +x /opt/bakpveconf.sh

接下來可以執行一次,是否有成功備份。
備份到指定路徑
/opt/bakpveconf.sh /mnt/pve/mylove-nas/conf/

執行以後,會自動打包 /etc/pve 下所有檔案成為一個壓縮檔,並放到 /mnt/pve/mylove-nas/conf 這個資料夾存放。

執行 PVE 設定檔備份指令


這個目標資料夾是在 WebUI 設定過的 NAS 主機 NFS 共用資料夾,PVE WebUI 所掛載的 NFS 共用資料夾,預設路徑都會在 /mnt/pve/ 下面,因此我們可以很容易的將備份檔丟到裡面去。

檢查備份資料夾結果


備份完成後可以到目的資料夾查看,檔名中會包含這台 PVE 節點的 Hostname、備份日期與時間,以利辨識。

若要每日定期執行,可以把這個 shell script 指令放到 cron 裡面去執行即可。






自動備份二

上面的作法固然可以自動化,但是太過土砲陽春,而且缺少一些機制,例如:保留指定份數、備份到雲端等等的機制。

其實可以結合另一套開源軟體達成非常強大的自動備份機制。


Duplicati


過去我也曾介紹過 Duplicati,安裝容易,使用方便,功能強大。

請先到官網完成安裝後,即可進入 http://ip:8200 操作介面,它已經內建繁體中文語系,正是小弟貢獻的... 哈哈。

建立一筆新的備份作業。

新增備份


第一步,輸入名稱、加密方式,以及加密備份檔用的密碼。

一般備份設定


第二步,選擇要備份的目的地,Duplicati 支援的非常多種,在此選擇 Google Drive 做為示範。選擇後,請再點選 [AuthID],它自動帶出 Google 登入介面,完成後會自動把 AuthID 寫入右邊視窗,即可進入下一步。


備份目的地設定


第三步,請在中間的視窗陸續展開,將 /etc/pve 資料夾予以勾選。若有其它資料需要一起備份,也可以打勾。


來源資料備份設定


第四步,設定自動備份的排程時間,若沒有其它想法,預設將在每日的 01:00 自動備份。

排程備份設定


第五步,在這裡可以指定備份的保留份數或指定日期數,我的作法是讓他保留三個月內的資料。

其它選項設定


儲存完成後,可以按下 [立即執行] 測試備份能力與設定是否無誤。

立即備份進行測試


Duplicati 會開始一系列的程序,完成後即會在畫面上顯示「上一次成功備份」的日期,即表示完成。

備份作業進行中


備份作業完成






結論

Proxmox VE 採用完全開放式的設計,設定檔內容透明、位置資訊容易取得,要備份更是易如反掌,開源的價值盡其在此。

本次介紹三種 PVE 設定檔備份方法,您可以選擇一種喜歡的方式進行。







參考資料