Exchange 2013 のページ解放について
製品: Exchange Server 2013
Exchange 2013 のページ解放
解放とは、削除対象データにゼロかバイナリー パターンのどちらかを書き込んで削除対象データの回復をさらに困難にするセキュリティ メカニズムです。 Exchange 2013 の ESE データベースは、 ページ をストレージの単位として使用し、その結果、 ページゼロを実装します。 ページゼロは既定で有効になっており、無効にすることはできません。 Page zeroing operations are recorded in the transaction log files so that all copies of a database are page-zeroed in a similar manner. Zeroing a page on an active database causes the page to get zeroed on a passive copy of the database.
注:
拡張記憶域エンジン (ESE) が、新しい領域の割り当てよりもゼロページの再利用を優先するメカニズムはありません。 シーケンシャルな領域割り当てが割り当てられているテーブルでは、新しいページまたは空きシーケンシャル ページの使用を優先して、断片化または解放されたページを意図的にスキップします。 このアプローチでは、データベース IOP が削減されます。
Exchange 2013 のページ解放では、解放機能の実行中のサーバーに対するパフォーマンスの影響が軽減されます。 保持されるデータには以下が含まれます。
- 最適化されたストレージとネットワーク容量: ESE は、ページ イメージ全体をログに記録するのではなく、トランザクション ログ ファイルにページ ゼロレコードを書き込みます。 このアプローチでは、ログ書き込み I/O が削減され、ログ ファイルを配布するための帯域幅要件が軽減されます。
- 最適化されたデータベース ディスク I/O: Exchange 2010 RTM 以前では、バックアップ中またはスケジュールされたメンテナンス中にのみページ ゼロが発生し、データベース ディスクの I/O が大幅に発生しました。 Exchange 2010 SP1 以降 (Exchange 2013 を含む) では、ページゼロは既定で発生し、トランザクション時に発生します。 ほとんどの場合、ゼロはハード削除の直後に発生します。 この設計により、データベースはエンジンのチェックポイント深度機能を利用できます。 この機能により、ダーティ ページが一定期間データベース キャッシュに残ります。 近接通信で発生するその他のページ更新では、データベース書き込み I/O が追加されることはありません。 この設計により、ページゼロはデータベースの I/O に大きな影響を与えないので、既定で有効になっています。
ESE データベースでのページの解放の実装
ページ解放では、物理的に削除されたレコードにバイナリ パターンが上書きされます。 ページ ゼロパターンは ESE エンジン操作に固有であり、実行時操作とメンテナンス操作では異なります。 次の表に、特定の実行時操作に対応したパターンを一覧表示します。
ESE 実行時のページ解放の記述パターン
ESE 実行時操作 | パターン |
---|---|
置換 | R |
長い値の削除を記録する | D |
解放されたページ領域 | H |
次の表は、ESE バックグラウンド データベース保守で実行される特定の操作に対応したパターンの一覧です。
ESE バックグラウンド データベース保守中のページ解放の記述パターン
ESE バックグラウンド データベース保守操作 | パターン |
---|---|
レコードの削除 | D |
長い値の削除 | L |
部分的に使用されたページの解放されたページ領域 | Z |
未使用ページの解放されたページ領域 | U |
バックグラウンド データベース保守
バックグラウンド データベース保守は、すべてのデータベースのチェックサム計算とスキャンを連続的に実行するプロセスです。 その主な機能は、データベース ページのチェックサムですが、ストアのクラッシュのためにゼロ化されなかったレコードとページの領域のクリーンアップとゼロ化も処理します。 バックグラウンド データベース保守では、データベースあたり毎秒約 1 MB が処理されます。 タイムリーなページ ゼロ化が優先される場合は、データベース サイズを小さくして、より短い期間 (24 時間など) にクラッシュ回復の場合にページ ゼロが発生するようにすることができます。
バックグラウンド データベース保守は継続的なプロセスのため、その開始と完了に対して何のイベントも関連付けられていません。 パフォーマンス カウンターの値を読み取ることによって、バックグラウンド データベース保守の進捗を追跡できます。
MSExchange Database
-> インスタンス -> データベースのメンテナンス期間
このカウンターは、前回指定されたデータベースの保守が完了してから経過した秒数を示します。
ESE データベース ページの解放のプロセス
次の表に、データベースの削除のシナリオ、およびページ解放機能が実行される時点について説明します。
データベースの削除のシナリオ | データベース データを解放するための ESE プロセスと期間 |
---|---|
|
非同期のスレッドは、バイナリ パターンを削除されたデータに上書きします。 この操作はレコード削除の数ミリ秒以内に実行されます。 次のシナリオでストア プロセスがクラッシュした場合:
バックグラウンド データベースメンテナンスがデータベースのそのセクションを処理すると、ゼロ化が完了します。 |
ビューのシナリオ: Outlook/Outlook Web App フォルダー ビュー (スレッド ビューなど) のアイテムの有効期限 | バックグラウンド データベース保守でデータベースのこのセクションが処理されたときに、データ解放が実行されます。 |
メールボックスの移動/メールボックスの削除のシナリオ: ソース メールボックスの削除 (メールボックスが収集から削除される期限) | バックグラウンド データベース保守でデータベースのこのセクションが処理されたときに、データ解放が実行されます。 |
ページの解放動作を監視する
次の 2 つの ESE カウンターを表示することによって、ページ解放機能を評価または監視できます。
MSExchange Database
-> データベース メンテナンス ページゼロ: パフォーマンス カウンターが呼び出されてからデータベース エンジンによってゼロにされたページ数を示します。MSExchange Database
-> データベース メンテナンス ページのゼロ/秒: ページがゼロになった割合を示します。
注:
これらのカウンターを有効にする方法については、「拡張された ESE パフォーマンス カウンタを有効にする方法」を参照してください。
ページ ゼロはデータベース メンテナンス関数であるため、パフォーマンス情報は次のカウンターに含まれます。
- 実行時トランザクションのページ ゼロ。
- バックグラウンド データベースメンテナンスによるページ ゼロ。
ページ解放を使用しないメールボックス データの種類
次のメールボックス データの種類にはページ解放機能がありません。
メールボックス データベース トランザクション ログ (.log)
トランザクション ログが削除された場合 (バックアップまたは循環ログによる切り捨てにより)、削除されたログ ファイルを格納した NTFS ファイル システム内のブロックをゼロにするプロセスはありません。 NTFS では、新しく作成されたログの空き領域がすぐに再利用される可能性がありますが、これが発生する保証はありません。
コンテンツ インデックス カタログ ファイル
Exchange 2013 では、検索インデックス処理機能に Search Foundation が使用されます。 検索インデックス カタログは、メールボックス データベース ファイルと同じボリュームに格納されている数十のファイルから構成されています。 メッセージがメールボックス データベースから物理的に削除されても、検索カタログ内の関連付けられているコンテンツはすぐには削除されません。 コンテンツの削除が行われるのは、Search Foundation が多数の小さなカタログ ファイルを単一のより大きなファイルにシャドウ結合またはマスター結合するときです。 マスター結合が完了すると、小さいカタログ ファイルが削除されます。 削除されたカタログ ファイルを格納したブロックをゼロにするプロセスはありません。