今回はメールボックス移行(移動)時のトランザクションログの生成量に関してです。

特に、Exchange Serverのバージョンアップ時には、大量のメールボックス移動が発生します。この中で移行先のメールボックスに関しては大量にメールボックス、メールアイテム等を書き込むことになりますのでメールボックスサイズ以上の量のトランザクションログが発生します。一方、移行元のメールボックス側にはトランザクションログは大量に発生するのでしょうか?しないのでしょうか?

この問題は移行案件があるたびに、案件メンバーから質問もでますし、実はネット上の情報も混乱しています。さらに、実際の挙動も不思議な感じです。

確認できるネット上の情報

メールボックス データベースおよびログの容量の要因について: Exchange 2010 のヘルプ http://technet.microsoft.com/ja-jp/library/ee832796(v=exchg.141).aspx

移動元サーバーでログに記録されるのはレコードの削除で、ログの量は多くありませんが、移動先サーバーでは転送されたすべてのデータを最初にトランザクション ログに書き込む必要があります。   Exchange Server 2003 でのメールボックスの移動 http://support.microsoft.com/kb/821829/ja

データを 1 GB 移動するたびに、移動元および移動先のサーバーに 1 GB のトランザクション ログが生成されます。トランザクション ログ ドライブに十分な空き容量があることを確認してください。 バージョンの違いはありますが、真逆のことが書かれています。

 

Exchange Server 2007から2010への移行テストでの実績

以下は特定の環境で簡単にテストしてみた結果です。

- 移行先発生量

100MB移行時 –> 約200MB程度
- 1GB移行時 –> 約1.5GB程度

- 移行元発生量

100MB移行時 –> 約2MB程度
- 1GB移行時 –> 約200MB程度

移行元にもそれなりの量のトランザクションログが生成されています。しかも、元々のメールボックス容量と比較して正比例の関係にもなっていません。

 

また、移行をトリガーとせずにトランザクションログが異常に大量生成されるようなバグも過去存在しています。

- An Exchange Server 2007 mailbox server randomly generates many transaction logs in an Exchange Server 2007 Service Pack 1 environment

http://support.microsoft.com/kb/947014/en-us

さらに、Exchange Server 2013では移行元でも移行先でも無い場所でトランザクションログが生成されるケースもあるそうです。

- Large transaction logs are generated when you move mailboxes in Exchange Server 2013 Administration Center

http://support.microsoft.com/kb/2800556/en-us

 

まとめると以下のとおりです。

- ネット上の単一の情報を根拠に判断してはいけない
- 移行元にもそれなりの量のトランザクションログが生成されることもあることを理解しておく
- Exchange Server 2013では移行元、移行先以外の場所にもトランザクションログが生成される可能性を考慮する必要がある

 

具体的な対応策としてはやはり容量を確保することも当然ながら、一時的にトランザクションログを循環に設定し、トランザクションログの増大を防ぐ事になると思います。このあたりの対応をわすれて移行を実施してしまい、気がついた時にはストアが全部オフラインになっていた・・・となると被害は甚大ですので、注意して計画する必要があります。わかっていても忘れがちなので要注意です。