Barman – PostgreSQL のバックアップおよび復旧管理ツール
Barman(Backup and Recovery Manager)は、PostgreSQL データベースのための専門的なバックアップおよび復旧管理ツールです。物理バックアップと WAL(Write-Ahead Logging)アーカイビングの統合管理により、データベースの完全...
Barman(Backup and Recovery Manager)は、PostgreSQL データベースのための専門的なバックアップおよび復旧管理ツールです。物理バックアップと WAL(Write-Ahead Logging)アーカイビングの統合管理により、データベースの完全な復旧能力とポイントインタイム復旧(PITR)を実現します。
現在、Kubernetes 環境での利用が広がり、CloudNativePG(PostgreSQL の Kubernetes オペレータ)のデフォルトバックアッププラグインとして統合されています。Barman の堅牢性は高く評価されていますが、実運用では課題も存在します。
WAL 管理設定が複雑で、適切に設定しないと WAL ボリュームが満杯になり、データベースが利用不可になるリスクがあります。また、従来はクラウドストレージへの直接バックアップに対応していなかったため、バックアップ先インフラを別途管理する必要がありました。
近年、S3 対応などの機能拡張が進みつつありますが、ストレージクラスの細かい制御や大規模データベースのアップロード性能には改善の余地があります。多くの本番環境で採用される、信頼性の高いソリューションですが、これらの制限事項を踏まえた適切な運用計画が重要です。
複数の企業が本番環境で Barman を採用しており、バックアップと復旧の安定性は高く評価されている一方で、クラウドストレージ対応や大規模データベースのバックアップ性能に改善の余地があるという実運用レベルの意見が見られます。
「最後に確認した時点では、Barman は S3 へのバックアップに対応していませんでした。そのため(我々にとって)pgBackRest がとても重要でした。pgBackRest はフル・インクリメンタルバックアップを基本的に無制限で信頼できるメディアにオフロードできたからです。Barman が対応できるのはおそらく別の Linux マシン(例えば EC2 ボックス)へのバックアップのみだと思っていたので、メイン DB に加えてバックアップシステム自体も管理する心配をしなければなりませんでした。」— @levkk