メニュー
Amazon Elastic Compute Cloud
Windows インスタンス用ユーザーガイド

PV ドライバーのトラブルシューティング

このトピックでは、Amazon EC2 PV ドライバーで発生する可能性がある一般的な問題の解決策について説明します。

Windows Server 2012 R2 でインスタンスの再起動後にネットワークおよびストレージとの接続が失われる

2014 年 9 月 10 日より前に使用可能になった Windows Server 2012 R2 Amazon Machine Image (AMI) では、インスタンスの再起動後にネットワークおよびストレージとの接続が失われることがあります。AWS マネジメントコンソールのシステムログに "Difficulty detecting PV driver details for Console Output" というエラーが見つかります。この接続損失は Windows Server 2012 R2 のプラグアンドプレイクリーンアップ機能によって発生します。これは、30 日ごとに非アクティブなシステムデバイスをスキャンして無効にする機能です。この機能は EC2 ネットワークデバイスを非アクティブと誤認して、システムから削除します。この状況になると、インスタンスの再起動後にネットワーク接続が失われます。

この問題の影響を受ける可能性のあるシステムに対して、インプレースドライバーアップグレードをダウンロードして実行できます。インプレースドライバーアップグレードを実行できない場合は、ヘルパースクリプトを実行できます。スクリプトはインスタンスがこの問題の影響を受けているかどうかを調べます。影響を受けていて、Amazon EC2 ネットワークデバイスが削除されていない場合、スクリプトはプラグアンドプレイクリーンアップスキャンを無効にします。Amazon EC2 ネットワークデバイスが削除されている場合、スクリプトはデバイスを修復し、プラグアンドプレイクリーンアップスキャンを無効にしてから、インスタンスを再起動して、ネットワーク接続を有効にします。

このセクションの内容

この問題の修正方法の選択

この問題の影響を受けたインスタンスへのネットワークおよびストレージ接続を復元する方法は 2 つあります。次のいずれかの方法を選択します。

方法 前提条件 手順概要
方法 1 - 拡張ネットワーキング 拡張ネットワーキングは、C3 インスタンスタイプを必要とする Virtual Private Cloud (VPC) でのみ利用できます。サーバーが現在 C3 インスタンスタイプを使用していない場合は、一時的に変更する必要があります。拡張ネットワーキングは、ec2-classic には使用できません。 サーバーインスタンスタイプを C3 インスタンスに変更します。拡張ネットワーキングにより、影響を受けたインスタンスに接続して問題を修正できるようになります。問題を修正した後、インスタンスを元のインスタンスタイプに戻します。この方法は、通常は方法 2 よりすぐに終わり、ユーザーエラーが発生する可能性が低くなります。C3 インスタンスが実行されている限り追加料金が発生します。
方法 2 - レジストリ設定 2 番目のサーバーを作成したりアクセスしたりする知識。レジストリ設定を変更する知識。 影響を受けたインスタンスからルートボリュームをデタッチして別のインスタンスにアタッチし、接続してレジストリに変更を加えます。追加のサーバーが実行されている限り追加料金が発生します。この方法は、方法 1 より時間がかかりますが、この方法は方法 1 で問題が解決されない場合も効果がありました。

方法 1 - 拡張ネットワーキング

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Instances] を選択します。

  3. 影響のあるインスタンスを特定します。インスタンスの右クリックコンテキストメニューを開き、[Instance State]、[Stop] の順に選択します。

    警告

    インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。したがって、インスタンスストアボリューム上に維持したいデータがある場合は、必ず永続的ストレージにバックアップしてください。

  4. インスタンスの停止後、バックアップを作成します。インスタンスの右クリックコンテキストメニューを開き、[Image]、[Create Image] の順に選択します。

  5. インスタンスタイプを C3 インスタンスタイプに変更します。

  6. インスタンスを起動します。

  7. リモートデスクトップを使用してインスタンスに接続し、AWS PV ドライバーアップグレードパッケージをインスタンスにダウンロードします。

  8. フォルダの内容を抽出し、AWSPVDriverSetup.msi を実行します。

    MSI の実行後、インスタンスは自動的に再起動され、ドライバーがアップグレードされます。インスタンスは最大 15 分間、使用できなくなります。

  9. アップグレードが完了し、インスタンスが Amazon EC2 コンソールの両方のヘルスチェックに合格した後、リモートデスクトップを使用してインスタンスに接続し、新しいドライバーがインストールされたことを確認します。デバイスマネージャーの [Storage Controllers] で、[AWS PV Storage Host Adapter] を見つけます。ドライバーバージョンがドライバーのバージョン履歴の表に掲載されている最新バージョンと同じであることを確認します。詳細については、「AWS PV ドライバのバージョン履歴」を参照してください。

  10. インスタンスを停止し、インスタンスを元のインスタンスタイプに戻します。

  11. インスタンスを起動し、標準の使用を再開します。

