ふとしたときにサーバーのアップグレードを考えると、「ダウンタイムは大丈夫?」「設定が消えてしまわない?」といった不安がよぎるかもしれません。特にNLBで複数サーバーを連携させている場合、サービス影響をどのように最小化すればよいのか、慎重な計画が必要です。本記事では、Windows Server 2012 R2からWindows Server 2019へのインプレースアップグレードを検討する際の注意点や手順、NLB構成でのポイントを中心に、わかりやすく解説します。
Windows Serverのインプレースアップグレードに潜むリスクと注意点
Windows Serverのインプレースアップグレードは、既存の設定やデータを引き継いだまま、新しいバージョンのOSへ更新できるメリットがあります。しかし、クリーンインストールに比べて下記のようなリスクや注意点が存在します。
OS周りの不整合と互換性トラブル
アップグレード作業では、OSに関わるファイルやドライバ、各種レジストリ設定が大幅に変更されます。そのため、下記のような不具合が発生する可能性があります。
- ドライバの互換性問題(ネットワークアダプタやストレージ関連など)
- レジストリのコンフリクトによるサービス起動エラー
- 一部機能がOSバージョンアップに伴ってサポート外となる
特にNLBなどのネットワーク関連機能を使用している場合、アップグレード後に設定が正しく引き継がれず、NLBクラスタ全体の動作に影響を及ぼす可能性があるため注意が必要です。
ドメイン環境への影響
ドメイン参加しているサーバーをインプレースアップグレードすると、ドメインコントローラーとの認証情報やレプリケーション関連で不整合が発生するリスクがあります。グループポリシーやDNS設定が原因で障害が発生するケースもあるため、特に以下のポイントを確認しましょう。
- アップグレード対象のサーバーがドメインコントローラーを兼任していないか
- DNSやDHCPなど重要サービスが停止した場合の影響範囲
- グループポリシーによるソフトウェア配布やセキュリティ設定
大規模ドメイン環境であれば、事前にドメインコントローラー側や他のメンバーサーバーとの連携テストを行うことが望ましいです。
IISやアプリケーションの停止
インプレースアップグレードでは、サーバーが再起動しながら新しいOSに移行していきます。IISを利用している場合は当然ながらWebサービスが一時停止します。NLB構成で負荷分散を行っている場合でも、片方のサーバーが停止するタイミングでは、もう片方のみで処理を行うことになります。その結果、一時的にレスポンスが遅くなったり、セッションが切断される可能性がある点に注意が必要です。
NLB構成でのポイント:ダウンタイムを最小化する方法
Windows ServerでNLB(Network Load Balancing)を利用している環境では、二重化による高可用性を確保しながらアップグレードすることが可能です。ここではNLB構成でダウンタイムを最小化しつつアップグレードを進める主な手順を紹介します。
片側ずつアップグレードするローリングアップグレード方式
NLBでペア(または複数台)運用している場合、まずは一台だけをアップグレードし、正常稼働を確認してからもう一台をアップグレードする方法が基本です。これをローリングアップグレードと呼びます。
- アップグレード対象サーバーをNLBクラスタから一時的に除外する(停止またはドレイニング)。
- 対象サーバー上のサービスを停止し、バックアップ取得後にインプレースアップグレードを実行。
- アップグレード完了後、イベントログやNLBステータス、IIS動作などを確認。
- 問題なければ、NLBクラスタへ復帰させる。
- もう一方のサーバーに対して同様の手順を実施。
このように片方が常に稼働状態を保てるため、完全なダウンタイムを回避しつつアップグレードを進めることができます。ただし、アップグレード時や再起動のタイミングでは処理が集中するサーバーが一台に限られるため、トラフィックが一時的に増加し負荷が高まる可能性があります。
NLBのモードとネットワーク設定の再確認
NLBには主に以下のモードがありますが、どのモードを使用しているかによって設定の引き継ぎ状況が変わる場合があります。アップグレード前に、自分の環境がどのモードかチェックしておきましょう。
| モード | 概要 |
|---|---|
| ユニキャストモード | クラスターのMACアドレスを共有し、各ホストのNICが同一のMACを使用する。スイッチによってはポート間通信に制限がかかる可能性がある。 |
| マルチキャストモード | クラスターのMACアドレスをマルチキャストアドレスとして設定する。スイッチやルーターでマルチキャスト設定が必要になることがある。 |
| IGMPマルチキャスト | IGMPスヌーピングを利用し、ブロードキャストを抑制しながらマルチキャストを使用できる。ネットワーク機器の対応状況に注意。 |
アップグレード後、NLBの設定が正しく引き継がれていないと、クラスターIPでの応答が得られなかったり、NLB全体が正しく動作しないケースがあります。特にマルチキャストを利用している場合、OSバージョンアップでNICやドライバの挙動が変わり、設定を再適用する必要がある場合があります。
アップグレード前に準備しておきたいバックアップとテスト
インプレースアップグレードに限らず、サーバーの大幅な変更時には必ず十分なバックアップとテスト環境を用意することが鉄則です。
バックアップの種類とポイント
- システムイメージバックアップ:OS全体とブート情報を含むバックアップ。障害が発生した場合には最も確実な復旧手段となる。
- データバックアップ:IISのコンテンツやログ、アプリケーションデータなどを個別にバックアップ。復旧時にファイル単位で戻せる利点がある。
- 構成設定のエクスポート:IISサイト設定(applicationHost.configやWeb.config)やNLB関連のスクリプトをエクスポートし、万一設定が飛んだ際にもすぐに復旧できるようにする。
バックアップに役立つPowerShellコマンド例
IIS構成のエクスポートはPowerShellでも行えます。たとえば、次のようにappcmdツールを使ってIISのサイト設定をバックアップすることが可能です。
# IIS全体の設定をバックアップ(既定パスにバックアップファイルを作成)
Import-Module WebAdministration
$appPoolConfigPath = "C:\Backup\IIS\appHostConfig\"
if (!(Test-Path $appPoolConfigPath)) {
New-Item -ItemType Directory -Force -Path $appPoolConfigPath
}
cd "IIS:\"
Backup-WebConfiguration -Name "PreUpgradeBackup" -Location $appPoolConfigPath
また、NLB設定のスクリプトも「NLBMgr.exe」を使用したエクスポートや、nlb.exe /exportコマンドなどを活用できます。これらのバックアップがあれば、万が一の時に迅速にNLB設定を再構築可能です。
テスト環境でのシミュレーション
大きな変更を加える前に、できるだけ本番環境と近い構成のテスト環境でインプレースアップグレードを試すことをおすすめします。テスト環境で以下の点を必ずチェックしましょう。
- OSアップグレードの途中でエラーが発生しないか
- NLBクラスタ設定が正しく引き継がれるか
- IIS上のWebサイトにアクセス可能で、動作が安定しているか
- サードパーティ製ウイルス対策ソフトや管理ツールとの互換性
ここで何か問題が見つかった場合は、テスト環境で対処法を確立し、万全の体制で本番作業に臨むようにしましょう。
インプレースアップグレードの具体的ステップ
ここではWindows Server 2012 R2からWindows Server 2019へのアップグレードを例に、ざっくりとした流れを解説します。実際の作業では、Microsoft公式ドキュメント「Perform a Feature Update of Windows Server」などを合わせて参照してください。
1. 事前チェック
- Windows Updateが最新であることを確認し、全ての更新プログラムを適用。
- デバイスマネージャーで未知のデバイスやエラーがないか確認。
- アプリケーション互換性をあらかじめ調査。特にウイルス対策ソフトは最新バージョンにしておく。
2. バックアップ取得
- システムイメージを作成し、外部ストレージやクラウドに保管。
- IISやNLB設定のバックアップ、データベースのバックアップなどを確実に取得。
- バックアップのリストア手順もあらかじめ確認しておく。
3. NLBから対象サーバーを切り離す
- NLBマネージャーで対象サーバーの状態を「ドレインストップ」または無効化設定し、新規リクエストを受け付けないようにする。
- 既存のセッションが切れたタイミングでサービス停止を行う。
4. インプレースアップグレード実施
- Windows Server 2019のインストールメディア(ISOなど)をマウント。
- セットアップを開始し、「インプレースアップグレード」を選択。必要に応じてプロダクトキー入力。
- ライセンス条項に同意し、アップグレードの種類で「個人用ファイルとアプリを引き継ぐ(アプリを保持)」を選択。
- セットアップが完了するまでサーバーを再起動しながら待機。
5. 動作確認とNLBへの復帰
- アップグレード完了後、イベントビューアーをチェックし、エラーや警告がないか確認。
- サービスマネージャーでIISが正常起動しているかどうかを確認。
- NLBマネージャーで該当サーバーの状態を有効にし、クライアントから負荷分散アクセスできるかテスト。
アップグレード後に気を付けたい追加作業
OSが新しくなると、いくつか再設定が必要になるケースがあります。以下はよく見落とされがちなポイントです。
サードパーティ製ソフトウェアの再インストール
アップグレードに伴って、一部のサードパーティ製ソフトウェアが正常動作しなくなる可能性があります。特に下記のようなソフトは注意が必要です。
- ウイルス対策ソフト:古いバージョンだとOSの新しいセキュリティ機能に対応できない場合がある。
- サーバー管理ツール:SNMPなどの機能やAPIの変更に対応していないバージョン。
- バックアップソフト:Windows Server 2019に対応したエージェントのインストールが必要なケース。
各ベンダーのサポートページを確認し、最新パッチやアップデートを当てておきましょう。
IIS設定の微調整
Windows ServerのバージョンアップによってIISの動作仕様が微妙に変わる場合があります。例えば、暗号化プロトコルやTLSバージョンのデフォルト設定が変更になるケースです。これにより、特定の古いブラウザやクライアントが接続できなくなる可能性があります。
また、IISのモジュール(URL Rewriteなど)を導入している場合は、対応バージョンを確認し、適切に再インストールまたはアップデートしてください。
NLB関連のレジストリ設定
特殊なNLB設定をしている場合、レジストリを直接編集しているケースがあります。アップグレード後にそれらのカスタマイズが失われる可能性があるため、事前にレジストリのエクスポートや設定内容をメモしておきましょう。
具体的には以下のようなキーが該当します(例示であり、実際の環境に合わせてご確認ください)。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters
トラブルシューティングとロールバック戦略
もしアップグレード中・アップグレード後に問題が発生した場合に備えて、早急にロールバックできる手段を用意しておくことは非常に重要です。
トラブルシューティングの基本ステップ
- イベントログ(システムログ、アプリケーションログ)でエラー発生箇所を特定。
- サービス一覧から、停止しているサービスを確認し手動起動を試す。
- NLBマネージャーでクラスタステータスを確認し、設定の再適用を行う。
- ネットワークアダプタのプロパティでNLBドライバが有効かどうかをチェック。
ロールバックの手段
- システムイメージからの復元:事前に作成したイメージを使ってOSごと巻き戻す。
- バックアップしたIIS設定やNLB設定を再適用:OS自体が起動するものの設定が消えた場合はこれを行う。
- クリーンインストールに切り替える:どうしても問題が解決しない場合、クリーンインストールが最後の手段となる。
最初からクリーンインストールを検討する場合は、別途新しいサーバーを用意し、アプリケーションや設定を移行する手法を取ることが望ましいです。
まとめ:綿密な準備と段階的な実施でリスクを最小化
Windows Server 2012 R2から2019へのインプレースアップグレードは、サーバー環境を止めずに移行を行いたい場合に有効な方法です。しかし、NLB構成やIISの設定、ドメイン環境など、注意すべきポイントも多々あります。
以下の要点を押さえておけば、安定したアップグレードが期待できます。
- **事前にテスト環境でアップグレードをシミュレートし、本番環境でのリスクを極力排除する。**
- **バックアップを徹底し、いつでもロールバックできる体制を整えておく。**
- **NLB構成サーバーは片側ずつアップグレードし、サービス影響を最小限に抑える。**
- **OSやアプリケーションの互換性、サードパーティ製ソフトウェアの動作確認を入念に行う。**
適切な手順を踏み、綿密な準備を重ねれば、NLBによる高可用性を活かしたまま新しいWindows Server 2019環境に移行することができます。アップグレード直後はログの監視やパフォーマンスモニタリングを欠かさず行い、万一の問題に素早く対処しましょう。サーバー管理者にとって、安心して運用を続けるためには「準備がすべて」と言っても過言ではありません。

コメント