PostgreSQL 備份恢復(fù)工具之 Barman
作者: 不剪發(fā)的Tony老師
畢業(yè)于北京航空航天大學(xué),十多年數(shù)據(jù)庫(kù)管理與開發(fā)經(jīng)驗(yàn),目前在一家全球性的金融公司從事數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)。CSDN學(xué)院簽約講師以及GitChat專欄作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net
文章目錄
Barman 簡(jiǎn)介
Barman 與 pg_dump 對(duì)比
Barman 簡(jiǎn)介
Barman(Backup and Recovery Manager,備份與恢復(fù)管理器)是一個(gè)用于 PostgreSQL 數(shù)據(jù)庫(kù)災(zāi)難恢復(fù)的開源管理工具,使用 Python 編寫。Barman 使得企業(yè)能夠執(zhí)行多個(gè)關(guān)鍵業(yè)務(wù)數(shù)據(jù)庫(kù)的遠(yuǎn)程備份,并且協(xié)助 DBA 執(zhí)行災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)。
Barman 用于 PostgreSQL 數(shù)據(jù)庫(kù)的物理備份,與 Oracle 的備份恢復(fù)工具 RMAN 非常類似。
Barman 由 2ndQuadrant 公司開發(fā)和維護(hù),基于 GNU GPL 3 協(xié)議發(fā)行。
Barman 主要的功能和目標(biāo)如下:
PostgreSQL 服務(wù)器的完全物理熱備
時(shí)間點(diǎn)恢復(fù)(PITR)
管理多個(gè) PostgreSQL 服務(wù)器
通過(guò) rsync/SSH 或 pg_basebackup 執(zhí)行遠(yuǎn)程備份(包括 9.2+ 備用服務(wù)器)
支持本地和遠(yuǎn)程(通過(guò) SSH)恢復(fù)
支持 WAL 歸檔和流復(fù)制
支持同步 WAL 流復(fù)制(“零數(shù)據(jù)丟失”,PRO=0)
增量備份與恢復(fù)
并行備份和恢復(fù)
WAL 文件的集中管理,增強(qiáng)了與備用服務(wù)器之間的集成
管理備份和 WAL 文件的保留策略
獲取服務(wù)器狀態(tài)和信息
WAL 文件壓縮(bzip2、gzip 或者 custom)
通過(guò)備份目錄管理基礎(chǔ)備份和 WAL 文件
簡(jiǎn)單單一的 INI 配置文件
完全使用 Python 編寫
恢復(fù)時(shí)的 PGDATA 和表空間位置移動(dòng)
備份通用信息和磁盤占用信息
服務(wù)器備份診斷
與標(biāo)準(zhǔn)歸檔工具(例如 tar)進(jìn)行集成
備份前/后的鉤子腳本
元數(shù)據(jù)的本地存儲(chǔ)
Barman 與 pg_dump 對(duì)比
pg_dump 是執(zhí)行 PostgreSQL 邏輯備份的官方工具。邏輯備份是數(shù)據(jù)庫(kù)中所有對(duì)象和數(shù)據(jù)的一個(gè)快照。通常來(lái)說(shuō),執(zhí)行邏輯備份是一個(gè)很好的實(shí)踐,但是對(duì)于災(zāi)難恢復(fù)而言并不足夠。
如果你每天在早上 3 點(diǎn)執(zhí)行一次邏輯備份,然后在下午 6 點(diǎn)發(fā)生系統(tǒng)故障,可能會(huì)丟失 15 個(gè)小時(shí)的交易數(shù)據(jù)。對(duì)于大多數(shù)的關(guān)鍵業(yè)務(wù)場(chǎng)景而言,這都是無(wú)法接受的。
從另一方面來(lái)說(shuō),Barman,使用 PostgreSQL 物理備份技術(shù),能夠保證非常低的恢復(fù)點(diǎn)目標(biāo)(RPO)。基于 PostgreSQL 的業(yè)務(wù)系統(tǒng)推薦使用物理備份實(shí)現(xiàn)災(zāi)難恢復(fù),而 Barman 能夠提供使簡(jiǎn)單易行的備份管理以及可靠的恢復(fù)。
下一步:Barman 文檔。