隨著 Proxmox VE 上線後重要的客體機服務越來越多,如何確保所有重要客體機都有完整的備份就是一項重要課題。
而 Proxmox VE 已經內建了完善的備份功能,並具有排程備份機制,更可以讓我們將所有的備份工作完全自動化處理,確保所有資料都能有完善的保存,再搭配備份保留策略的能力,將備份區的容量使用率與保存年限最佳化。
要設定排程備份作業,請選取 資料中心
,切換至 備份
,再按下 增加
按鈕。
準備設定排程備份
進入建立備份作業選項視窗後,在 儲存
欄位下拉清單中選取要用來存放備份檔的儲存集區,本例我預計把備份檔放置到 NFS 掛接進來的 nas2-nfs
裡。
建立排程備份作業:設定儲存
要設定排程備份在一週內的那幾天進行,請點選 週
欄位的下拉清單,將要啟用的那幾天選取為淺藍色背景即可,本例為選取了每週的 星期二
、星期四
、星期六
這三天進行排程備份作業。
建立排程備份作業:週
上面決定了一週裡的那幾天要進行備份,接下來是指定在那幾天的何時要進行,請在 開始時間
欄位的下拉清單中,選取要在那一個時間點開始執行備份動作,本例選在 01:00
這個時間點。
建立排程備份作業:開始時間
提醒:
若您建立多個排程備份作業,請將時間錯開以免磁碟或網路使用率過高,導致備份失敗甚至影響其它主機的網路運作。
對於管理者而言,排程備份並不是一件安排好就不再需要關心的事,而是要留意每一次的排程備份作業有沒有順利完成,若沒有全部完成,是否有錯誤產生?
您可以在 發送郵件到
欄位輸入管理者的電子郵件,以及 郵件提醒
下拉清單中選取通知的類型,我建議是選擇 總是
,如此一來,管理者可以在信箱中檢視每次排程備份作業的結果,以判斷是否需要人為介入進行調整。
建立排程備份作業:發送郵件與提醒
提醒:
發送郵件是採用內建的 Postfix,若您的郵件伺服器啟用了較嚴格的發信機制,請將 Proxmox VE 節點的 IP 加入信任清單。
Proxmox VE 所提供的備份功能可以將備份檔案壓縮後儲存,以提升備份區的容量使用率,目前提供三種壓縮演算法:
看完上面的清單,正常人應該都會將 壓縮
下拉清單中選擇為 ZSTD (壓縮速度快且比例好)
,因為它速度快容量又小,當然是首選。
不過,我在某些客戶案例中有觀察到 ZSTD 演算法在遇到某些客體機所使用的虛擬磁碟較大時,有時會發生備份失敗的情況。若有發生此情況時,請將壓縮演算法改為 LZO
,應可避免此問題發生。
建立排程備份作業:壓縮
對於正在運行中的客體機,在啟動備份時有三種模式可以選擇,說明如下:
除非是該客體機所運行的服務對於記憶體內的資料保存非常重要之外,我會建議將 模式
選用 快照
是較為理想的。
建立排程備份作業:模式
接著,我們將 啟用
核取方塊勾選,再於下方的客體機清單中勾選要在這個備份作業中進行備份的客體機,最後按下 建立
即可。
建立排程備份作業:啟用與選取客體機
當排程備份作業建立完成以後,在清單中就可以看到這一筆作業的相關資訊。
建立排程備份作業完成
若想回頭檢視這個作業的套用對象與設定內容,可以點選清單上的 作業細節
按鈕,進入檢視細節。
檢視排程備份作業細節
當前面的排程備份作業建立完成後,Proxmox VE 就會在指定的時間進行備份作業,若想要立即執行這個備份作業,可以按下上方的 立即執行
按鈕,馬上啟動備份程序。
當備份程序開始以後,可以點選作業記錄區的 備份作業
兩下,檢視目前進行的狀況
準備立即執行排程備份作業
備份作業記錄視窗中會顯示目前進行的細節,包括備份的客體機、備份目標、容量以及速度等等。
立即執行排程備份作業記錄
當備份作業完成後,記錄的會顯示每一個客體機總共花費的備份時間,備份後的備份檔容量。最後兩行會顯示 INFO: Backup job finished successfully
以及 TASK OK
,表示正確完成
立即執行排程備份作業完成
當我們有啟用通知郵件的功能後,在每次備份作業結束後都會寄出通知郵件。
在郵件的開頭會以表格方式呈現備份結果的總覽,若 STATUS
為 OK
則表示正確完成,而 TIME
欄位是指該客體機所花費的備份時間,SIZE
欄位是產出的備份檔大小。
在總覽表格的下方則是詳細的備份記錄,如有發生問題時可以做為找出問題線索的必要資訊。
排程備份作業通知郵件
若發生備份失敗,可以在總覽表格中看到明顯的 FAILED
失敗字樣,在後方也會顯示備份失敗的最後訊息。
而詳細的失敗原因資訊,在該郵件往下捲動檢視詳細記錄,可以查到一些蛛絲馬跡。
排程備份作業通知郵件:包含備份失敗
往下追查詳細記錄,可以找到失敗的原因,此例的狀況是 zstd: /*stdout*\: Input/output
,表示在 ZSTD 壓縮時發生錯誤而致,那麼就可以從當時的 CPU 使用狀況、磁碟效能、磁碟可用空間等等方向追查。
排程備份作業通知郵件:備份失敗詳細記錄
當我們客體機越來越多,建立的排程備份作業也越來越多後,肯定會發生一種情況:我是不是有那些客體機還沒有被設定在排程備份作業裡?
當然,我們可以一個一個排程備份作業點進去一一檢視確認,但這種作法效率不佳,其實有一個很簡單的檢視方式。請按下右上方的 顯示
按鈕。
準備檢視未在排程備份的客體機
進入後,下方的清單即會顯示沒有被放置在任何一個排程備份作業裡的客體機,右上方還有搜尋欄位方便以名稱、VMID 及客體機類型進行查詢,以便管理者儘快安排進排程備份作業裡。
檢視未在排程備份的客體機
隨著備份檔案日漸增加,這樣無止盡增加下去遲早會把我們的儲存伺服器塞爆。在 Proxmox VE 當中提供了備份保留策略的功能,可以依據我們的儲存目標以及策略進行配置。
選取 資料中心
後,切換至 儲存
頁籤,在我們用來存放備份檔的儲存項目上點兩下,本例是 vmdisk-2
。
準備設定備份目標區的保留策略
進入後,切換至 備份保留
頁籤,將 保留所有備份
核取方塊取消勾選。
如果要以指定份數作為保留方式,可以在 保留最近份數
輸入數字,例如輸入 10
即表示保留最近 10 個備份檔案,當備份數量達到上限時,會在第 11 個備份檔完成後將前面 10 個備份檔最早的那一的檔案刪除。
保留策略選項視窗:份數策略
若想要在保留較長時間以前的備份,但又要兼顧容量的使用率,可以採用複合式的作法。例如我們想要保留以下的備份檔案:
以此策略為例,在 保留最近天數
填入 5
,在 保留最近月數
填入 6
,在 保留最近年數
填入 3
即可。
保留策略選項視窗:複合式策略
你好
請問你最後這一個範例
最終會保留下來幾份備份呢?
最近 5 天,每天 1 個最近的備份,共 5 份
最近 6 月,每月 1 個最近的備份,共 6 份
最近 3 年,每年 1 個最近的備份,共 3 份
如此3年過去,共會有3+6+5=14份備份嗎?
亦或是三個條件取交集呢?
我目前有想依不同的虛擬機作不同的備份留存
虛擬機1:每日備份,留5份
虛擬機2:每週星期日備份,留2份
最後整合下來的規則是近2週內留5份
不知道這個方法是否有可行的設定方案呢?
還請指教,謝謝