LVMボリューム上に構築された数百の仮想マシンのバックアップ戦略の一環として、次のことを検討しています。
- 仮想マシンを終了します。
- MySQLおよびLDAPデータベースを含む、ユーザーとアプリケーションのデータを含むLVMボリュームのスナップショットを撮ります。
- 仮想マシンを起動します。
- LVMボリュームをバックアップします。
- スナップショットを削除します。
私の目的は、データ、特にデータベースの一貫性を確保することです。使用量が少ない時間にこれを行うと仮定すると、これは合理的ですか、それとも過度ですか?サーバーがダウンしている間にユーザーがサーバーにアクセスする可能性を考慮する必要がありますが、完全なデータの一貫性を得るためには、そのコストを喜んで受けることができます。
LVMスナップショットは通常、データの一貫性を保証しません。そうですか?たとえば、LVMスナップショットがある時点でファイルシステムを凍結しても、その時点でMySQLデータベースがトランザクション中にあったかどうかはわかりません。一部のデータベース(すべてではない)はデータの一貫性を確保するためのバックアップツールを提供していますが、これはアプリケーションレベルのバックアップ戦略が必要であることを意味し、これは多くの作業のように聞こえます。
夜間に未使用のWebアプリケーションを含むVMを使用する上記のユースケースでは、数ミリ秒のダウンタイムを費やすことができますが、理想的にはこれを回避したいと思います。