Running pgBackRest Locally on the Database Host’

説明

  • pgBackRestはデータベースサーバーでローカルに実行され、リポジトリをリモートストレージ(NFS、S3、AzureまたはGCS互換のオブジェクトストア)に保存します。

*バックアップを取るノードでアクティブなcronタスク。

  • 別のサーバーからバックアップを取得するようにcronタスクを手動で再構成します。

! Use case diagram


構成

グローバルセクション

[global] セクションには次が含まれます。

*リポジトリの場所;

*推奨設定;

*保持ポリシー。

このセクションの設定は、すべてのノード(プライマリとスタンバイ)で同じである必要があります。

マウントポイント

repo1-type を posix または cifs に設定し、共有スペースにバックアップとアーカイブを保存するためのrepo1-path の場所を指定します。

repo1-type=posix
repo1-path=/backup_space

S3互換のオブジェクトストア

repo1-type=s3
repo1-path=/repo1
repo1-s3-bucket=bucket-name
repo1-s3-endpoint=...
repo1-s3-key=accessKey1
repo1-s3-key-secret=***
repo1-s3-region=...

バックアップとアーカイブはbucket-name/repo1 に保存されます。

AWSインスタンスがIAMロールに関連付けられている場合、一時的な認証情報を自動的に取得できます。資格情報は、有効期限が切れてから5分以内に自動的に更新されます。

これを行うには、 repo1-s3-key とrepo1-s3-key-secret を設定する代わりに、次を使用します。

repo1-s3-key-type=auto
repo1-s3-role=authrole

Web ID資格情報を自動的に取得するには、 repo1-s3-key-type=web-id オプションを設定し、 AWS_ROLE_ARN およびAWS_WEB_IDENTITY_TOKEN_FILE 環境変数を定義します。

repo1-s3-kms-key-id オプションを設定して、指定したAWSキーマネージメントサービスキーを使用したサーバー側の暗号化を有効にします。

Azure互換のオブジェクトストア

repo1-type=azure
repo1-azure-key-type=shared
repo1-path=/repo1
repo1-azure-container=container-name
repo1-azure-account=pgbackrest
repo1-azure-key=***

Shared Access Signatureを使用するには、 repo1-azure-key-type オプションを sas に設定し、 repo1-azure-key オプションをSharedアクセス署名トークンに設定します。

GCS互換のオブジェクトストア

repo1-type=gcs
repo1-gcs-key-type=service
repo1-path=/repo1
repo1-gcs-bucket=bucket-name
repo1-gcs-key=/etc/pgbackrest/gcs-key.json

repo1-gcs-key は、 repo1-gcs-key-type オプションに応じて トークン または サービス キーファイルです。

推奨設定

これらの設定を使用して、暗号化と並列操作を有効にし、コンソールとログファイルに十分な情報を表示します。

repo1-cipher-type=aes-256-cbc
repo1-cipher-pass=FIXME
process-max=FIXME
log-level-console=info
log-level-file=debug
start-fast=y
delta=y

暗号化パスフレーズと、圧縮の使用とファイル転送に使用するプロセスの最大数を調整します。

詳細については、 'Recommended Settings' ページを参照してください。

保持ポリシー

古いバックアップとアーカイブを削除できるようにするには、保持ポリシーを定義する必要があります。次の設定を使用して、最新の完全バックアップのみを保持します。

repo1-retention-full=1

その他のオプションと詳細については、 Retention Policy ページを参照してください。

スタンザセクション

[demo] スタンザセクションはデータベースサーバーごとに異なり、次のものが含まれます。

  • PostgreSQL 構成ファイルの場所

pg1-path=/var/lib/pgsql/13/data

または EDBPostgresAdvancedServer

pg1-path=/var/lib/edb/as13/data
pg1-user=enterprisedb
pg1-port=5444
  • 他のすべての PostgreSQL ノード

pg2-host=other_node_hostname_or_ip
pg2-path=/var/lib/pgsql/13/data

または EDBPostgresAdvancedServer

pg2-host=other_node_hostname_or_ip
pg2-host-user=enterprisedb
pg2-path=/var/lib/edb/as13/data
  • restoreコマンドの実行後にレプリケーションprimary_conninfo を設定する特定のリカバリオプション:

recovery-option=primary_conninfo=host=primary_vip user=replication_user ...

アーカイブの設定

pgBackRestを構成したら、各ノードでデータベースアーカイバープロセスを設定します。

#  postgresql.conf

archive_mode = on
archive_command = pgbackrest --stanza=demo archive-push %p

archive_mode パラメーターを変更するにはサービスの再起動が必要であり、 archive_command を変更するには構成のリロードのみが必要であるため、新しいデータベースクラスターを開始するときに空のarchive_command でarchive_mode を有効にすることをお勧めします。

単純な デモ スタンザ構成をセットアップするには、

Quick Start ページを参照してください。

システムユーザー(postgres またはenterprisedb )のIDを想定し、プライマリサーバーからpgBackRestリポジトリを開始します。

$ pgbackrest --stanza=demo stanza-create

構成とアーカイブプロセスを確認します。

$ pgbackrest --stanza=demo check

バックアップと復元

これら2つのコマンドの詳細については、 クイックスタート の バックアップ および 復元 セクションを参照してください。

用語集

pgBackRest

PostgreSQL