これがセットアップです。3つの追加ボリュームを持つ1つの小さなAmazon Linux(EBS-backed)EC2インスタンス。これは、Webサーバーとデータベースサーバーの両方です。コード用の1つのボリューム、PostgreSQL(8.4)データディレクトリ用の1つのボリューム、およびPostgreSQLからのWALファイルを格納するための1つのボリューム。
(1)WALファイルを含むボリュームには、pg_start_backup()を実行した後にコピーされるデータディレクトリのベースバックアップもあります。次に、PostgreSQLからの継続的なアーカイブ出力(WALファイル)を保存します。このボリュームのスナップショットを作成するには、同期を発行してファイルシステムをフリーズする(XFSの場合はxfs_freezeを使用するか、EXT4の場合はdmsetupを使用する)意味がありますか?または、ライブスナップショットを撮ることができますか?WALファイルは、毎分1つの速度で出荷されます。単一のWALファイルがコピーされている間にスナップショットが開始され、データが破損する可能性はありますか?
(2)ライブPostgreSQLデータディレクトリを含むボリュームも、適切な方法で(毎日)バックアップされます。このボリュームのスナップショットを作成する前に、pg_dumpを実行すると、結果のSQLファイルがデータディレクトリに保持されます。実際のデータベースデータの整合性を確保するための予防策を講じることに意味はありますか?ライブスナップショットを作成すると、(a)構成ファイル(postgresql.conf、pg_hba.conf、pg_ident.conf)が適切にバックアップされ、(b)SQLダンプファイルがバックアップされると想定して間違いありませんか。SQLダンプファイルと構成ファイルの2つをバックアップすることが、このボリュームのスナップショットの主なポイントになります。DBはそれほど大きくないので、データファイルがこのスナップショットを膨らませることは気にしません。その場合、ライブスナップショットを作成できます-正しいですか?
(2a)ルートボリュームにデータディレクトリを保持し、SQLダンプファイルと構成ファイルを別のボリュームにコピーするバックアップスクリプトを用意し、コピーが完了したらそのボリュームのスナップショットを作成するほうがよいでしょうか?
(3)コードが含まれているボリュームについて、ファイルシステムを同期してフリーズするポイントはありますか?または、ライブスナップショットのみを取得できますか?このデータはかなり「静的」である必要があります。
(4)これは確かなバックアップスキームですか?ルートボリュームは定期的にバックアップされません。これは、セットアップして構成した後のマシンイメージを保持するだけだからです。
ありがとう