System requirements

  • Linux/Unix

  • Python >= 3.6

  • Pythonモジュール:

  • argcomplete

  • psycopg2 >= 2.4.2

  • python-dateutil

  • セットアップツール

  • PostgreSQL>= 10

  • rsync >= 3.0.4(オプション)

重要

RedHat Enterprise Linux、CentOS、およびScientific Linuxのユーザーは、 Extra Packages Enterprise Linux (EPEL) repository をインストールする必要があります

注釈

Python 2.6および3.5のサポートは終了しました。 Python 2.7のサポートは非推奨であり、将来のリリースで廃止されます。 PostgreSQL < 10のサポートは、 Barman 3.0.0で終了しました。

バックアップの要件

Barmanサーバーの最も重要な要件は、使用可能なディスク領域です。クラスターのサイズ、1日に生成されるWALファイルの数、バックアップの頻度、および保持ポリシーに基づいて、必要なディスク領域を計画することをお勧めします。

Barmanの開発者は、XFSとext4でBarmanを定期的にテストしています。

1つのBarman、多くのPostgreSQLサーバー と同様に、 BarmanはNFSに対して特別なことはしません。

NFSでBarmanを安全に使用するには、次の点が必要です。

  • barman_lock_directory は非ネットワークファイルシステム上にある必要があります。

  • NFSプロトコルのバージョン4を使用します。

*ファイルシステムは、hardおよびsynchronousオプション(hard,sync )を使用してマウントする必要があります。

回復の要件

Barmanを使用すると、ローカル( Barmanが存在する場所)またはリモート(別のサーバー上)でPostgreSQLインスタンスを回復できます。

リモートリカバリは、間違いなくBarmanでPostgreSQLサーバーを復元する最も一般的な方法です。

いずれにせよ、同じ requirements for PostgreSQL's Log shipping and Point-In-Time-Recovery apply :

  • 同一のハードウェアアーキテクチャ

  • PostgreSQLの同一のメジャーバージョン

一般に、元のサーバーと同じではないにしても、できるだけ似た回復環境を作成することを 強くお勧めします 。たとえば、同じオペレーティングシステム、同じPostgreSQLバージョン、同じディスクレイアウトなどを使用することをお勧めします。

さらに、各 PostgreSQL サーバーに専用のリカバリ環境を (オンデマンドでも) 使用すると、チームのディザスター リカバリー文化を育むことができます。復旧作業を練習し、慣れておくことで、不測の事態に備えることができます。

私たちの経験に基づいて、指定された復旧環境は実際の障害状況でのストレスの影響を軽減するため、復旧操作の有効性が向上します。

最後に、NTPなどを使用して、サーバー間で時刻を同期することが重要です。