なんでもシステム管理者(IT大好き?)

なんでもシステム管理者(日本酒大好き)が実質的日本酒のブログになったのでIT関連を分離しました。

WSUS 2016のクリーンアップ

WSUSネタです。

ある朝一昨年に構築したWSUS2016のサーバの容量を何となく確認しました。すると、何とCドライブの容量が・・・残り数MB!!

f:id:shimonof13:20181103180544p:plain

このサーバのCドライブは500GBなんですが、たった2年弱でそんなにも容量を使い切るとは恐るべしWSUS2016!!

緊急措置としてWSUS3.0から持ってきたSQLのバックアップファイルをサーバ外に移動したが確保できたのはたった10GBでした。このままではすぐに枯渇するのは目に見えています。

f:id:shimonof13:20181103180602p:plain

 

 次なる対処をネットで調べてみるとWSUSに付属のクリーンアップツール定期的(一ヶ月?)に実施するようにMSが推奨しているよう。(そうならそうと、インストール時にメッセージ等で促して欲しかった。)以前使用していたWSUS3.0ではこんなにディスクを使うことはなかったので油断していました。今はWindows10の大型アップデートが年に2回もあるので、余計にディスクの消費が大きいのかもしれません。

 

まずは下記サイトに書いてあるWSUSで標準で用意されているクリーンアップツールを試してみます。

https://blogs.technet.microsoft.com/jpwsus/2017/12/05/43/

 

f:id:shimonof13:20181103180940p:plain

しかしNG、クリーンアップツールが起動するが緑のインジケータが半分よりも手前で止まり進まず、最終的にはWSUSの管理画面がタイムアウトしてします。残容量が減り過ぎている場合は、タイムアウトしてしますようです。

 

 次に以下のサイトを発見しました。

WSUS クリーンアップ ウィザードにてタイムアウトが発生する

https://blogs.technet.microsoft.com/jpwsus/2018/02/05/cleanup-timeout/

 

このサイトに載っている対処方法を順に実施

 対処 1. WSUS データ ベースのインデックス再構成を実施する

https://blogs.technet.microsoft.com/jpwsus/2014/03/05/wsus-db/#2

 

Re-index the WSUS 3.0 Database
https://gallery.technet.microsoft.com/scriptcenter/6f8cde49-5c52-4abd-9820-f1d270ddea61

上記サイトにWSUSのインデックスを再構成するためのクエリが記載されています。英語ですし、ちょっと分かりづらいので、下図の赤で囲っている部分をコピーしてテキストファイルにして保存しておくと良いでしょう。

f:id:shimonof13:20181103182051p:plain

SQLサーバ上で上記のクエリを実行する(クエリの実行だけで4分以上かかった)

f:id:shimonof13:20181103181432p:plain

クエリーを実行するだけなので、どのデータベースでも良いようです。
 ※SQL Serverに詳しくない方は、詳しい方に尋ねることをお勧めします。

f:id:shimonof13:20181103181450p:plain

f:id:shimonof13:20181103181502p:plain

 

f:id:shimonof13:20181103181517p:plain

 

f:id:shimonof13:20181103181534p:plain

 

その後、クリーンアップツールを実施するが、変わりなし(T_T)

 

次に

対処 2. Powershell より処理を分割して実行する

PowerShellを管理者として実行したうえで、以下のコマンドを順に実行

 ※「管理者として実行」しないとエラーとなって実行できない

 一つ目のコマンド
Invoke-WsusServerCleanup -CompressUpdates

二つ目のコマンド
Invoke-WsusServerCleanup -CleanupObsoleteUpdates

――――――――――――――――――――――――――――――――――――――

Windows PowerShell

Copyright (C) 2016 Microsoft Corporation. All rights reserved.

 

PS C:\Windows\system32> Invoke-WsusServerCleanup -CompressUpdates

圧縮された更新プログラム:11194

PS C:\Windows\system32> Invoke-WsusServerCleanup -CleanupObsoleteUpdates

削除された古い更新プログラム:2483

PS C:\Windows\system32>

―――――――――――――――――――――――――――――――――――――――

となり、無事完了したかのように見えましたがHDDの空き容量が約5GBのままで増えていない。

対処 3. 繰り返しクリーンアップを実行する

とあるので

再度クリーンアップツールを実行すると以前は緑のインジケータが半分手前ぐらいで止まっていて、最終的にはタイムアウトになっていたが、順調に進み完了しました。(^_^)

f:id:shimonof13:20181103183250p:plain

f:id:shimonof13:20181103183303p:plain

f:id:shimonof13:20181103183313p:plain

が、確保できた空き容量は約60GB・・・少ない。ディスクの消費を示すインジケータが赤から青には変わったけれど、これでは、またすぐに枯渇するのが目に見えいます。

上司は、「作り方分かっているんだから、でかいディスクで1から作り直せばいいじゃん。」と気軽に行ってくれますが・・・構築はともかく、またMicrosoftからの大量のダウンロードを考えると、どれだけ時間がかかるか分かったもんじゃありません!!

 

ここで考えました。幸い、WSUSサーバはVMWare上に構築しており、物理的なディスクは余裕があります。

そこで、ボリュームアップができないか試してみた。

方法は

 ①VM上の設定でディスクの容量を500GB→1TBに変更

 ②WSUSサーバを再起動

 ③ディスクの管理でディスク0で未使用領域があることを確認

 ④ボリュームの拡張で未使用領域を拡張

 無事、容量を認識、空き容量が564GBに増加 (^_^)

f:id:shimonof13:20181103183837p:plain

 ただ、今後もWindows10の大型アップデートは年に2回あるだろうし、放置すると同じ目に合うことは明白ですので、定期的に不要となったアップデートはクリーンアップしていく運用を予定しています。

なんとかなって、良かったです。

同じ、状況で悩んでいる方の一助になれば幸いです。