Windows Server 2012を2012 R2にアップグレードしてみた

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

こんにちは、新人の下山です。
技術1課でのOJT中です。

今回はWindows Server 2012をWindows Server 2012 R2にアップグレードする方法をご紹介します。

 

まず、事前に以下の要件を確認します。

  • ネットワークアダプタとして、Citrix PVドライバを使用していること。Red Hatドライバを使用している場合は、OSのアップグレード前に、ドライバを手動でアップグレードする必要があります。
  • インスタンスのタイプによってはアップグレードのためのリソースが足りないことがあります。その場合はインスタンスを別のタイプに変更し、アップグレードを完了させた後に元に戻すことが必要になります。
  • Windows インスタンス上のルートボリュームに十分な空き容量があること。35GBほどの空きが必要です。ボリュームに十分な空き容量がない場合は、容量を拡張することが必要です。
  • アップグレードパスの決定。OSは同じアーキテクチャにアップグレードする必要があります。Windows Server 2008 R2以降は64ビットシステムのみです。今回は、64ビットシステムを用います。

 

全体の流れは以下の通りです。

  1. インストールメディアボリュームを作成してEC2インスタンスにアタッチ
  2. UpgradeHelperService.exeの実行
  3. アップグレードの実行
  4. アップグレード後のタスクについて

 

1. インストールメディアボリュームを作成してEC2インスタンスにアタッチする

  1. マネジメントコンソールからEC2の画面を開きます。
  2. アップグレードしたいインスタンスの、インスタンスIDとアベイラビリティゾーンを確認しておきます。
  3. EC2のメニューから[スナップショット]を選択します。
  4. [自己で所有]を[パブリックスナップショット]に変更します4
  5. 検索窓に、[所有者:Amazon イメージ]、[説明:Windows]、[search:japanese]とフィルタを追加して、アップグレードしたいスナップショットを選択します。5
  6. 選択したスナップショットを右クリックして、コンテキストメニューの[ボリュームの作成]を選択します。
  7. アップグレードしたいインスタンスのあるアベイラビリティゾーンを選択して、作成します。6
  8. 続いてEC2コンソールのメニューからボリュームを選択します。そして先ほど作成したボリュームを選択します。
    7
  9. 選択したボリュームを右クリックして、[ボリュームのアタッチ]を開きます。
  10. [ボリュームのアタッチ]ダイアログボックスで、インスタンスIDを入力して、アタッチを選択します。8

これで、アップグレードのためのインストールメディアボリュームがEC2インスタンスにアタッチされました。

 

2. UpgradeHelperService.exeを実行する

続いて、UpgradeHelperServiceを使って、ドライバの状態を修正するWindows サービスを作成します。

  1. Windows インスタンスにリモート接続して、C:ドライブに「temp」というフォルダを作成します。
  2. OSUpgrade.zipをダウンロードし、C:tempフォルダに解凍します。
  3. UpgradeHelperService.exeを実行します。ログファイルに警告が含まれていないか確認します。10

 

3. アップグレードを実行する

  1. フォルダの名前を変更してPower Shellを無効にするために、以下の2点を確認します(アンインストールでも大丈夫です)。
    ・[C:WindowsSystem32] フォルダ内の[WindowsPowerShell] フォルダの名前を「oldWindowsPowerShell」に変更します。
    ・[C:WindowsSysWOW64] フォルダ内の[WindowsPowerShell] フォルダも同様に[oldWindowsPowerShell]に変更します。
  2. [管理ツール]を開き、[コンピュータの管理]➝[記憶域]➝[ディスクの管理]と進めます。
  3. ディスクの状態がオフラインになっているので、右クリックから[オンライン]を選択して状態をオンラインにします。
    12
  4. 右クリックからディスクを開きます。13
  5. [source]フォルダを開いて、その中にある[Setup.exe]を実行します。セットアップが始まります。
  6. [オンラインで今すぐ更新プログラムをインストールする(推奨)]を選択します。
  7. [Windows Server 2012 R2 Standard (GUI使用サーバー)]を選択して、[次へ]を押します。14
  8. ライセンス条項のダイアログボックスで、[同意します]にチェックを入れて[次へ]を選択します。
  9. [アップグレード : Windowsをインストールして、ファイル、設定、アプリを引き継ぐ]を選択します。
  10. 最後に、[次へ]を選択します。アップグレードが始まります。
    アップグレードには、40分から数時間程度かかります。アップグレード中は、OSへのアクセスが出来ないため、インスタンスステータスのチェックが失敗します。そのため、システムステータスのチェックのみの成功となり、EC2コンソールでのステータスチェックが1/2失敗になります。アップグレードが完了すると、インスタンスステータスのチェックが成功し「2/2のチェックに合格しました」となります。
  11. アップグレードに成功すると、以下のようなデスクトップが表示されます。Windows Server 2012 R2と表示されていることが確認できます。
    16

 

4. アップグレード後について

  1. インスタンスに接続して、.NET Frameworkのアップグレードを行います。
  2. 2015年2月より前のAMIを用いてアップグレードを行った場合は、EC2configを最新バージョンをインストールします。
  3. UpgradeHelperService.exeを再度実行します。

 

終わりに

このブログでは、Windows Server 2012をWindows Server 2012 R2にアップグレードする方法をまとめました。
関連して、Windows Server 2012 R2ではタスクスケジューラの機能により一定時間動作後にネットワーク接続が失われるというエラーが発生いたしますので(詳しくはこちら)、Windows Server 2012 R2にアップグレードした場合には、PVドライバをAWS PVドライバにアップグレードすることが推奨されます。

 

AWS運用自動化サービス「Cloud Automator」