方法 2 - レジストリ設定

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Instances] を選択します。

  3. 影響のあるインスタンスを特定します。インスタンスの右クリックコンテキストメニューを開き、[Instance State]、[Stop] の順に選択します。

    警告

    インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。したがって、インスタンスストアボリューム上に維持したいデータがある場合は、必ず永続的ストレージにバックアップしてください。

  4. [Launch Instance] を選択し、影響のあるインスタンスと同じアベイラビリティーゾーンに Windows Server 2008 または Windows Server 2012 の一時インスタンスを作成します。Windows Server 2012 R2 インスタンスは作成しないでください。

    重要

    影響のあるインスタンスと同じアベイラビリティーゾーンにインスタンスを作成しない場合、影響のあるインスタンスのルートボリュームを新しいインスタンスにアタッチできません。

  5. ナビゲーションペインの [Volumes] を選択します。

  6. 影響のあるインスタンスのルートボリュームを見つけます。ボリュームをデタッチし、先ほど作成した一時インスタンスにアタッチします。デフォルトのデバイス名 (xvdf) でアタッチしてください。

  7. リモートデスクトップを使用して一時インスタンスに接続したら、Disk Management ユーティリティを使用してボリュームを有効にします

  8. 一時インスタンスで、[Run] ダイアログボックスを開き、regedit と入力して、Enter キーを押します。

  9. レジストリエディターのナビゲーションペインで、[HKEY_Local_Machine] を選択し、[File] メニューの [Load Hive] を選択します。

  10. [Load Hive] ダイアログボックスで、Affected Volume\Windows\System32\config\System に移動し、[Key Name] ダイアログボックスに一時的な名前を入力します。たとえば、「OldSys」と入力します。

  11. レジストリエディターのナビゲーションペインで、以下のキーを見つけます。

    HKEY_LOCAL_MACHINE\your_temporary_key_name\ControlSet001\Control\Class\4d36e97d-e325-11ce-bfc1-08002be10318

    HKEY_LOCAL_MACHINE\your_temporary_key_name\ControlSet001\Control\Class\4d36e96a-e325-11ce-bfc1-08002be10318

  12. キーごとに、[UpperFilters] をダブルクリックし、XENFILT の値を入力して、[OK] をクリックします。

     影響のあるボリュームのレジストリキー。
  13. 以下のキーを見つけます。

    HKEY_LOCAL_MACHINE\your_temporary_key_name\ControlSet001\Services\XENBUS\Parameters

  14. ActiveDevice という名前と以下の値で新しい文字列 (REG_SZ) を作成します。

    PCI\VEN_5853&DEV_0001&SUBSYS_00015853&REV_01

  15. 以下のキーを見つけます。

    HKEY_LOCAL_MACHINE\your_temporary_key_name\ControlSet001\Services\XENBUS

  16. Count を 0 から 1 に変更します。

  17. 以下のキーを見つけ、削除します。

    HKEY_LOCAL_MACHINE\your_temporary_key_name\ControlSet001\Services\xenvbd\StartOverride

    HKEY_LOCAL_MACHINE \your_temporary_key_name\ControlSet001\Services\xenfilt\StartOverride

  18. レジストリエディターのナビゲーションペインで、最初にレジストリエディターを開いたときに作成した一時キーを選択します。

  19. [File] メニューの [Unload Hive] を選択します。

  20. Disk Management ユーティリティで、先ほどアタッチしたドライブを選択し、右クリックコンテキストメニューを開いて、[Offline] を選択します。

  21. Amazon EC2 コンソールで、影響のあるボリュームを一時インスタンスからデタッチし、/dev/sda1 というデバイス名で Windows Server 2012 R2 インスタンスに再アタッチします。ボリュームをルートボリュームとして指定するには、このデバイス名を指定する必要があります。

  22. インスタンスを起動します。

  23. リモートデスクトップを使用してインスタンスに接続し、AWS PV ドライバーアップグレードパッケージをインスタンスにダウンロードします。

  24. フォルダの内容を抽出し、AWSPVDriverSetup.msi を実行します。

    MSI の実行後、インスタンスは自動的に再起動され、ドライバーがアップグレードされます。インスタンスは最大 15 分間、使用できなくなります。

  25. アップグレードが完了し、インスタンスが Amazon EC2 コンソールの両方のヘルスチェックに合格した後、リモートデスクトップを使用してインスタンスに接続し、新しいドライバーがインストールされたことを確認します。デバイスマネージャーの [Storage Controllers] で、[AWS PV Storage Host Adapter] を見つけます。ドライバーバージョンがドライバーのバージョン履歴の表に掲載されている最新バージョンと同じであることを確認します。詳細については、「AWS PV ドライバのバージョン履歴」を参照してください。

  26. この手順で作成した一時インスタンスを削除するか停止します。

