【製品解説】Barman 3.19.0
Postgres物理バックアップの決定版 〜クラウドからの直接リストアや並行WALアーカイブに対応し、DR性能が劇的に向上:Postgresの物理バックアップを統括するBarmanが進化。最新版ではクラウドストレージからの直接復元や、並行ダウンロードによる高速なWALリカバリに対応。AWS S3のオブジェクトロックや、長期保存に便利なインポート・エクスポート機能も一挙に実装されました。
1. Barmanとは?
Barman(Backup and Recovery Manager)は、PostgreSQLおよびEDB Postgres Advanced Server向けの高度なオープンソース物理バックアップ&災害復旧(DR)管理ツールです。リモートまたはローカルにある複数のPostgresインスタンスの物理ファイルとトランザクションログ(WAL)を集中管理し、迅速なリストアと高度な復旧戦略を実現します。
2. Barmanの仕組み
BarmanはPostgresと連携してクラスタディレクトリを直接コピーし、主に以下の仕組みで動作します。
- 物理ファイルのコピー: データをSQL文に変換せず、ファイルシステムから直接バイナリファイルをコピーして高速処理。
- 多角的なバックアップ手法: ストリーミング(
pg_basebackup)、Rsync(SSH経由)、スナップショット(AWS/Azure/GCP)に対応。 - WALアーカイブとストリーミング:
barman-wal-archiveによるファイルコピーと、pg_receivewalによるリアルタイム取得をサポート。 - 一貫性のあるリカバリ:
barman restoreコマンドでベースバックアップとWALシーケンスを組み合わせ、スムーズなリストアを完了。
3. 主なメリット
- 一元管理(スタートポロジ): 1台のBarmanサーバーで、地理的に離れた複数のPostgresインスタンスの統合管理・監視が可能。
- ポイントインタイムリカバリ(PITR): 任意のトランザクションID、LSN、タイムスタンプを指定して過去の特定時点へ復旧。
- データ損失ゼロ(RPO=0): 同期WALレシーバーとして統合設定することで、障害発生時のデータ損失リスクを極限まで排除。
- 効率的な増分バックアップ: ファイルレベル(Rsyncハードリンク)およびブロックレベル(Postgres 17以降の重複排除)に対応。
- 自動保持ポリシーとクラウド対応: 世代数や期間に基づく自動ライフサイクル管理と、AWS S3/Azure Blob/GCSへの直接保存をサポート。
4. バージョン3.19.0 新機能
【機能強化および新機能】
- クラウドストレージからの直接リストア: クラウドに保存されたバックアップを
barman restoreコマンドで直接復元可能になり、RTOを大幅短縮。 - 並行クラウドWAL取得:
barman cloud-wal-restoreコマンドの導入により、リカバリ時のマルチスレッド並行取得による高速化を実現。 - バックアップのエクスポートとインポート:
export-backupで圧縮アーカイブ化(長期保管・共有用)し、import-backupでカタログへ再登録可能。 - AWS S3 オブジェクトロック対応:
aws_check_object_lock設定オプションの追加により、誤削除やランサムウェアリスクからバックアップを保護。 - クラウドへの並行WALアーカイブ:
barman cloud-wal-archiveに--parallelフラグを追加し、高負荷環境でのWAL滞留を防止。 - 不完全WAL(.partial)復元のサポート:
--partial-walフラグにより書きかけのWALファイルを利用した最速リカバリを可能にし、RPOを短縮。 - 可観測性と拡張性の強化: クラウドバックアップの実行直後表示(STARTED)対応、および代替GCPドメイン(
GOOGLE_CLOUD_UNIVERSE_DOMAIN)のサポート。