Windows Elastic Compute Service (ECS) インスタンスで実行される特定の操作は、インスタンスで実行されるイメージのvirtioドライバーバージョンによって異なります。 オンラインでディスクのサイズを変更する場合は、virtioドライバーのバージョンを58011
以降にする必要があります。 インスタンスが2019年3月30日より前に作成された場合、virtioドライバーのバージョンは58011
より前である可能性があります。 ディスクのシリアル番号を照会する場合は、virtioドライバーのバージョンが58017
以降である必要があります。 2020、5月1日より前にインスタンスが作成された場合、virtioドライバーのバージョンは58017
より前である可能性があります。 現在のWindowsインスタンスのvirtioドライバーバージョンが要件を満たしていない場合は、関連する操作を実行する前にvirtioドライバーを更新する必要があります。 このトピックでは、Windowsインスタンスのvirtioドライバーを表示および更新する方法について説明します。
制限事項
virtioドライバーは、Windows Server 2008以降のバージョンでのみ更新できます。
手順
(オプション) スナップショットを作成してデータをバックアップします。
virtioドライバーを更新してインスタンスデータをバックアップするWindowsインスタンスのスナップショットを作成することを推奨します。 virtioドライバーの更新時にインスタンスで例外が発生した場合、スナップショットを使用してインスタンスのデータをロールバックできます。 詳細については、「ディスクのスナップショットの作成」をご参照ください。
サードパーティのウイルス対策ソフトウェアを無効にします。
virtioドライバーの更新スクリプトまたはCloud Assistantプラグインが期待どおりに実行されるようにするには、Windowsインスタンスにログインし、インスタンスにインストールされているサードパーティのウイルス対策ソフトウェアを一時的に無効にすることを推奨します。 インスタンスの組み込みウイルス対策ソフトウェアを無効にする必要はありません。 Windowsインスタンスのvirtioドライバーを更新する必要がないこと、またはvirtioドライバーの更新が完了したことを確認したら、できるだけ早い機会にサードパーティのウイルス対策ソフトウェアを再起動してください。
現在のインスタンスのvirtioドライバーバージョンを表示し、ビジネス要件に基づいてvirtioドライバーを更新するかどうかを判断します。
PowerShellを使用してvirtioドライバーのバージョンを表示する
Windowsインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
[実行] ダイアログボックスを開きます。
powershellと入力し、[OK] をクリックしてPowerShellを起動します。
次のコマンドを実行して、virtioドライバーのバージョンを確認します。
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\drivers\viostor.sys")
説明viostor.sys
のファイルは、特にMicrosoft Hyper-V仮想マシン上の仮想ディスクコントローラのための、仮想化環境におけるストレージデバイスドライバに関連付けられています。 オペレーティングシステムがHyper-Vプラットフォーム上の仮想マシンとして実行されている場合、viostor.sysファイルに関連付けられているドライバは、ホストの仮想化レイヤーと連携して、ゲストオペレーティングシステムがデータを読み書きできるようにします。 viostor.sysドライバは、仮想マシンのディスクI/Oのパフォーマンスと互换性を保证する重要なコンポーネントです。次のコマンド出力が返されます。
ProductVersion値の終了番号が
58011
58017
未満かどうかに基づいて、virtioドライバーを更新する必要があるかどうかを判断します。シナリオ
Virtioドライバーのバージョン
操作
オンラインでディスクのサイズ変更
58011以降
virtioドライバを更新することなく、オンラインでディスクのサイズを変更できます。 詳細については、「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。
58011よりも早い
オンラインでディスクのサイズを変更することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。
ディスクのシリアル番号を照会する
58017以降
virtioドライバを更新しなくても、ディスクのシリアル番号を照会できます。 詳細については、「ディスクのシリアル番号の照会」をご参照ください。
58017よりも早い
ディスクのシリアル番号を照会することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。
対応するシステムファイルを照会してvirtioドライバーのバージョンを表示する
Windows ECSインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
C:\Windows\System32\driversディレクトリに移動します。
viostor.sysファイルを右クリックし、[プロパティ] を選択します。 [詳細] タブで、ファイルバージョンパラメーターを表示します。
説明viostor.sys
のファイルは、特にMicrosoft Hyper-V仮想マシン上の仮想ディスクコントローラのための、仮想化環境におけるストレージデバイスドライバに関連付けられています。 オペレーティングシステムがHyper-Vプラットフォーム上の仮想マシンとして実行されている場合、viostor.sysファイルに関連付けられているドライバは、ホストの仮想化レイヤーと連携して、ゲストオペレーティングシステムがデータを読み書きできるようにします。 viostor.sysドライバは、仮想マシンのディスクI/Oのパフォーマンスと互换性を保证する重要なコンポーネントです。ファイルバージョンの終了番号が
58011
58017
未満かどうかに基づいて、virtioドライバーを更新する必要があるかどうかを判断します。シナリオ
Virtioドライバーのバージョン
操作
オンラインでディスクのサイズ変更
58011以降
virtioドライバを更新することなく、オンラインでディスクのサイズを変更できます。 詳細については、「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。
58011よりも早い
オンラインでディスクのサイズを変更することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。
ディスクのシリアル番号を照会する
58017以降
virtioドライバを更新しなくても、ディスクのシリアル番号を照会できます。 詳細については、「ディスクのシリアル番号の照会」をご参照ください。
58017よりも早い
ディスクのシリアル番号を照会することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。
説明Security Centerコンソールにログインすることもできます。 [脆弱性] ページで、[Windowsシステムの脆弱性] タブをクリックし、[Windows virtioドライバーのバグによるディスクデータ損失のリスク更新] の脆弱性が存在するかどうかを確認して、virtioドライバーを更新する必要があるかどうかを判断します。
脆弱性が存在しない場合、Alibaba Cloudアカウントに属するWindowsインスタンスのvirtioドライバーを更新する必要はありません。
脆弱性が存在する場合は、次のいずれかの操作を実行します。
virtioドライバを更新します。
重要virtioドライバの更新には、ネットワークインターフェースコントローラ (NIC) ドライバの更新が含まれます。 その結果、ネットワーク接続が約10秒間中断され、ビジネスに悪影響を与える可能性があります。 リスクを評価し、準備をすることをお勧めします。
ECSインスタンスに多数のデータディスクがある場合、virtioドライバーの更新が完了するまでに1分から2分かかります。
次のいずれかの方法を使用して、virtioドライバを更新できます。
インスタンスがインターネットにアクセスできる場合は、スクリプトを使用してvirtioドライバーを更新します
Windowsインスタンスがインターネットにアクセスできる場合は、スクリプトを使用してインスタンスのvirtioドライバを更新できます。
virtioドライバを更新するWindowsインスタンスに接続します。
詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。
Windowsインスタンスで、virtioドライバーの更新に使用するスクリプトをダウンロードします。
[InstallVirtIo.ps1] をクリックして、InstallVirtIo.ps1スクリプトをダウンロードします。
InstallVirtIo.ps1virtioドライバを更新するためのスクリプトを実行します。
この例では、InstallVirtIo.ps1スクリプトがC:\testディレクトリにダウンロードされます。
C:\testディレクトリを開きます。
C:\testを、InstallVirtIo.ps1スクリプトをダウンロードした実際のディレクトリに置き換えます。
InstallVirtIo.ps1スクリプトを選択して右クリックし、PowerShellで実行する.
説明通常ユーザーとしてWindowsインスタンスにログインする場合、InstallVirtIo.ps1スクリプトを実行するために、通常ユーザーに管理者権限を付与する必要があります。 管理者としてログオンする場合は、スクリプトを直接実行できます。
InstallVirtIo.ps1スクリプトの実行が許可されていない場合は、PowerShellのスクリプト実行ポリシーを変更する必要があります。 詳細については、このトピックのFAQセクションを参照してください。
InstallVirtIo.ps1スクリプトを実行した後、Windowsインスタンスを再起動します。 新しいドライバーバージョンは、インスタンスを再起動すると有効になります。
詳細は、「インスタンスの再起動」をご参照ください。
インスタンスがインターネットにアクセスできない場合、インストールパッケージを使用してvirtioドライバーのバージョンを更新
Windowsインスタンスがインターネットにアクセスできない場合は、この方法を使用してvirtioドライバーを更新できます。
オンプレミスホストで、実際のオペレーティングシステムに基づいて対応するバージョンのvirtioドライバーインストールパッケージをダウンロードし、インストールパッケージを解凍します。
URLをクリックしてvirtioドライバをインストールします。 詳細については、「virtioドライバーのインストール」トピックの「手順」セクションをご参照ください。
インストールパッケージをWindowsインスタンスにアップロードします。
詳細については、「Windowsインスタンスへのファイルのアップロードまたはダウンロード」をご参照ください。
新しいバージョンのvirtioドライバーをWindowsインスタンスにインストールします。
詳細については、「virtioドライバーのインストール」をご参照ください。
Cloud Assistantを使用して複数のインスタンスのvirtioドライバーを一括更新する
複数のECSインスタンスのvirtioドライバーを更新する必要があり、Windowsインスタンスがインターネットまたは仮想プライベートクラウド (VPC) にアクセスできる場合は、Cloud Assistantを使用してvirtioドライバーを一括更新できます。
説明Cloud Assistantを使用してvirtioドライバーを一括更新するには、必要なインストールパッケージをダウンロードする必要があります。 システムは、VPC内の内部ネットワークを介してインストールパッケージをダウンロードします。 内部ネットワークを介してパッケージをダウンロードできない場合、システムはインターネットを介してパッケージをダウンロードします。
にログインします。ECSコンソール.
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、リージョンを選択します。
選択したリージョンは、インスタンスが存在するリージョンである必要があります。
Cloud Assistantを使用してvirtioドライバーを一括更新します。
Cloud Assistantを使用してコマンドの内容を指定するか、一般的なコマンドを実行してvirtioドライバーを更新します。 次のセクションでは、Cloud Assistantを使用してvirtioドライバーを更新するさまざまな方法について説明します。
(推奨) 共通コマンドを使用して、複数のECSインスタンスのvirtioドライバーを一括更新する
[ECS Cloud Assistant] ページで、[共通コマンド] タブをクリックし、検索ボックスに
[ACS-ECS-InstallVirtioDriver-windows.ps1]
と入力して、一致するコマンドを検索します。ACS-ECS-InstallVirtioDriver-windows.ps1
セクションで、[実行] をクリックします。[コマンドの実行] パネルの [インスタンスの選択] セクションで、virtioドライバーを更新する必要があるインスタンスのIDを選択します。 [実行] をクリックします。
複数のECSインスタンスでvirtioドライバーを一括更新するコマンドの内容を指定する
[ECS Cloud Assistant] ページで、右上隅の [Create/Run Command] をクリックします。
[コマンドの作成] パネルで、パラメーターを設定します。
次の表に、[コマンド情報] セクションで必要なパラメーターを示します。 他のパラメーターにはデフォルト値を使用します。 詳細については、「コマンドの作成と実行」をご参照ください。
パラメーター
説明
コマンドソース
[コマンドの内容を入力] を選択します。
コマンドタイプ
[PowerShell] を選択します。
コマンドの内容
次のいずれかの方法を使用して、virtioドライバーを更新できます。
InstallVirtIo.ps1スクリプトを実行して、virtioドライバーを更新します。
InstallVirtIo.ps1スクリプトをオンプレミスのコンピューターにダウンロードし、スクリプト全体をCommandコンテンツフィールドにコピーする必要があります。
Cloud Assistantプラグインを使用してvirtioドライバーを更新します。
次のコマンドの内容をcommand contentフィールドにコピーします。
acs-plugin-manager.exe -- exec -- plugin=UpdateVirtIo
実行プラン
[即時実行] を選択します。
[インスタンスの選択] セクションで、virtioドライバーを更新する必要があるインスタンスのIDを選択します。
クリック実行.
コマンドの実行結果は、[コマンド実行結果] タブで確認できます。 詳細については、「実行結果の確認と一般的な問題のトラブルシューティング」トピックの「ECSコンソールでの実行結果の表示」セクションをご参照ください。 次の図は、いずれかのWindowsインスタンスのコマンド出力を示しています。これは、インスタンスのvirtioドライバーが正常に更新されたことを示しています。
Windowsインスタンスを一括再起動します。 Windowsインスタンスのvirtioドライバーを更新した後、更新を有効にするためにインスタンスを再起動する必要があります。
詳細は、「インスタンスの再起動」をご参照ください。
よくある質問
関連ドキュメント
オンラインでディスクのサイズを変更する方法については、「手順1: ディスクのサイズを変更して容量を拡張する」をご参照ください。
ディスクのシリアル番号を照会する方法については、「ディスクのシリアル番号の照会」をご参照ください。