Installation

Barmanの公式パッケージは、 Barman downloads page にリストされているリポジトリを介してEnterpriseDBによって配布されます。

これらのパッケージは、ターゲットオペレーティングシステムが提供するデフォルトのpython3バージョンを使用します。代替のpython3バージョンが必要な場合は、ソースからBarmanをインストールする必要があります。

重要

Barmanをインストールする推奨される方法は、GNU / Linuxディストリビューションで利用可能なパッケージを使用することです。

RPMパッケージを使用したRed Hat Enterprise Linux(RHEL)およびRHELベースのシステムへのインストール

Barmanは、RHEL8およびRHEL7システムでRPMパッケージを使用して、RHEL派生物のAlmaLinux、Oracle Linux、およびRocky Linuxの同一バージョンにインストールできます。事前にExtra Packages Enterprise Linux(EPEL)リポジトリと PostgreSQL Global Development Group RPM repository をインストールする必要があります。

Barmanの公式RPMパッケージは、そのWebサイトにある指示に従って、 EnterpriseDBからYumを介して public RPM repository を介して配布されます。

次に、 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の最新バージョンが必要な場合 、推奨される方法は、次の両方のリポジトリをインストールすることです。

注釈

Barman開発者がPostgreSQL Community APTリポジトリプロジェクトに直接関与したおかげで、 Barmanの最新バージョンにいつでもアクセスできます。

Barmanのインストールは簡単です。 root ユーザーとして次のように入力するだけです。

apt-get install barman

パッケージを使用したSLESへのインストール

Barmanは、 PGDG SLES repositories で利用可能なパッケージを使用してSLESシステムにインストールできます。

で利用可能な指示に従って、必要なリポジトリをインストールします。

サポートされているSLESバージョン:SLES 15 SP3。

必要なリポジトリがインストールされたら、 root ユーザーとしてBarmanをインストールできます。

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 sure that your `PATH environment variable is set properly <https://docs.python.org/3/install/index.html#alternate-installation-the-user-scheme>`_ )にインストールされます。

Barman is also available on the Python Package Index (PyPI) であり、pip を介してインストールできます。

PostgreSQLクライアント/サーバーバイナリ

次のBarman機能は、PostgreSQLバイナリに依存しています。

  • backup_method = postgres を使用した ストリーミングバックアップとrsync / SSH (pg_basebackup が必要)

  • streaming_archiver = on を使用した Streaming WAL archiving (pg_receivewal またはpg_receivexlog が必要)

  • barman verify-backup を使用した Verifying backups (pg_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 にインストールされます。

次のいずれかを保証する必要があります。

  1. Barmanユーザーは、そのパスに適切なPG_MAJOR_VERSION のbin ディレクトリを持っている、または:

  2. path_prefix オプションは、各サーバーのBarman構成で設定され、適切なPG_MAJOR_VERSION のbin ディレクトリを指します。

上記のバイナリに加えて、( https://www.postgresql.org/docs/current/app-psql.html )[psql]プログラムをお勧めします。 Barmanは直接使用しませんが、ドキュメントには、PostgreSQL接続が意図したとおりに機能していることを確認するために使用する方法の例が記載されています。 psql バイナリは、PostgreSQLクライアントパッケージにあります。

サードパーティのPostgreSQLバリアント

サードパーティのPostgreSQLバリアントのバックアップとリカバリにBarmanを使用している場合は、上記のPGDGクライアント/サーバーバイナリがバリアントと互換性があるかどうかを確認する必要があります。互換性がない場合は、適切なパッケージから互換性のある代替をインストールする必要があります。

Upgrading 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 3.0.0で作成されたバックアップを読み取ることができないことを意味します。これは、 Barman 3.0.0から以前のバージョンにダウングレードする場合、3.0.0で取得したバックアップを手動で削除するか、各バックアップのbackup.info ファイルを編集してcompression フィールドを削除する必要があることを意味します。

同じメタデータの変更が(https://github.com/EnterpriseDB/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 をBarman (PostgreSQL 9.6以降に推奨)またはexclusive_backup (現在のデフォルト)のいずれかに明示的に設定する必要があります。 。

Barman 1.Xからのアップグレード

Barmanインストールが1.Xの場合、アーカイブ戦略を明示的に構成する必要があります。以前は、 archiver によって制御されるファイルベースのアーカイバーはデフォルトで有効になっていました。

Barmanインストールを最新バージョンにアップグレードする前に、次の行をグローバルに、またはそれを必要とするサーバーに追加してください。

archiver = on

さらに、いくつかのリリースでは、 Barmanは明示的にアーカイブ戦略を設定していないサーバーでarchiver = on を透過的に設定し、警告を出力します。