修復スクリプトを実行する

インプレースドライバーアップグレードを実行できないか、新しいインスタンスに移行できない場合は、修正スクリプトを実行して、プラグアンドプレイクリーンアップタスクによって発生する問題を修正できます。

修復スクリプトを実行するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Instances] を選択します。

  3. 修復スクリプトを実行するインスタンスを選択します。インスタンスの右クリックコンテキストメニューを開き、[Instance State]、[Stop] の順に選択します。

    警告

    インスタンスを停止すると、インスタンスストアボリューム上のデータは消去されます。したがって、インスタンスストアボリューム上に維持したいデータがある場合は、必ず永続的ストレージにバックアップしてください。

  4. インスタンスの停止後、バックアップを作成します。インスタンスの右クリックコンテキストメニューを開き、[Image]、[Create Image] の順に選択します。

  5. インスタンスの右クリックコンテキストメニューを開き、[Instance State]、[Start] の順に選択します。

  6. リモートデスクトップを使用してインスタンスに接続し、RemediateDriverIssue.zip フォルダをそのインスタンスにダウンロードします。

  7. フォルダの内容を抽出します。

  8. Readme.txt ファイルの指示に従って、修復スクリプトを実行します。このファイルは、RemediateDriverIssue.zip を抽出したフォルダにあります。

TCP オフロード

Windows AMI の Citrix PV ドライバーでは、TCP オフロードがデフォルトで有効になっています。たとえば、特定の SQL ワークロードを実行しているときに、トランスポートレベルのエラーまたはパケット送信エラー (Windows パフォーマンス モニターで表示される) — が発生した場合、この機能を無効にすることが必要になる場合があります。

重要

TCP オフロードを無効にすると、インスタンスのネットワークパフォーマンスが低下することがあります。

AWS PV または Intel ネットワークドライバーを実行しているインスタンスでこの手順を実行する必要はありません。

Windows Server 2012 および 2008 の TCP オフロードを無効にするには

  1. インスタンスに接続してローカル管理者としてログインします。

  2. Windows Server 2012 を使用している場合、Ctrl+Esc を押して [スタート] 画面にアクセスし、[コントロール パネル] をクリックします。Windows Server 2008 を使用している場合、[スタート] をクリックし、[コントロール パネル] を選択します。

  3. [ネットワークとインターネット] をクリックし、[ネットワークと共有センター] をクリックします。

  4. [アダプターの設定の変更] をクリックします。

  5. [Citrix PV Ethernet Adapter #0] を右クリックし、[プロパティ] を選択します。

     ローカル エリアの接続プロパティ
  6. [Local Area Connection Properties] ダイアログボックスで、[Configure] をクリックすると、[Citrix PV Ethernet Adapter #0 Properties] ダイアログボックスが開きます。

  7. [詳細設定] タブの [プロパティ] リストで以下の各プロパティを選択し、[] リストから [無効] を選択することで、これらの各プロパティを無効にします。

    • IPv4 Checksum Offload

    • Large Receive Offload (IPv4)

    • Large Send Offload Version 2 (IPv4)

    • TCP Checksum Offload (IPv4)

    • UDP Checksum Offload (IPv4)

     Citrix PV Ethernet Adapterのプロパティ
  8. [OK] をクリックします。

  9. コマンドプロンプトウィンドウから次のコマンドを実行します。

    netsh int ip set global taskoffload=disabled netsh int tcp set global chimney=disabled netsh int tcp set global rss=disabled netsh int tcp set global netdma=disabled
  10. インスタンスを再起動します。

時刻同期

2013.02.13 の Windows AMI のリリース以前、Citrix Xen ゲストエージェントでシステム時刻が誤って設定される場合がありました。これにより、DHCP リースが有効期限切れになる可能性があります。インスタンスに接続できない問題が発生している場合、エージェントの更新が必要である可能性があります。

更新された Citrix Xen ゲストエージェントがあるかどうかを判断するには、C:\Program Files\Citrix\XenGuestAgent.exe ファイルが 2013 年 3 月のものであるかどうかを確認します。このファイルの日付がこれよりも前である場合は、Citrix Xen ゲストエージェントサービスを更新してください。詳細については、「Citrix Xen ゲストエージェントサービスのアップグレード」を参照してください。