備份工作悄悄停了:代價最高的故障不是大聲的那種

大聲失敗的備份當天就會被修好。悄悄停止的備份,要到需要它的那天才會被發現。差別不在通知,而在於看的是什麼。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox 備份沒有執行
  • proxmox 備份工作失效
  • proxmox 備份通知
  • proxmox 備份失敗 email 通知
  • proxmox 最後一次備份是什麼時候

備份安排中代價最高的故障模式,不是大聲的那種。大聲的錯誤會被看到,當天就會修好。悄悄停止的工作會停擺好幾週,然後正好在需要它的那一天被發現。

悄悄停止的各種方式

目標空間滿了。網路共用在重新啟動後沒有掛載。某個儲存區被改了名稱。工作指向一台已經不存在的機器。某組認證資訊過期了。這些情況都會在某處產生錯誤,但沒有一個會把錯誤擺到人的眼前。

通知的陷阱

失敗的話就會收到電子郵件,這種說法背後藏著兩個假設:郵件真的能從這台機器寄出,而且有人會讀。在大多數環境中,兩者都不成立。更糟的是,只在失敗時才觸發的通知,與從未正常運作過的通知系統無從區分:兩者都是一片寂靜。

要知道通知是否有效,唯一的方法是親眼見過它生效。設定的那天,刻意製造一次失敗,看著郵件送達。如果沒有親眼看到郵件送達,那項通知就等於不存在。

該看的正確指標:距今多久

與其看最後一次工作的狀態,不如看最新備份距今多久。這個時間同時回答兩個問題:工作是否有執行,以及是否產出了東西。工作可能執行了卻什麼都沒產出,看起來仍然成功;距今時間能抓到這點,狀態則不能。

每月一次、一分鐘的檢查

看四件事:每台機器最新的備份已經多久、保留的備份數量是否符合保留規則、目標還剩多少空間,以及是否有任何機器完全沒有備份。

最後一項是最常被發現的問題,原因幾乎總是相同:那台機器是在備份工作建立之後才建立的。

寫規則,而不是清單

逐一挑選要備份哪些機器的工作,在建立當天是正確的,之後每多一台新機器就錯得更多一點。可能的話,把它定義為全部,但排除這些。如此一來,新建立的機器會自動納入備份範圍,遺忘的代價就降為零。

Atlas 的做法

Atlas 會列出現有的備份及其日期,因此上面那個距今多久的問題靠看就能回答,不必猜測:每台機器最新的備份是何時建立的,都集中在同一個畫面上。

Atlas Watch 監看伺服器本身、待安裝的更新、虛擬機器以及備份距今的時間。它看的正是本頁建議要看的地方:不是工作的最後狀態,而是最新備份距今多久。當某台機器最新的備份超過所設定的天數,它會在每日摘要中說明;預設門檻是三天,可從面板變更;如果這項檢查被提升為嚴重等級,會立即回報,不等每日摘要。

如果某個備份儲存區本身無法讀取,Watch 不會沉默,而是說明它無法讀取。把沉默當成健康,正是本頁所描述的那種故障,因此刻意排除了守護機制在無法讀取時仍宣告一切正常的做法。上面的每月檢查仍然值得保留:這項檢查唯一無法涵蓋的情況,是一台完全沒有任何備份的全新機器。

資料來源

Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。

相關條目

這項工作在 Atlas 中是什麼樣子?

前往產品頁面