DHCP フォルダーに大量の j50xxxxx.log が存在する現象について

こんにちは。

今回は、Windows Server 2012 と Windows Server 2012 R2 上で動作している DHCP サーバーが使用するトランザクションファイルが、大量に残存する現象について説明します。

概要
DHCP サーバーでは、管理している情報を Extensible Storage Engine (ESE) と呼ばれるデータベースに保持しています。
DHCP サーバーのインストールフォルダー (%windir%\system32\dhcp フォルダー) に、この ESE が使用するトランザクションファイルが大量に存在する現象になります。
なお、トランザクションファイルは、j50 で始まるファイルになり、 1 時間に 2 ファイルずつ作成されていきます。(サイズは 1MB)

詳細
DHCP サーバーでは、既定で 1 時間に 1 回バックアップ、およびデータベースのクリーンアップ処理が実施されます。
このタイミングで、それぞれトランザクションファイルが作成され、既存のトランザクションファイルの内容がデータベースに反映されます。
どこまでのトランザクションファイルをデータベースに反映させるのかの判断は、ESE の内部処理となっていますが、DHCP のインストールフォルダーにある j50.chk ファイルで、どこまで反映させているのかを管理しています。
通常は、適宜 j50.chk が更新され、それに伴いトランザクションファイルがデータベースに反映されます。
そして、反映されたトランザクションファイルは削除されます。

原因
原因については調査中ですが、この現象が発生するのは DHCP のトランザクションが少ない、つまり DHCP のクライアントの台数が少ない環境といった特徴があります。
この現象が発生している環境では j50.chk ファイルが更新されておらず、データベースへの反映が行われていない状況となっています。
その結果、トランザクションファイルが削除されず、残り続けます。

回避策
DHCP サーバーを再起動することで、j50.chk が更新され、その結果トランザクションファイルが削減されることが確認できています。
今回の現象は、DHCP クライアントの台数が少ない環境で発生する特徴がありますので、DHCP サービスの再起動による影響が軽微な時間帯があるかと思います。
運用環境に合わせて、定期的に DHCP サーバーを再起動するタイミングについてご検討をお願いします。

 

[2016/08/18 追記]
この問題の修正が、以下の 2016 年 8 月の累積的な修正プログラムに含まれています。

<Windows Server 2012 向け>
タイトル: August 2016 update rollup for Windows Server 2012
<https://support.microsoft.com/ja-jp/kb/3179575> ダウンロード用 URL:
<https://www.microsoft.com/ja-JP/download/details.aspx?id=53573>

 

<Windows Server 2012 R2 向け>
タイトル: August 2016 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2
<https://support.microsoft.com/ja-jp/kb/3179574> ダウンロード用 URL:
<https://www.microsoft.com/ja-JP/download/details.aspx?id=53578>