Barman 1.4.0 已發布

發表於 2015-01-26,作者:2ndQuadrant Italia

2015 年 1 月 26 日: 2ndQuadrant 很榮幸宣布 Barman 1.4.0 版本發布,Barman 是 PostgreSQL 的備份和恢復管理器。

此主要版本包含檔案層級的增量備份,這是一種定期完整備份,僅儲存特定 PostgreSQL 伺服器目錄中可用的最新完整備份以來的資料變更。根據上下文和資料庫工作負載,資料重複資料刪除率很容易達到每次完整備份的 50-70%,從而顯著減少備份時間和磁碟空間。

PostgreSQL 9.4 使用者將透明地受益於 Barman 與 "pg_stat_archiver" 檢視的整合。特別是,任何持續封存問題將立即被來源上的 "barman check" 命令發現。

透過優化 WAL 統計資訊的計算、將封存與備份綁定以及針對獨佔和並行備份明確管理 WAL 丟棄,WAL 檔案的管理已得到改進。

單元測試方面的相關努力使程式碼更加健壯。也修復了一些小錯誤。

非常感謝 BIJ12 (www.bij12.nl)、Jobrapido (www.jobrapido.com)、Navionics (www.navionics.com)、Sovon Vogelonderzoek Nederland (www.sovon.nl) 和 Subito.it (www.subito.it) 為此版本的開發提供的資金。

有關完整的變更列表,請參閱下面的「發行說明」部分。

增量備份

增量備份是一種定期完整備份,僅儲存特定 PostgreSQL 伺服器目錄中可用的最新完整備份以來的資料變更。 Barman 中增量備份的主要目標是

  • 減少完整備份過程所需的時間
  • 減少多個定期備份佔用的磁碟空間(資料重複資料刪除

此功能在很大程度上依賴於 "rsync" 和 硬連結,因此底層作業系統和備份資料所在的檔案系統都必須支援它們。

主要概念是兩個週期性基礎備份將共享那些沒有變更的檔案,從而顯著節省磁碟使用量。 這對於 VLDB 環境尤其如此,更普遍地說,對於那些包含高比例唯讀歷史表的資料庫而言也是如此。 Barman 透過全域/伺服器選項(稱為 "reuse_backup")實作增量備份,該選項透明地管理 "barman backup" 命令。 也可以透過 "barman backup" 命令的 "--reuse-backup" 執行階段選項在執行階段變更行為。

連結

發行說明

  • 透過 "reuse_backup" 全域/伺服器選項實作增量基礎備份。 可能的值為 "off"(已停用,預設值)、"copy"(防止傳輸未修改的檔案)和 "link"(允許透過硬連結進行重複資料刪除)。
  • 使用 "reuse_backup=link" 時,儲存並顯示重複資料刪除效果。
  • 在 "check"、"show-server" 和 "status" 命令中新增了對 pg_stat_archiver (PostgreSQL 9.4) 的透明支援。
  • 透過在成功備份結束時調用 WAL 維護來改進管理。
  • 透過區分並行和獨佔備份案例,變更了丟棄未使用 WAL 檔案的方式。
  • 改進了 WAL 統計資訊計算的效能。
  • 將遺失的 pg_ident.conf 視為警告而非錯誤。
  • 透過移除剩餘的 "yield" 呼叫來重構輸出層。
  • 檢查 rsync 是否在系統路徑中。
  • 在 WAL 管理中包含歷史檔案。
  • 透過更多單元測試提高了穩健性。
  • 修復了錯誤 #55:忽略目錄上的 fsync EINVAL 錯誤。
  • 修復了錯誤 #58:保留策略刪除。

下載

關於

Barman(備份和恢復管理器)是用 Python 撰寫的 PostgreSQL 伺服器災難恢復的開源管理工具。 它允許您的組織在業務關鍵環境中對多個伺服器執行遠端備份,並在恢復階段為 DBA 提供幫助。 Barman 最需要的功能包括備份目錄、增量備份、保留策略、遠端備份和恢復、WAL 檔案和備份的封存和壓縮。 Barman 根據 GNU GPL 3 進行分發。