インストール#
Barmanの公式パッケージは、[Barman downloads page][barman-downloads]にリストされているリポジトリを介してEnterpriseDBによって配布されています。
これらのパッケージは、ターゲットオペレーティングシステムが提供するデフォルトのpython3バージョンを使用します。代替のpython3バージョンが必要な場合は、ソースからBarmanをインストールする必要があります。
重要
Barmanをインストールすることをお勧めする方法は、GNU/Linuxディストリビューションで利用可能なパッケージを使用することです。
RPMパッケージを使用したRed Hat Enterprise LinuxRHELおよびRHELベースのシステムへのインストール#
Barmanは、RHEL8およびRHEL7システムと、RHEL派生のAlmaLinux、Oracle Linux、およびRocky Linuxの同一バージョンにRPMパッケージを使用してインストールできます。事前にExtra Packages Enterprise Linux EPELリポジトリと[PostgreSQL Global Development Group RPM repository][yumpgdg]をインストールする必要があります。
Barmanの公式RPMパッケージは、EnterpriseDBによってYumを介して[public RPM repository][2ndqrpmrepo]を介して配布されます。そのWebサイトで見つけられる指示に従ってください。
次に、 root として次のように入力します。
yum install barman
EDBおよびPGDGリポジトリで入手可能なBarmanパッケージに加えて、Fedoraプロジェクトによって公開されたBarman RPMはEPELで見つけることができます。これらのRPMはBarman開発者によってメンテナンスされておらず、 PGDGおよびEDBリポジトリで使用可能なパッケージとは異なる構成レイアウトを使用します。
EDBおよびPGDGパッケージは、メイン構成ファイルとして
/etc/barman.confを使用し、追加の構成ファイルとして/etc/barman.dを使用します。Fedoraパッケージは、メイン構成ファイルとして
/etc/barman/barman.confを使用し、追加の構成ファイルとして/etc/barman/conf.dを使用します。
構成ファイルのレイアウトの違いは、EPELと非EPEL Barmanパッケージ間のアップグレードが、構成ファイルが手動で更新されるまで既存のBarmanインストールを中断する可能性があることを意味します。したがって、 Barmanパッケージには単一のソースリポジトリを使用することをお勧めします。これは、 Barmanパッケージを取得したくないリポジトリの定義に次の行を追加することにより実現できます。
exclude=barman *python* -barman
具体的には
EDBリポジトリからBarmanパッケージのみを使用するには、上記のexclude指示子を
/etc/yum.repos.d/epel.repoおよび/etc/yum.repos.d/pgdg-*.repoのリポジトリ定義に追加します。PGDGリポジトリからBarmanパッケージのみを使用するには、上記のexclude指示子を
/etc/yum.repos.d/epel.repoおよび/etc/yum.repos.d/enterprisedb*.repoのリポジトリ定義に追加します。EPELリポジトリからBarmanパッケージのみを使用するには、上記のexclude指示子を
/etc/yum.repos.d/pgdg- *.repoおよび/etc/yum.repos.d/enterprisedb* .repoのリポジトリ定義に追加します。
パッケージを使用したDebian/Ubuntuへのインストール#
Barmanは、パッケージを使用してDebianおよびUbuntu Linuxシステムにインストールできます。
DebianおよびUbuntuの公式リポジトリで直接入手できますが、これらのリポジトリには、利用可能な最新バージョンが含まれていない場合があります。 Barmanの最新バージョンが必要な場合、推奨される方法は、次の両方のリポジトリをインストールすることです。
[パブリックAPTリポジトリ][2ndqdebrepo]、 Barman開発者によって直接維持されています
[PostgreSQL Community APTリポジトリ][aptpgdg]、[PostgreSQL WikiのAPTセクション][aptpgdgwiki]の指示に従ってください。
注釈
PostgreSQLコミュニティAPTリポジトリプロジェクトへのBarman開発者の直接参加のおかげで、常に最新のバージョンのBarmanにアクセスできます。
Barmanのインストールも同様に簡単です。 root
ユーザーとしては、次のように入力するだけです。
apt-get install barman
パッケージを使用したSLESへのインストール#
- Barmanは、
PGDG SLES repositories で入手可能なパッケージを使用してSLESシステムにインストールできます。 PGDG site
で入手可能な手順に従って、必要なリポジトリをインストールします。
サポートされているSLESバージョンSLES 15 SP3。
必要なリポジトリがインストールされたら、 Barmanをroot
ユーザーとしてインストールできます。
zypper install barman
ソースからのインストール#
警告
ソースからのBarmanの手動インストールは、専門のGNU/Linuxユーザーのみが実行する必要があります。この方法でBarmanをインストールするには、依存関係管理、barman ユーザーの作成、barman.conf ファイルの構成、barman cron コマンドのcronセットアップ、ログ管理などのシステム管理アクティビティが必要です。
backup サーバーにbarman というシステムユーザーを作成します。
barman ユーザーとして、ソースをダウンロードして解凍します。
システム全体をインストールする場合、次のように入力します。
barman@backup$ ./setup.py build
# run this command with root privileges or through sudo
barman@backup# ./setup.py install
ローカルインストールの場合、次のように入力します。
barman@backup$ ./setup.py install --user
barman アプリケーションは、ユーザーディレクトリ[make resume your
PATH
環境変数が適切に設定されている][setup_user])にインストールされます。
[BarmanはPython Package Index PyPI)][pypi]でも入手でき、 pip
を介してインストールできます。
PostgreSQLクライアント/サーバーバイナリ#
次のBarman機能はPostgreSQLバイナリに依存しています。
ストリーミングバックアップとrsync / SSH と
backup_method = postgrespg_basebackupが必要streaming_archiver = onを使用した Streaming WAL archivingpg_receivewalまたはpg_receivexlogが必要barman verify-backupを使用した Verifying backupspg_verifybackupが必要
ターゲットOSに応じて、これらのバイナリはPostgreSQLクライアントまたはサーバーパッケージとともにインストールされます。
RedHat / CentOSおよびSLESの場合 ``pg_basebackup`` および``pg_receivewal`` /``pg_receivexlog`` バイナリは、PostgreSQLクライアントパッケージとともにインストールされます。
pg_verifybackupバイナリは、PostgreSQLサーバーパッケージとともにインストールされます。 ※バイナリはすべて/usr/pgsql-${PG_MAJOR_VERSION}/binにインストールされます。Debian / Ubuntuの場合 *すべてのバイナリはPostgreSQLクライアントパッケージとともにインストールされます。 ※バイナリは
/usr/lib/postgresql/${PG_MAJOR_VERSION}/binにインストールされます。
次のいずれかを確認する必要があります。
Barmanユーザーは、パス上に適切な
PG_MAJOR_VERSIONのbinディレクトリがある、またはpath_prefix オプションは、各サーバーのBarman構成で設定され、適切な
PG_MAJOR_VERSIONのbinディレクトリをポイントします。
上記のバイナリに加えて、[psql][psql]プログラムをお勧めします。
Barmanはそれを直接使用しませんが、ドキュメントでは、PostgreSQL接続が意図したとおりに動作していることを確認するために使用できる方法の例を提供しています。
psql バイナリは、PostgreSQLクライアントパッケージにあります。
サードパーティのPostgreSQLバリアント#
サードパーティのPostgreSQLバリアントのバックアップとリカバリーにBarmanを使用している場合、上記で説明したPGDGクライアント/サーバーバイナリがバリアントと互換性があるかどうかを確認する必要があります。互換性のない場合は、適切なパッケージから互換性のある代替品をインストールする必要があります。
Barmanのアップグレード#
Barmanはトランクベースの開発パラダイムに従っているため、安定バージョンは最新の1つだけです。コミットするたびに、 Barmanは、サポートされている各PostgreSQLバージョン、およびサポートされている各Linuxディストリビューションに対して数千の自動テストを実行します。
また、
すべてのバージョンには、以前のバージョンとの下位互換性があります
。したがって、 Barmanをアップグレードするには、通常、 yum update
またはapt update
を使用してパッケージを単純に更新する必要があります。
ただし、開発履歴には次の例外があり、構成にいくつかの小さな変更が必要でした。
Barman 3.0.0へのアップグレード#
Rsyncバックアップのデフォルトのバックアップアプローチがコンカレントになりました#
backup_options でconcurrent_backup もexclusive_backup
も指定されていない場合、
Barmanはコンカレントバックアップを使用するようになりました。これは、デフォルトで排他的バックアップを使用する以前のBarmanバージョンとは異なります。
排他的バックアップが必要な場合は、 Barman構成でexclusive_backup
をbackup_options に追加する必要があります。
PostgreSQL 15に対して実行する場合、排他的バックアップは全くサポートされていないことに注意してください。
メタデータの変更#
compression
という名前の新しいフィールドは、バージョン3.0.0で取得されたすべてのバックアップのbackup.info
ファイルに保存されているメタデータに追加されます。これは、
pg_basebackup
のビルトイン圧縮機能を使用して取得したバックアップからリカバリーするときに使用されます。
このフィールドの存在は、 Barman
Barmanで作成されたバックアップを読み取ることができないことを意味します。これは、
Barman
3.0.0から以前のバージョンにダウングレードする場合、3.0.0で取得したバックアップを手動で削除するか、各バックアップのbackup.info
ファイルを編集してcompression
フィールドを削除する必要があることを意味します。
同じメタデータの変更は[pg-backup-api][pg-backup-api]に影響を与えるため、pg-backup-apiを使用している場合はバージョン0.2.0に更新する必要があります。
Barman 2.10からのアップグレード#
barman-cloud-wal-archive またはbarman-cloud-backup
を使用している場合、バージョン2.11からすべてのクラウドユーティリティが新しいbarman-cli-cloud
パッケージに移動していることに注意する必要があります。したがって、最新バージョンへのアップグレードの一部として、barman-cli-cloud
パッケージが適切にインストールされていることを確認する必要があります。上記のツールを使用していない場合は、通常のように最新バージョンにアップグレードできます。
Barman 2.X 2.8より前からのアップグレード#
Barman
2.7以前のバージョンからアップグレードする前に、プライマリサーバーでrsync
バックアップ方法を使用するユーザーは、 backup_options
をconcurrent_backup PostgreSQL
9.6以降で推奨またはexclusive_backup
現在のデフォルトに明示的に設定する必要があります。それ以外の場合、
Barmanは実行されるたびに警告を発します。
Barman 1.Xからのアップグレード#
Barmanインストールが1.Xの場合、アーカイブ戦略を明示的に構成する必要があります。以前は、
archiver
によって制御されるファイルベースのアーカイバーがデフォルトで有効になっていました。
Barmanインストールを最新バージョンにアップグレードする前に、グローバルまたはそれを必要とするサーバーに対して次の行を追加してください。
archiver = on
さらに、いくつかのリリースでは、
Barmanはアーカイブ戦略を明示的に設定していないサーバーでarchiver = on
を透過的に設定し、警告を発します。