連載
» 2017年05月30日 05時00分 UPDATE

山市良のうぃんどうず日記(96):Windows UpdateとIaaSクラウドは忍耐が試される? (1/2)

「コンピューターの電源を切らないでください」というメッセージにどれだけの時間、耐えられますか。メッセージを無視して電源を切ると、案の定、状況がさらに悪化して、余計に時間がかかることになるかもしれません。それがクラウド上の仮想マシンとなると、さらに厄介なことになります。

[山市良,テクニカルライター]
「山市良のうぃんどうず日記」のインデックス

「電源を切らないでください」は書いてある通りの意味

 Windows Updateのための再起動中、全面表示の青い画面に「Windowsの準備をしています/コンピューターの電源を切らないでください」と表示されたまま、全く進んでいるように見えない場合、あなたならどれくらい電源を切らずに待てるでしょうか。

 通常であれば、その後、次のように画面が変化します。途中、1回または2回の再起動が行われ、100%完了し、ログオン画面が表示されると更新は完了します。

更新プログラムを構成しています

0%〜30%完了

コンピューターの電源を切らないでください

                 ↓↓↓↓                 

再起動しています

                 ↓↓↓↓                 

更新プログラムを構成しています

30%〜100%完了

コンピューターの電源を切らないでください

 「コンピューターの電源を切らないでください」と表示されている間は、更新プログラムの処理のために、ディスクに対して何らかの書き込みを行っている最中なので、その指示には従うべきです(画面1)。このメッセージを無視して電源ボタンを長押しして強制的に電源をオフにした場合、Windows Updateを管理するデータベースに不整合が発生する可能性がありますし、タイミングによってはファイルシステムが破損してしまうかもしれません。

画面1 画面1 「電源を切らないでください」と表示されているのは、電源を切るとまずい状況だから。何時間待てるかは人それぞれだが、やっぱり切らない方がよい(でも筆者は切ってしまう)

 しかしながら、数時間待っても表示が全く変化しないという場合は、何か異常が発生している(ハングアップしている)可能性が高いでしょう。その場合は、電源を強制的にオフにする以外に方法はありません。別のコンピュータから「Ping」(Ping IPアドレスまたはコンピュータ名)を実行してみて応答があれば、完全にハングアップしているわけではないので、もうしばらく待ってもよいかもしれませんが、状況は変わらないかもしれません。だからといって、あなたが電源をオフにしたその数秒後に、オフにしていなければ次の処理に進んでいたかもしれないのです。

 Windows Updateのユーザーインタフェース(UI)を開いて、更新プログラムの確認を手動で開始した場合も、「ダウンロードしています XX%」や「更新プログラムをインストールする準備 XX%」が途中で止まってしまうように“見える”ことがあります(画面2)。

画面2 画面2 「ダウンロードしています XX%」や「更新プログラムをインストールする準備 XX%」でも、途中で止まっているように見えることがある

 そんなとき、ダウンロードやインストールの準備が完了するのを待たずに、コンピュータを再起動することで、状況が改善して先に進むことがあります。あるいは、全く状況が変わらなかったり、さらに悪化したりすることもあります。いずれにせよ、ダウンロードやインストールの準備途中で再起動したときに、途中で電源をリセットすると状況が悪くなる印象です。

 Windows UpdateをWindowsの自動更新に任せっきりという場合は、「更新の履歴」を時々チェックして、更新プログラムのインストール失敗が続いていないかどうかを確認してみましょう。Windows 10 バージョン1607(Anniversary Update)以前やWindows Server 2016では、最近、累積的な更新プログラムが大きくなり、Windows Updateの確認に時間がかかるようなったような気がします。

 最近のx64版の累積的な更新プログラムは1GBを超えています。その全てがダウンロードされるわけではなく、更新が必要なコンポーネントをチェックして、差分をダウンロードするため、そのチェックに時間がかかっているらしいのです。日常的に、Windows Updateが完了するのに十分な時間、稼働していないコンピュータは、インストールの失敗が繰り返されている可能性があります(画面3)。

画面3 画面3 十分な稼働時間がないと、Windows Updateの自動更新では更新プログラムのインストールが失敗し続けることもある

クラウド上の仮想マシンには「ローカルコンソール」がない!

 筆者は、物理コンピュータでは可能な限りの忍耐で待つことにしています。一方、ローカルにある仮想マシン環境は、Windows Updateを実行する前にチェックポイントを作成し、「いつでもやり直せる」という保険をかけた状態でWindows Updateを実行します。そのため、「コンピューターの電源を切らないでください」で何時間も待つことはせず、うまく進まないようであれば、もう一度、ロールバックしてやり直してみることにしています。

 しかし、その方法はIaaS(Infrastructure as a Service)タイプのクラウド上の仮想マシンでは使っていません。仮想マシンのバックアップやストレージのスナップショットを作成することで同じようなことはできますが、ローカルの仮想マシンのスナップショットのように数クリックでロールバックできるわけではなく、面倒なのです。もっと言えば、バックアップやスナップショットのために余計なクラウド利用料をかけたくないのです。

 もちろん、運用環境であれば、適切にバックアップを行い、保護してください。筆者は評価目的でしかクラウド(筆者の場合はMicrosoft Azure)を使用していないので、問題があれば作り直せばいいという前提で使っています。だからといって、作り直すのも面倒です。だから、毎月のWindows Updateはドキドキなのです。

 Microsoft Azureに限らず、主要なパブリッククラウドは仮想マシンのローカルコンソールへの対話的なアクセスを提供していません。Linux仮想マシンはSSH接続、Windows仮想マシンはリモートデスクトップ(RDP)接続が主流です。そのため、更新のために再起動を開始したら、無事に生還するのを祈るしかないのです。そして、時々、戻ってこないことがあります。そんなときは、ごめんなさいと思いながら、クラウドのポータルから「再起動」または「停止(割り当て解除)」して「開始」します。つまり、電源ボタンの長押しと同じことをします(画面4)。

画面4 画面4 再起動後に仮想マシンが返ってこない(RDP接続できない)場合は、「再起動」や「停止」「開始」で仮想マシンをリセット

 やみくもに仮想マシンをリセットするわけではありません。Microsoft Azureは「ブート診断」というローカルコンソールのスクリーンショットを取得する機能を提供しています。この「ブート診断」機能を利用して、ローカルコンソール出力を確認し、全く進んでいないようであれば仮想マシンをリセットするようにしています(画面5)。

画面5 画面5 仮想マシンをリセットする前に、ローカルコンソールのスクリーンショット(読み取り専用)で状態を確認

 「死のブルースクリーン」(Blue Screen of Death:BSoD)と呼ばれるストップ(STOP)エラーが発生している場合も、この機能で判断できます。筆者はユーザーではないので詳しくはないですが、Amazon Web Services(AWS)の「Amazon Elastic Compute Cloud(EC2)」にも同じような機能があるようです。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。