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の最新バージョンが必要な場合 、推奨される方法は、次の両方のリポジトリをインストールすることです。
Public APT repository 、 Barman開発者が直接維持
PostgreSQL Community APT repository 、 APT section of the PostgreSQL Wiki の指示に従って
注釈
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
にインストールされます。
次のいずれかを保証する必要があります。
Barmanユーザーは、そのパスに適切な
PG_MAJOR_VERSIONのbinディレクトリを持っている、または: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
を透過的に設定し、警告を出力します。