Barman client utilities ( barman-cli )¶
以前は別個のオープンソースプロジェクト barman-cli
は、バージョン2.8からBarmanのコアにマージされ、RPM /
Debianパッケージとして配布されています。 barman-cli には、
PostgreSQLサーバーと一緒にインストールする推奨クライアントユーティリティのセットが含まれています。
barman-wal-archive:archive_commandとして使用されるアーカイビングスクリプト 「barman-wal-archiveによるWALアーカイビング」セクションで説明されているように。barman-wal-restore:のパートとして使用されるWAL復元スクリプト スタンバイおよびリカバリサーバーのrestore_commandリカバリオプション、 上記の「get-wal」セクションで説明されているとおり。
詳細については、特定のマニュアルページまたは --help
オプションを参照してください。
インストール¶
Barmanクライアントユーティリティは通常、
PostgreSQLがインストールされている場所にインストールされます。プライマリまたはスタンバイであるすべてのPostgreSQLサーバーに
barman-cli パッケージをインストールすることをお勧めします。
リポジトリをインストールするには、メインの「インストール」セクションを参照してください。
RedHat / CentOSシステムにパッケージをインストールするには、 root
と入力します:
yum install barman-cli
Debian / Ubuntuでは、 root ユーザタイプとして:
apt-get install barman-cli
Barman client utilities for the Cloud ( barman-cli-cloud )¶
Barmanクライアントユーティリティは、オブジェクトストレージの統合をサポートし、サポートされているクラウドプロバイダーにWALファイルとバックアップを中継することにより、 PostgreSQLデータベースの災害リカバリ機能を強化するために拡張ました。
サポートされているクラウドプロバイダーは次のとおりです。
AWS S3(または任意のS3互換オブジェクトストア)
Azure Blob Storage
Google Cloud Storage(Rest API)
これらのユーティリティは barman-cli-cloud RPM /
Debianパッケージで配布されており、
PostgreSQLサーバーと一緒にインストールできます。
aws-s3クラウドプロバイダーの資格情報をセットアップする方法については、 Credentials を参照してください。
azure-blob-storageクラウドプロバイダーの資格情報については、 Environment variables for authorization parameters を参照してください。次の環境変数がサポートされています:
AZURE_STORAGE_CONNECTION_STRING 、 AZURE_STORAGE_KEY 、および
AZURE_STORAGE_SAS_TOKEN 。 --credential オプションを使用して、
azure-cli または managed-identity の資格情報を指定して、Azure
Active Directoryを介して認証オーダーこともできます。
警告
クラウドユーティリティには、使用するクラウドプロバイダーの適切なライブラリが必要です-( <a href="https://github.com/boto/boto3">https://github.com/boto/boto3</a> )[boto3]または( <a href="https://docs.microsoft.com/en-us/python/api/azure-storage-blob/?view=azure-python">https://docs.microsoft.com/en-us/ python / api / azure-storage-blob /? ビュー= azure-python</a> )[azure-storage-blob]および(オプション)( <a href="https://docs.microsoft.com/en-us/python/api/azure-identity/?view=azure-python">https://docs.microsoft.com/en-us/python/api/azure-identity /? ビュー= azure-python</a> )[azure-identity]
インストール¶
クラウド用のBarmanクライアントユーティリティは、 Barmanをバイパスして、クラウドプロバイダーに直接バックアップするPostgreSQLサーバーにインストールする必要があります。
barman-cloud-backup および/または barman-cloud-wal-archive
をフックスクリプトとして使用する場合は、 barman-cli-cloud
パッケージをBarmanサーバーにもインストールできます。
リポジトリをインストールするには、メインの「インストール」セクションを参照してください。
RedHat / CentOSシステムにパッケージをインストールするには、 root
と入力します:
yum install barman-cli-cloud
Debian / Ubuntuでは、 root ユーザタイプとして:
apt-get install barman-cli-cloud
barman-cloudフックスクリプト¶
上記の説明に従って、 barman-cli-cloud
パッケージをBarmanサーバーにインストールします。
PostgreSQLサーバーのBarman構成に次を追加して、 barman-cloud-backup
をバックアップ後スクリプトとして構成します。
post_backup_retry_script = barman-cloud-backup [*OPTIONS*] *DESTINATION_URL* ${BARMAN_SERVER}
警告
フックスクリプトとして実行する場合、barman-cloud-backupではバックアップのステータスがDONEであることが必要であり、バックアップに他のステータスがある場合は失敗します。このため、バックアップのステータスが WAITING_FOR_WALS である間はフックスクリプトが実行されないように、 -w / --wait オプションを使用してバックアップを実行することをお勧めします。
PostgreSQLサーバーのBarman設定に次を追加して、
barman-cloud-wal-archive
をWALアーカイブ前スクリプトとして設定します。
pre_archive_retry_script = barman-cloud-wal-archive [*OPTIONS*] *DESTINATION_URL* ${BARMAN_SERVER}
クラウドプロバイダーの選択¶
--cloud-provider
オプションを使用して、バックアップとWALのクラウドプロバイダーを選択します。これは、次のいずれかに設定できます。
aws-s3[デフォルト]:AWS S3またはS3互換オブジェクトストア。azure-blob-storage:Azure Blob Storageサービス。google-cloud-storage:Google Cloud Storageサービス。
プロバイダーごとの特異性¶
Google Cloud Storage¶
セットアップ¶
google_storage_client依存関係が必要です:bash pip3 install google-cloud-storage
資格情報を設定するには:
Create a service account そして、サービスアカウントキーを作成します。
*バケットアクセス権の設定:
バケットのサービスアカウントに Storage Admin Role を与えることをお勧めします。
barman_cloudを使用する場合、バケットが存在しない場合は作成されます。デフォルトのオプションを使用して作成します バケツ。バケットに特定のオプション(リージョン、ストレージクラス、ラベル)が必要な場合は、作成することをお勧めします そして、必要なものすべてにマッチようにバケットを設定しニーズ。
postgres(archive_commandまたはrestore_command)からbarmanクラウドを実行している場合、postgres環境ファイルで
GOOGLE_APPLICATION_CREDENTIALS を設定することを忘れないでください。
使用法¶
一部の詳細は、すべてのバーマンクラウドコマンドに固有です。 * Google
Cloud Storage --cloud-provider=google-cloud-storage を選択 *
SOURCE_URL はgsとhttpsフォーマットの両方をサポートします。 例:
edb_notranlate_8
一部の詳細は、すべてのバーマンクラウドコマンドに固有です。 * Google
Cloud Storage --cloud-provider=google-cloud-storage を選択 *
SOURCE_URL はgsとhttpsフォーマットの両方をサポートします。 例:
edb_notranlate_8