こんにちは、レムシステム株式会社 ITインフラ担当の小村(@system_kom)です。
先日、弊社で行っていたWindows Storage Server 2012 R2 のセットアップ中にクリティカルな障害が発生しました。Windows Update後にサーバーが起動しなくなるという、リスクの高い障害なので、調査した内容と対応について記載します。
この記事は2015年に発生したトラブルを元に記事にしていますが、2019年にも同じ問題が発生しています。2019年版の原因と対応方法については以下の記事で紹介していますので、参考にして下さい。
-
【2019年版】 Windows Server 2012 がパッチ適用後に再起動を繰り返す障害への対応
こんにちは、ITインフラエンジニアのKomura(@system_kom)です。 マイクロソフトのWindows サーバーOS「Windows Server 2012」使ってますか? WindowsサーバーOS「Windows Server ...
同じ現象で、無駄な時間を浪費しないようにナリッジとして、本問題の詳細を残しておくことにしました。同様の現象でお悩みの方は参考にしていただければ幸いです。
1. 障害の内容
発生する問題はWindows Update実行後に、サーバが起動シーケンスで再起動を繰り返します。セーフモードでも同様で、再起動を繰り返してしまうため、一度発生すると修復が困難です。
2019年12月に発生した同様のトラブルではセーフモードで起動することで、問題を回避できます。
Windows Updateを適用したことが原因で、サーバーが起動しなくなるというのは、Windows NTや2000の時代なら、それ程、話題にはならないと思います。しかし、今回はWindows Server 2012 R2で発生した問題だった為、トラブルシュートに時間が掛かりました。
障害が発生するタイミングは、2012 R2インストール後にWindows Updateを実行した時。もう少し詳細に状況を調査・確認すると、Windows Updateの初回では発生せず、2回目の以降の実行で障害が発生するようです。
問題となったOSはWindows Storage Server 2012 R2ですが、通常の2012 R2やWindows 8.1でも発生します。今回は、この障害について内容と対策を記載していきます。
1-1. 発生するタイミングの詳細
もう少し調査をしてみると2回目の実行で適用される Windows Server2012 R2 Update (KB2919355) が引き金になっているようです。このパッチは累積的なパッチで、回避することが出来ず適用が必須となります。
KB2919355を適用するまでは、再起動を行っても問題ありませんが、適用後に再起動を繰り返すようになります。毎回、再起動を繰り返すわけではなく、5回に1回程度は正常に起動してくることもあります。
1-2. 障害の対象
以前からWindows Server 2012は何度かセットアップを行っていましたが、このような問題が発生することはなく起動に問題が無かったことから、全ての機器で発生する障害ではないようです。
2019年12月に発生した同様のトラブルではセーフモードで起動することで、問題を回避できます。
2. 障害への対策
KB2919355は累積的なパッチであるため、適用が必須となり、適用しない場合、これ以降の修正パッチを適用することができません。
これ以降にも複数の修正パッチがリリースされており、なんとしても適用する必要があるので関連する情報をマイクロソフトのKBから探していたところ、以下のKBが見つかりました。
KB2966870 8.1 の Windows または Windows Server 2012 の R2 2919355 の更新プログラム ロールアップをインストールした後に再起動の問題を修正します。
https://support.microsoft.com/ja-jp/kb/2966870
本KBによると、Windows Server2012 R2 Update (KB2919355) を適用後に、一部のSASストレージコントローラーが起動するOSが再起動のループを繰り返してしまうとのこと。
2-1. 不具合の発生するストレージコントローラー
具体的には以下のメーカーと型番のコントローラーが、今回の問題に合致してしまうようです。
- Dell H200 PERC コントローラー
- オンボードの SAS2004 ロックの LSI コントローラーの IBM x 240
- LSI 2308 のオンボード コントローラー
- 9211 4i の LSI コントローラー
- 9211 8i を LSI コントローラー
- LSI の SAS 9211
- X10SL7 F の supermicro のマザーボード
回避するためには、上記のKB2966870からパッチをダウンロードして、KB2919355適用前にKB2966870を適用する必要があります。既に再起動を繰り返しているサーバについては、回避策が2つ、マイクロソフトより提示されています。
2019年12月に発生した同様のトラブルではセーフモードで起動することで、問題を回避できます。
方法2はやや手順が複雑そうですので、方法1の「何度か再起動を行い、起動したタイミングでパッチを適用する」で復旧しない場合は、バックアップなどからリストアするか、OSを再インストールしたほうが早そうな気がします。
2-2. 対応の詳細
本問題ですが、弊社ではHP storeeasy 1440/1540 の2台で確認しています。
HP storeeasyはWindows Storage Server2012 R2がセットアップ済みのNAS製品ですが、本現象が発生し、再起動を繰り返しリストアが必要となりました。
リストア後、KB2966870を適用し、KB2919355を適用する形にしたところ、本問題は回避できました。
3. パッチ適用の問題
マイクロソフトのパッチで、このような問題が発生するのは久しぶりです。
WindowsNTや2000の時代には、パッチ適用に関する問題が多くあったように記憶しています。まさかWindows Server 2012で修正パッチによる不具合が起こるとは予想していませんでしたが、パッチ適用はリスクが伴うことを再認識しました。
セキュリティとのトレードオフですが、パッチは適用しておくことが安全な運用を行う前提となります。