WSUSでmovecontent完了後、sqlserverがCPU 100%に貼りついて何もできなくなった話

2015/05/21

Categories: wsus

結論

WSUSサーバのディスク容量が逼迫してきたので、HDDを増設しContentを移動したが、 (この環境では)movecontentしないでアンインストール& 再インストール時にWsusContentのpathを変更した方がよかった。

経緯

HDD増設後NTFSフォーマットして、新ドライブ下フォルダにWsusContentを移動

> cd "C:\Program Files\Update Services\Tools" 
> wsusutil.exe movecontent F:\WSUS F:\move.log

wsustil.exeが完了、コマンドプロンプトに戻ってきた。 上記move.logの内容は下記のとおりで正常に終わったぽい。

2015-05-08T11:58:50 Successfully stopped WsusService.
2015-05-08T11:58:50 Beginning content file location change to F:\WSUS
2015-05-08T13:11:16 Successfully copied content files.
2015-05-08T13:11:16 Successfully copied application files.
2015-05-08T13:11:30 Successfully changed WUS configuration.
2015-05-08T13:11:31 Successfully changed IIS virtual directory path.
2015-05-08T13:11:31 Successfully removed existing local content network shares.
2015-05-08T13:11:31 Successfully created local content network shares.
2015-05-08T13:11:31 Successfully changed registry value for content store directory.
2015-05-08T13:11:31 Successfully changed content file location.
2015-05-08T13:11:33 Successfully started WsusService.
2015-05-08T13:11:33 Content integrity check and repair...
2015-05-08T13:11:37 Initiated content integrity check and repair.

で、WSUS管理コンソールを開いたら応答がなく、 タスクマネージャーで確認したら、sqlserver(Windows Internal Databaseを使用)が CPUを食い尽くしていた。(4コア機なので実際は25%)

WSUSのログ"C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log"を確認すると、SQLserverへの接続がタイムアウトしたというエラーが出ている。 上記move.logの最後にあるように、wsusutil.exeの実行は終了しても その後wsusservice実行の中で整合性チェック&repairが呼出されるらしい。

この処理に要する時間は、更新の数に依存するらしいが目安は不明。 以下のURLによれば「in some cases several days」もあり得るという。

https://social.technet.microsoft.com/Forums/en-US/99df985b-f88b-471b-9b66-fd92203de323/wsus-not-working-after-movecontent?forum=winserverwsus

開発の都合で、多数の製品を同期しており更新の数は多かった。 (管理コンソールが開かなくなったので確認できていない。 WsusContent下のファイル数でいえば3万ぐらいだったと思う)

結局、1週間たってもCPU貼りつき状態のままだったのでアンインストール&再インストールした。 ネットワーク環境の問題もあるので一般化できないが、メタデータ同期+コンテンツDLしなおしで3日必要だった。

環境

>> Home