該保留幾份備份:真正的問題不是份數,而是能回溯多遠
七份每日備份能完美防範今天就發現的失誤,卻完全無法防範一個月後才發現的損壞。保留不是一個數字,而是關於回溯範圍的決定。
AtlasPVE ·
本條目涵蓋以下問題
- proxmox 備份要保留幾份
- proxmox 備份保留設定
- proxmox 刪除舊備份
- proxmox prune 設定
- proxmox 備份應該保留多久
這個問題通常被問成:要保留幾份備份?正確的問法是:需要能回溯到多久以前。份數由這個答案推導出來,而不是反過來。
保留機制涵蓋的兩種不同情況
最近的失誤。刪錯了檔案、某次更新弄壞了東西、某項設定出了錯。需要的是昨天的狀態。保留幾天的副本就綽綽有餘。
緩慢的損壞。三週前就已損毀的檔案、從某次有問題的更新之後就一直寫入錯誤資料的應用程式、悄悄潛伏等待時機的勒索軟體。這時昨天的備份毫無用處,因為昨天的備份裡也有損壞。必須回溯到損壞開始之前。
最常見也最容易誤導的規則
保留最近 7 份,是最常被設定的規則。它能完美應付第一類情況,對第二類卻毫無作用。若損壞一個月都沒被發現,七份副本全都已經受損。這條規則沒有錯,只是不完整:它只回答了一個問題。
在不撐爆儲存空間的前提下拉長回溯範圍
答案不是更多副本,而是近密遠疏。短期內每日一份,幾個月內每週一份,更久以前每月一份。副本數量維持在少數,回溯範圍卻變長。二十份副本就能回溯一年;如果只保留每日備份,同樣的二十份最多只能回到三週前。
首先要決定的數字
不是要幾份副本,而是:損壞可以在這套系統上潛伏多久而不被發現。這不是儲存空間的問題,而是這套系統被監看得多仔細的問題。沒有人在看的機器需要的是更長的回溯範圍,而不是更多副本。如果不知道答案,誠實的估計通常會比預想的更長。
保留規則其實是刪除規則
撰寫保留規則時,實際上是在決定哪些東西將無法救回。不妨把這句話大聲說一次:超過一個月以前的任何東西都將無法復原。如果這句話聽起來可以接受,規則就是對的。如果讓人感到不安,就拉長回溯範圍。
承諾與磁碟不是同一回事
保留規則是對未來的承諾,磁碟則是當下的事實。要確認承諾放得下:副本數乘以大小,再加上成長的空間。放不下的那一天,就是備份停止的那一天,而那一天通常沒有人在看。
規則放在哪裡
要清楚保留規則是定義在目標上,還是定義在工作上。如果兩個寫入同一位置的工作帶著不同的規則,結果將是兩者都沒有預期到的:一方以為在刪除,另一方以為在保留。只存在於一處的規則,比要在兩處保持一致的規則容易得多。
Atlas 的做法
Atlas 將保留規則作為儲存區定義的一部分提供,並把五個層級分開列出:最近、每日、每週、每月、每年。因此上面所說的近密遠疏形狀可以直接建立,不必手動計算。
Atlas 也清楚說明欄位留空代表什麼:留空代表不設上限,所有備份都會保留。這看似只是一句小小的說明,卻消除了最常見的誤解,因為在多數介面中,空白欄位通常被認為代表預設值,而在這裡它代表永不刪除。
資料來源
Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。