Barman:PostgreSQL 備份與還原管理工具
Barman 是一款以 Python 編寫的開源管理工具,專為業務關鍵環境中的 PostgreSQL 伺服器災難復原而設計。從 2.13 版本開始,其官方原始碼倉庫已從 SourceForge 遷移至 GitHub。
背景
Barman(Backup and Recovery Manager)是一款由 EnterpriseDB 維護的開源 PostgreSQL 災難復原管理工具,採用 Python 編寫,旨在為企業級環境提供多台伺服器的遠端備份與管理功能。隨著 PostgreSQL 生態系中另一款重量級工具 pgBackRest 傳出原作者停止維護的消息,社群開始重新審視 Barman 作為備份解決方案的領先地位與實務應用價值。
社群觀點
在 Hacker News 的討論中,Barman 被視為目前 PostgreSQL 備份領域最成熟且穩定的選擇之一,特別是在 pgBackRest 進入維護狀態的背景下,許多自託管用戶正考慮將其作為首選。社群成員指出,Barman 在雲端原生環境中扮演著關鍵角色,例如它被 CloudNativePG 選為 Kubernetes 環境下的預設備份插件。這種整合簡化了容器化資料庫的維運,但也帶來了特定的配置挑戰。有使用者分享,在 Kubernetes 中使用 Barman 時必須極其謹慎地設定預寫式日誌(WAL)的限制,否則一旦 WAL 磁碟空間填滿,資料庫為了保護數據一致性會停止服務,導致系統不可用。對此,資深開發者建議必須建立嚴密的監控與警示機制,即時監測 WAL 容量以防止服務中斷。
然而,Barman 在雲端儲存支援度上曾面臨一些質疑。部分用戶回憶過去選擇 pgBackRest 而非 Barman 的主因,在於 pgBackRest 原生支援將備份直接推送到 S3 等物件儲存服務,這能有效降低維護備份伺服器的負擔。相比之下,Barman 過去較傾向於將資料備份至另一台 Linux 主機,這意味著維運團隊除了管理資料庫,還得額外維護備份系統的基礎設施。雖然有討論提到可以透過 Rclone 或 FUSE 掛載 S3 來彌補這項缺點,但這種做法會增加系統複雜度與潛在的可靠性風險。
針對 pgBackRest 停更引發的焦慮,社群中也出現了相對樂觀的聲音。有留言指出,目前已有多家公司表達贊助意願,且 PGX 團隊已經分叉出名為 pgxbackup 的版本承諾持續維護,因此建議用戶在急於切換工具前先觀察市場走向。整體而言,社群共識認為 Barman 是一個極其穩健的選項,但在選擇工具時,仍需權衡其對雲端原生儲存的支援程度,以及在特定部署架構下對 WAL 管理的技術要求。
延伸閱讀
- pgxbackup:由 PGX 團隊維護的 pgBackRest 分叉版本,旨在延續該工具的生命週期。
- CloudNativePG 選擇 Barman 的技術決策說明:詳細記錄了 Kubernetes 環境下選擇備份工具的考量因素。
- pgxbackup 延續性說明部落格:關於 pgBackRest 後續維護計畫的官方聲明。
相關文章