こんにちは。WSUS サポート チームです。
今回は Windows Server 2012 R2 にインストールした WSUS を、Windows Server 2019 へ移行する手順をご紹介します。
サポート ライフサイクルにあわせて、新しいバージョンへの移行を検討されている方も多いかと思います。
WSUS サーバーを新しいバージョンに移行する場合、以下の方法があります。
- 新サーバーで WSUS を新規構築
- 旧サーバーでバックアップを取得し、新サーバーにリストア
基本的には 1. 新規構築してご利用いただく方法が最もシンプルで推奨される方法になります。
既存のデータを引き継ぎたい場合には、今回ご紹介する 2. データベースのバックアップ / リストアをご検討ください。
なお、WSUS データベースの変更に関して、こちら にデータベースのアタッチ / デタッチの方法を掲載していますが、こちらは同一サーバー上で WSUS データベースを WID から SQL に変更することを目的とした手順であり、今回のように異なるサーバー間の移行シナリオにはご利用いただけませんのでご留意ください。
注意事項
下記内容は 2022/11/28 時点での検証結果をもとにご案内しております。
今後のバージョン変更によって動作しない可能性があり、予告なく内容が更新されることもございますので、その点ご承知置きくださいますようお願い致します。
なお、移行先サーバーが Windows Server 2022 の場合、現在 wsusutil postinstall が正常に動作しない問題があり、本手順をご利用いただけません。
そのため、Windows Server 2022 の場合は、こちら に記載の「A. 一時的にレプリカ構成にする」または「B. 更新プログラム情報をファイル ベースで移行する」の手順による移行をご検討くださいますようお願いいたします。
WSUS 移行手順について (WID -> WID)
前提条件
移行元 サーバー : Windows Server 2012 R2 の WSUS 環境
移行先 サーバー : Windows Server 2019 の WSUS 環境
WSUS は移行元も移行先もデータベースに Windows Internal Database (WID) を利用していることを前提とします。手順
Windows Server 2019 の WSUS のインストールとデータ移行の手順は以下の通りです。
- Windows Server 2019 の WSUS のインストール
- データ移行
- WSUS 更新プログラム バイナリを移行する
- WSUS セキュリティ グループを移行する
- WSUS データベースをバックアップする
- WSUS データベースのバックアップを移行先サーバーで復元する
- WSUS サーバー ID を変更する
- インデックスを再構成する (任意)
- 不足ファイルをダウンロードする (任意)
- 完了確認
各手順の詳細を以下に記載いたします。
1.Windows Server 2019 への WSUS インストール
まず初めに、Windows Server 2019 の WSUS のインストールは、サーバー マネージャーから [役割と機能の追加] をクリックして、インストールします。こちらの手順は以下の公開情報をご参照ください。
Title: 手順 1:WSUS サーバー ロールをインストールする
URL: https://learn.microsoft.com/ja-jp/windows-server/administration/windows-server-update-services/deploy/1-install-the-wsus-server-role
WSUS サーバーの役割のインストールが正常に完了すると、Windows Server Update Services 設定ウィザードが自動的に起動しますが、このウィザードは閉じてください。
2.データ移行
2.1. WSUS 更新プログラム バイナリを移行する
移行元のコンテンツ フォルダー「\<移行元サーバー名>\WsusContent」の内容を、移行先のコンテンツ フォルダー「\<移行先サーバー名>\WsusContent」へコピーします。エクスプローラー、xcopy コマンド、robocopy コマンド等を利用し、コピーすることが可能です。robocopy コマンドを利用する場合は、以下の通りです。
例) 移行元が WSUSOld で、移行先が WSUSNew の場合
1 | robocopy \\WSUSOld\WsusContent \\WSUSNew\WsusContent /E /COPYALL |
2.2. WSUS セキュリティ グループを移行する
WSUS Administrators ローカル セキュリティ グループと WSUS Reporters ローカル セキュリティ グループのみ手動で移行することを選択できます。
この手順を実行する前に、ローカル グループのメンバーであるドメイン ユーザーの名前を、移行先サーバーでも解決できることを確認します。移行元サーバーと移行先サーバーの属するドメインが異なる場合は、移行元ドメインのユーザー アカウントがあるフォレストのグローバル カタログ サーバーに移行先サーバーがアクセスできる必要があります。
WSUS Administrators ローカル セキュリティ グループと WSUS Reporters ローカル セキュリティ グループに手動でユーザーを移行するには、移行先サーバーで次の手順を実行します。
- 手順
- 「ファイル名を指定して実行」画面で lusrmgr.msc と入力して、Enter キーを押します。
- 「ローカル ユーザーとグループ MMC スナップイン」のコンソール ツリーで、[ユーザー] をダブルクリックします。
- 移行元サーバーの WSUS Administrators グループと WSUS Reporters グループに存在したユーザーを手動で作成します。
- ローカル ユーザーとグループ MMC スナップインのコンソール ツリーで、[グループ] をダブルクリックします。
- 移行元サーバーの WSUS Administrators グループと WSUS Reporters グループに存在したユーザーを移行先サーバーの WSUS Administrators グループと WSUS Reporters グループに手動で追加します。
2.3. WSUS データベースをバックアップする
移行元 WSUS サーバーにおいて以下の手順を実施し、WSUS データベース (SUSDB) をバックアップします。
- 下記 URL より SQL Server Management Studio をダウンロードし、WSUS サーバーにインストールします。
Title: Microsoft SQL Server Management Studio
URL: https://learn.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
SQL Server Management Studio を起動して、以下の接続文字列を指定してインスタンスに接続します。
サーバーの種類 : データベース エンジン
サーバー名 :\\.\pipe\Microsoft##WID\tsql\query
認証 : Windows 認証[データベース] を展開し、[SUSDB] データベースを選択します。
データベースを右クリックし、[タスク] をポイントして、[バックアップ] をクリックします。[データベースのバックアップ] ダイアログ ボックスが表示されます。
[データベース] ボックスの一覧で、データベース名を確認します。
[バックアップの種類] ボックスの一覧で、[完全] をクリックします。
[コピーのみのバックアップ] を選択します。コピーのみのバックアップとは、定期的に実行される一連の SQL Server バックアップとは別の SQL Server バックアップです。
[バックアップ コンポーネント] で [データベース] をクリックします。
[バックアップ先] に [ディスク] を選択して、[追加] からバックアップ先を選択します。
[ページの選択] ウィンドウの [メディア オプション] をクリックします。
[メディアに上書きする] オプションで、[既存のバックアップ セットに追加する] にチェックがされていることを確認します。
[信頼性] セクションで、必要に応じて、次のチェック ボックスをオンにします。
- [完了時にバックアップを検証する]
- [メディアに書き込む前にチェックサムを行う]
- [エラーのまま続行する]
[OK] をクリックして、バックアップを作成します。
バックアップ完了後、指定したバックアップ先に作成されたバックアップ ファイルを移行先 WSUS サーバーの任意の場所にコピーします。
2.4. WSUS データベースのバックアップを移行先サーバーで復元する
移行先 WSUS サーバーにおいて以下の手順を実施し、WSUS データベース (SUSDB) を復元します。
- 下記 URL より SQL Server Management Studio をダウンロードし、WSUS サーバーにインストールします。
Title: Microsoft SQL Server Management Studio
URL: https://learn.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
SQL Server Management Studio を起動して、以下の接続文字列を指定してインスタンスに接続します。
サーバーの種類 : データベース エンジン
サーバー名 :\\.\pipe\Microsoft##WID\tsql\query
認証 : Windows 認証[新しいクエリ] をクリックし、次の SQL コマンドをコピーして [実行] をクリックしてクエリを実行します。このクエリにより、WSUS データベースが削除されます。
1 | USE master |
[実行] をクリックしてクエリを実行します。
続けて、次の SQL コマンドをコピーして [実行] をクリックしてクエリを実行します。WSUS データベースをバックアップから復元します。
例) バックアップ ファイルを C:\SUSDB.bak に配置している場合1
RESTORE DATABASE [SUSDB] FROM DISK = N'C:\SUSDB.bak' WITH FILE = 1, MOVE N'SUSDB' TO N'c:\Windows\WID\Data\susdb.mdf', MOVE N'SUSDB_log' TO N'c:\Windows\WID\Data\SUSDB_log.ldf', NOUNLOAD, STATS = 10
この結果として、次のエラー メッセージが表示される場合があります。エラー メッセージを無視して、続行してください。
メッセージ 3605、レベル 16、状態 1、行 1
データベース ‘SUSDB’ のスキーマの検証が失敗しました。
メッセージ 3013、レベル 16、状態 1、行 1
RESTORE DATABASE が異常終了しています。移行先 WSUS サーバー (Windows Server 2019) でコマンド プロンプトを [管理者として実行] にて開き、次のコマンドを実行します。
例) WSUS のインストール フォルダーが D:\WSUS の場合1
2cd %programfiles%\Update Services\Tools
wsusutil postinstall content_dir=D:\WSUS
2.5. WSUS サーバー ID を変更する
移行先サーバーの WSUS サーバー ID は変更する必要があります。この手順を実行すると、移行プロセス中に WSUS 管理のクライアントは影響を受けなくなります。移行元サーバーと移行先サーバーが同じ ID を使用して実行されている場合、サーバーの一方に対して変更を行うと、クライアントとサーバー間の通信は失敗します。
移行先サーバーで、Windows PowerShell を [管理者として実行] にて開き、次のスクリプトを実行します。
1
2
3
4$updateServer = get-wsusserver
$config = $updateServer.GetConfiguration()
$config.ServerId = [System.Guid]::NewGuid()
$config.Save()サーバー ID が変更されたら、すぐにコマンド プロンプトを [管理者として実行] にて開き、次のコマンドを実行して新しい暗号化キーを生成します。
1
2cd %programfiles%\Update Services\Tools
wsusutil.exe postinstall
(任意) 2.6. インデックスを再構成する
インデックスの再構成を定期的に実施していない場合、移行前の WSUS データベースにてインデックスの断片化が発生し、クエリ パフォーマンスが劣化していることがございます。その場合は、インデックス再構成により、クエリ パフォーマンスを改善できます。
コマンドを使ってインデックスの再構成を行う場合には、インデックス再構成用のスクリプトを sql ファイルに保存した上で、以下のコマンドを実行します。
例) C:\Temp\WsusDBMaintenance.sql に実行する SQL 文を保存しており、C:\Temp 配下に実行結果ログを出力する場合
1
2
3
4
5sqlcmd -E -S <インスタンス名> -i
C:\Temp\WsusDBMaintenance.sql -o
C:\Temp\WsusDBMaintenance.out -f 65001
※ WSUS データベースに WID をご利用の場合、<インスタンス名> は、以下を指定します。
\\.\pipe\Microsoft##WID\tsql\query
出力ファイルに “Statistics for all tables have been updated” または”全テーブルの統計が更新されました” というメッセージが 表示されていれば、インデックスの再構成が完了しています。
~ 参考情報 ~
Title: sqlcmd ユーティリティ
URL: https://learn.microsoft.com/ja-jp/sql/tools/sqlcmd-utility?view=sql-server-ver16
Title: WSUS DB インデックスの再構成の手順について
URL: https://jpmem.github.io/blog/wsus/2014-03-05_01/
(任意) 2.7. 不足ファイルをダウンロードする
手順 2.1. でバイナリ ファイルは移行元からコピーされていますが、もし移行元で承認されていたにも関わらず、バイナリが不足している場合は、wsusutil reset コマンドで不足ファイルのみをダウンロードすることができます。もし、クライアントの接続確認の際に 80244019 エラー (HTTP status 404 File Not Found) が発生した場合は、サーバー側の WsusContent フォルダー配下に必要なファイルが不足している可能性がございますので、以下のコマンドの実行をお試しください。
1 | cd /d "C:\Program Files\Update Services\Tools" |
Title: コマンド ラインからの WSUS の管理
URL: https://learn.microsoft.com/ja-jp/security-updates/windowsupdateservices/18111626
—– 抜粋ここから —–
resetデータベースのすべての更新メタデータ行に、ファイル システムに格納されている対応する更新ファイルが含まれていることを確認します。更新ファイルが不足していたり壊れていた場合、WSUS は更新ファイルをもう一度ダウンロードします。
- WSUS データベースを復元した後
- トラブルシューティング時
- —- 抜粋ここまで —–
3.完了確認
移行先サーバーで WSUS 管理コンソールを起動し、初回の設定を必要に応じて行います。WSUS 管理コンソール起動後、更新プログラムの情報や承認情報、グループ情報が移行されていることをご確認ください。また、ダウンストリーム サーバーの接続や WSUS クライアントを移行先の WSUS サーバーと接続できるかどうか確認するためには、以下の内容をご確認ください。
~ 参考情報 ~
3.5. Apply security settings
-Point the downstream servers to the new WSUS server
-Point the WSUS clients to the new WSUS server
https://learn.microsoft.com/ja-jp/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh852349(v=ws.11)#point-the-wsus-clients-to-the-new-wsus-server
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。