バックアップ/リカバリ アプライアンス上の PostgreSQL 用の Backup and DR サービス

PostgreSQL は、強力なオープンソースのオブジェクト リレーショナル データベース システムです。SQL 言語を使用および拡張し、複雑なデータ ワークロードを安全に保存してスケーリングするための多くの機能を備えています。

Backup and DR で使用される PostgreSQL バックアップ API

  • ボリュームレベル(Linux 変更ブロックのトラッキングと LVM スナップショット)のバックアップ: Backup and DR は、Linux 変更ブロック のトラッキングと LVM スナップショットを使用してバックアップを実行するときに、PostgreSQL の pg_start_backup(label)pg_stop_backup() コマンドを使用します。

  • 完全 + 増分(ファイルベースの従来型)バックアップ: Backup and DR は、PostgreSQL pg_dump ファイルベースのバックアップ コマンドを使用します。pg_dump コマンドには、データベースの増分変更をキャプチャするオプションがないため、各バックアップは完全なデータベース ダンプ バックアップになります。

    データベースを復元すると、データ領域を物理的に上書きすることでデータベースが復元されます。

  • PostgreSQL ログのバックアップ: ログのバックアップ中、Backup and DR はすべての PostgreSQL WAL(WriteAheadLog)を物理的にコピーします。ログを削除するには、Backup and DR は OS レベルのコマンドを使用します。

仕組み: Backup and DR の Linux CBT を使用したボリュームベースのバックアップ

変更されたブロックのみがビットマップでトラッキングされます。コピーオンライトや I/O を多用するオペレーションはありません。

データ バックアップと復元のプロセスは次のとおりです。

  1. Backup and DR エージェントには、データベース データ領域内の変更されたブロックをトラッキングする CBT があります。

  2. エージェントはデータベース API を呼び出して、データ バックアップのためにデータベースをフリーズまたは一時停止します。

  3. エージェントはデータベース データ領域の LVM スナップショットを作成し、ビットマップを合成します。

  4. エージェントはデータベース API を呼び出して、データベースのフリーズを解除します。

  5. エージェントは変更されたブロックをバックアップ/リカバリ アプライアンスにコピーします。アプライアンスはスナップショットを削除し、バックアップをカタログに登録します。

  6. アプライアンスは内部スナップショットを発行し、特定時点の仮想完全バックアップを合成します。

  7. データ復旧の場合、Backup and DR は書き換え可能なステージング ディスクを即時にマウントし、データベースをオンラインにします。

ボリュームレベルのスナップショット ジョブの場合、quiesce コマンドまたは unquiesce コマンドはプライマリ で実行されます。

select pg_start_backup(<label>);
select pg_stop_backup();

ボリュームレベルのスナップショット ジョブの場合、quiesce コマンドと unquiesce コマンドはスタンバイ ノード で実行されます。

PostgreSQL のバージョンが 10.x 以降の場合:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

PostgreSQL のバージョンが 9.x の場合:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

仕組み: ファイルベースのバックアップ

ファイルベースのバックアップを使用してデータ バックアップと復元を行う手順は次のとおりです。

  1. Backup and DR エージェントはデータベース サーバーにデプロイされます。

  2. ステージング ディスクをデータベース サーバーにマウントします。

  3. dump backup コマンドを使用して完全バックアップを開始し、バックアップをマウントされたディスクに書き込みます。

  4. Backup and DR が内部スナップショットを取得します。ログのバックアップは、構成したスケジュールに従い、ファイル システムから直接、同様の方法で行われます。

  5. データ復元の場合、Backup and DR はステージング ディスクをデータベース サーバーに即時にマウントし、データベース復元オペレーションを開始します。データベースが復元された後、ログを任意の時点まで再生できます。

次のステップ

Backup and DR 用にデータベースを準備する

PostgreSQL 用の Backup and DR のその他のドキュメント