該保留幾份備份:真正的問題不是份數,而是能回溯多遠

七份每日備份能完美防範今天就發現的失誤,卻完全無法防範一個月後才發現的損壞。保留不是一個數字,而是關於回溯範圍的決定。

AtlasPVE ·

本條目涵蓋以下問題

  • proxmox 備份要保留幾份
  • proxmox 備份保留設定
  • proxmox 刪除舊備份
  • proxmox prune 設定
  • proxmox 備份應該保留多久

這個問題通常被問成:要保留幾份備份?正確的問法是:需要能回溯到多久以前。份數由這個答案推導出來,而不是反過來。

保留機制涵蓋的兩種不同情況

最近的失誤。刪錯了檔案、某次更新弄壞了東西、某項設定出了錯。需要的是昨天的狀態。保留幾天的副本就綽綽有餘。

緩慢的損壞。三週前就已損毀的檔案、從某次有問題的更新之後就一直寫入錯誤資料的應用程式、悄悄潛伏等待時機的勒索軟體。這時昨天的備份毫無用處,因為昨天的備份裡也有損壞。必須回溯到損壞開始之前。

最常見也最容易誤導的規則

保留最近 7 份,是最常被設定的規則。它能完美應付第一類情況,對第二類卻毫無作用。若損壞一個月都沒被發現,七份副本全都已經受損。這條規則沒有錯,只是不完整:它只回答了一個問題。

在不撐爆儲存空間的前提下拉長回溯範圍

答案不是更多副本,而是近密遠疏。短期內每日一份,幾個月內每週一份,更久以前每月一份。副本數量維持在少數,回溯範圍卻變長。二十份副本就能回溯一年;如果只保留每日備份,同樣的二十份最多只能回到三週前。

首先要決定的數字

不是要幾份副本,而是:損壞可以在這套系統上潛伏多久而不被發現。這不是儲存空間的問題,而是這套系統被監看得多仔細的問題。沒有人在看的機器需要的是更長的回溯範圍,而不是更多副本。如果不知道答案,誠實的估計通常會比預想的更長。

保留規則其實是刪除規則

撰寫保留規則時,實際上是在決定哪些東西將無法救回。不妨把這句話大聲說一次:超過一個月以前的任何東西都將無法復原。如果這句話聽起來可以接受,規則就是對的。如果讓人感到不安,就拉長回溯範圍。

承諾與磁碟不是同一回事

保留規則是對未來的承諾,磁碟則是當下的事實。要確認承諾放得下:副本數乘以大小,再加上成長的空間。放不下的那一天,就是備份停止的那一天,而那一天通常沒有人在看。

規則放在哪裡

要清楚保留規則是定義在目標上,還是定義在工作上。如果兩個寫入同一位置的工作帶著不同的規則,結果將是兩者都沒有預期到的:一方以為在刪除,另一方以為在保留。只存在於一處的規則,比要在兩處保持一致的規則容易得多。

Atlas 的做法

Atlas 將保留規則作為儲存區定義的一部分提供,並把五個層級分開列出:最近、每日、每週、每月、每年。因此上面所說的近密遠疏形狀可以直接建立,不必手動計算。

Atlas 也清楚說明欄位留空代表什麼:留空代表不設上限,所有備份都會保留。這看似只是一句小小的說明,卻消除了最常見的誤解,因為在多數介面中,空白欄位通常被認為代表預設值,而在這裡它代表永不刪除。

資料來源

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

相關條目

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

前往產品頁面