2021年の復元失敗率は、いくつかの組織では34%に上ると報告されています。
生データベースワークロード(Microsoft SQL ServerやExchange Serverなど)の迅速かつ成功した復元に関する問題は特に重要です。これらは通常、仮想または物理マシンのバックアップの間に停止できず、マシンのサイズに応じて数時間かかることがあります。
この問題に対処するために、現代のソリューションでは、クラッシュ一貫性およびアプリケーション一貫性のバックアップを含むいくつかのタイプのバックアップが提供されています。
クラッシュ一貫性のバックアップ バックアップソフトウェアは、データセット全体のスナップショットを同じ時点でどのように取得するのでしょうか?これは、Microsoft Server 2003からWindows OSの一部であるMicrosoftのVolume Shadow Copy Service(VSS)を活用することで実現されます。VSSサービスは、バックアップソフトウェア、シャットダウンできない本番アプリケーション(バックアップが進行中に変更が書き込まれる)およびストレージの異なるコンポーネント間の通信を容易にします。Microsoft VSSが機能する ためには、これらのコンポーネント全てがこの機能をサポートしている必要があります。
A crash-consistent backup takes a snapshot of all the data found on a disk at the exact same time, while preserving the write order. This means that files that rely on each other are backed up at the same point in time, and thus they are consistent. The term “crash-consistent” describes the capturing of the data for backup, as it is similar to a restore point being captured at the instant leading up to a server crashing or being powered off.
バックアップソフトウェアがデータセット全体のスナップショットを同じタイミングで取得する方法はどのようになるのでしょうか?これは、Microsoftのボリューム シャドウ コピー サービス(VSS)を活用することで実現されます。VSSは、Microsoft Server 2003以降のWindows OSの一部です。VSSサービスは、バックアップソフトウェア、シャットダウンできない本番アプリケーション(バックアップが進行中でも変更が書き込まれる)およびストレージとの間で通信を容易にします。Microsoft VSSの動作には、これらのコンポーネントすべてがこの機能をサポートする必要があります。
「VSSリクエスター」であるバックアップソフトウェアは、シャドウコピーの作成を要求します。VSSは、ボリューム上のI/O操作を素早く凍結し、それらをキューに入れます。次に、現在ボリュームで使用中のブロックを記録します。バックアップソフトウェアは、スナップショットのために使用中のブロックを把握しているため、ブロックが変更された後でもディスクからすべてのデータをコピーします。
クラッシュ整合性のあるバックアップは、基本的にディスク上のファイルのコピーとは比べものにならない優れたものです。これは、バックアッププロセスの実行中にファイルが変更された場合、お互いに依存するファイルが整合性のない状態になる可能性があるためです。バックアップウィンドウ内で別のファイルに依存するファイルが変更された場合、これらのファイルは整合性が保たれない状態になります。整合性のないバックアップと比較すると、クラッシュ整合性のあるバックアップの方がはるかに優れています。
一貫性のないバックアップに比べて利点があるにもかかわらず、クラッシュ一貫性のバックアップには限界があります。最も重要なのは、メモリ内の情報や保留中のI/Oトランザクションで見つかった情報が無視されることです。これは、特にMicrosoft SQL ServerやMicrosoft Exchange Serverなどのデータベースアプリケーションの場合に重要です。この種のアプリケーションのクラッシュ一貫性のバックアップでは、データの回復後に手順が必要で、バックアップデータを一貫した状態にするために時間がかかり、データ損失のリスクが高まります。
アプリケーション一貫性のバックアップ
アプリケーション一貫性のバックアップ、またはアプリケーション認識バックアップとしても知られているものは、メモリ内のアプリケーション情報と保留中のI/O操作の両方をキャプチャできます。これは、MicrosoftのサービスであるVSSライターを使用することで可能になります。これらのライターは、シャドウコピーが作成されるときにアプリケーションデータの一貫性を確保します。バックアップソフトウェアがシャドウコピーの作成を要求すると、Microsoft VSSライターやサードパーティのライターが特定のアプリケーションデータに対してVSSに制御を与え、ディスク上のファイルだけでなく、トランザクションの一貫性を持ってそれらのアプリケーションをバックアップできるようにします。
たとえば、Microsoft SQL Serverにはメモリに存在するデータと、待機状態のI/O操作がある可能性があります。ディスク上のファイルに対する通常のクラスシスティックなバックアップは、ファイルレベルで一貫性を保ちますが、それら位置に存在するデータを取得することはできません。しかし、アプリケーションコンシステントなバックアップにおいて、Microsoft SQL ServerのVSSライターを使用することで、メモリに存在する情報を破棄することができ、待機状態のI/O操作がディスクに適切なトランザクション順序でフラッシュされ、アプリケーションデータとともにディスクのバックアップに一貫性のあるトランザクションデータを含むことができます。
Linuxマシンのアプリケーションコンシステントなバックアップ
VSSサービスが利用できないLinuxベースのマシンには、Linuxの前方スクリプトと後方スクリプトコマンドを使用することができます。
- 前方フREEZEスクリプトはVMのスナップショットを取る直前に実行され、I/O操作をクワイエストし、メモリ上の情報をディスクにフラッシュすることができます。
- 後方THAWスクリプトはVMのスナップショットを取る直後に立ち上げられ、I/O操作を解凍し、アプリケーションが通常の操作を再開できるようにします。
アプリケーションコンシステントなバックアップからの復旧
アプリケーションコンシステントとクラスシスティックなバックアップの間には、データの復旧後に行う必要がある作业の量が重要な違いがあります。
- クラスシスティックなバックアップでは、アプリケーションデータが一致しないため、アプリケーションを一致する状態に導入する特定の手順を実行する必要があります。このプロセスは、Microsoft Exchange ServerやMicrosoft SQL Serverなどの製品によって異なります。
- アプリケーション整合性のあるバックアップでは、アプリケーションデータは既に整合性がある状態です。アプリケーションデータの災害復旧シナリオでは、クラッシュ整合性のあるバックアップよりもアプリケーション認識のあるバックアップを持つことが非常に有益です。なぜなら、復旧プロセスがはるかに高速で信頼性が高くなるからです。
VSSライターコマンド
vssadminはVSSライターの強力なトラブルシューティングツールであり、コマンドラインから利用可能な多くのオプションがあります。vssadmin list writersコマンドを使用して、Windows内のVSSライターの状態を確認できます。以下の画像は、VSSの特別なSqlServerWriterおよびExchangeのMicrosoft Exchange Writerを示しています。
Microsoft Exchange Writerが以下に示されています。
以下は、vssadminユーティリティでサポートされているコマンドです。
クラッシュ整合性対アプリケーション整合性バックアップ
クラッシュ整合性とアプリケーション整合性のバックアップの違いについて、簡単に概観します。
操作 | クラッシュ整合性 | アプリケーション整合性 |
ファイルの一貫した時点でのバックアップ | はい | はい |
ブロックレベルのバックアップに使用されるボリュームシャドウコピー | はい | はい |
アプリケーションの整合性 | いいえ | はい |
メモリ情報と保留中のI/Oトランザクションを認識 | いいえ | はい |
VSSライターを使用 | いいえ | はい |
アプリケーションデータの復元に特別な手順は不要 | いいえ | はい |
Conclusion
クラッシュ整合性とアプリケーション整合性のバックアップは、Microsoft SQL ServerやMicrosoft Exchange Serverのようなライブアプリケーションのデータを処理する方法には明確な違いがあります。クラッシュ整合性のバックアップは、メモリ内データや保留中のI/O操作をコピーしません。アプリケーション認識型のバックアップは、これらの一時的なデータを認識し、WindowsのVSSサービスのコンポーネントであるVSSライターを活用してアプリケーションを適切にクワイエット状態にし、メモリと保留中のI/Oをディスクにフラッシュして、トランザクションの整合性を保った状態で正しくバックアップします。
現代のvSphereバックアップソリューション、例えばNAKIVO Backup & Replicationは、さまざまなワークロード向けの複数のバックアップオプションを提供し、データを保護し、災害後の復旧を確実にします。すべての高度なツールと機能を確認するには、無料版をダウンロードしてください。
Source:
https://www.nakivo.com/blog/crash-consistent-vs-application-consistent-backup/