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 文檔。