virtio ドライバーが古いと、ディスク IOPS の低下、ネットワーク遅延の増加、またはデバイスが認識されなくなる可能性があります。Elastic Compute Service (ECS) インスタンスを安定させるために、ドライバーを更新してください。
ユースケース
-
Alibaba Cloud は定期的に virtio ドライバーを更新します。古いバージョンには既知の脆弱性が存在する場合があります。潜在的なリスクを回避し、パフォーマンスを向上させるために、ドライバーを更新してください。
-
Windows Server 2016 などの以前のバージョンの Windows インスタンスを Windows Server 2022 などの新しいバージョンにアップグレードすると、ドライバーの互換性の問題が発生する場合があります。デバイスが認識されなくなるのを防ぐために、virtio ドライバーを更新してください。
-
一部の操作には、最小ドライバーバージョンが必要です。 たとえば、オンラインディスク拡張には
58011より後のバージョンが必要です (2019年3月30日より前に作成されたインスタンスは、この要件を満たしていない可能性があります)。 ディスクのシリアル番号の照会には58017より後のバージョンが必要です (2020年5月1日より前に作成されたインスタンスは、この要件を満たしていない可能性があります)。 バージョンが要件を満たしていない場合は、ドライバーを更新してください。
制限事項
virtio ドライバーの更新は、Windows Server 2008 以降にのみ適用されます。
操作手順
-
インスタンスを準備します。
-
スナップショットを作成 してデータをバックアップします。
スナップショットを作成しておくと、ドライバーの更新で問題が発生した場合にインスタンスをロールバックできます。
-
サードパーティ製のウイルス対策ソフトウェアを無効にします。
インスタンス上のサードパーティ製のウイルス対策ソフトウェアを一時的に無効にします。OS に組み込まれているウイルス対策ソフトウェアを無効にする必要はありません。更新後、ソフトウェアを再度有効にしてください。
-
-
virtio ドライバーを更新します。
シナリオに基づいて、次のいずれかの方法を選択します。
スクリプトの使用 (インターネットアクセスあり)
この方法は、Windows インスタンスがインターネットにアクセスできる場合に使用できます。
-
Windows インスタンスに接続します。
詳細については、「パスワードを使用して Windows インスタンスに接続」をご参照ください。
-
Windows PowerShell で、スクリプトをダウンロードします:
Invoke-WebRequest -Uri "https://windows-driver-cn-beijing.oss-cn-beijing.aliyuncs.com/virtio/InstallVirtIo.ps1" -OutFile "C:\Users\Administrator\Downloads\InstallVirtIo.ps1" -
スクリプトを実行します。
powershell -ExecutionPolicy Bypass -File "C:\Users\Administrator\Downloads\InstallVirtIo.ps1" -
ドライバーの更新を反映させるために、Windows インスタンスを再起動します。
詳細については、「インスタンスの再起動」をご参照ください。
インストールパッケージを使用した更新 (インターネットアクセスなし)
-
ローカルホストで、お使いのオペレーティングシステム用の virtio ドライバーインストールパッケージをダウンロードします。
ダウンロード URL については、「Alibaba Cloud virtio ドライバーのインストール」をご参照ください。
-
インストールパッケージを Windows インスタンスにアップロードします。
詳細については、「リモートデスクトップまたは Windows アプリを使用して Windows インスタンスにファイルを転送」をご参照ください。
-
Windows インスタンスに新しい virtio ドライバーをインストールします。
GUI インストール
この例では、Alibaba Cloud virtio ドライバー 58101 を使用します。
重要GUI インストール中にネットワークアダプタードライバーが更新され、ネットワークが約 10 秒間切断されます。事前にリスク評価と準備を行ってください。
-
アップロードディレクトリで、
AliyunVirtio_58101_WIN2016_x64.exeをダブルクリックします。 -
画面の指示に従ってインストールを完了します。

-
完了ページが表示されたら、システムを再起動して変更を反映させます。
説明Windows 7 または Windows Server 2008 R2 システムでのインストール中に、メッセージ
For Windows 7/Windows Server 2008 R2 systems, you must install the SHA-2 patch!が表示された場合、SHA-2 署名パッチが不足しています。 イメージがインポートされた後の起動時の例外を防ぐために、事前に署名パッチをインストールすることをお勧めします。
コマンドラインインストール
-
Windows PowerShell で、
C:\testなどのアップロードディレクトリに移動します:cd C:\test -
virtio ドライバーをインストールします:
./AliyunVirtio_58101_WIN2016_x64.exe /SILENT /FORCE /NORESTART説明-
/SILENT: サイレントモードを指定します。 -
/FORCE: virtio ドライバーがすでにインストールされている場合に、強制的に上書きインストールします。 -
/NORESTART: システムの自動的な再起動を防止します。
-
-
クラウドアシスタントを使用した複数インスタンスでの一括更新
お使いの ECS インスタンスがインターネットまたは VPC にアクセスできる場合は、クラウドアシスタントを使用して virtio ドライバーを一括更新できます。
説明クラウドアシスタントは、まず VPC 内部ネットワーク経由でインストールパッケージをダウンロードします。内部ネットワークが利用できない場合は、インターネットにフォールバックします。
ECS コンソールにログインします。
左側メニューで、 を選択します。
-
上部メニューで、リージョンを選択します。
ECS インスタンスが存在するリージョンを選択します。
-
クラウドアシスタントを使用して、ドライバーを一括更新します。
公開されているクラウドアシスタントコマンドを使用するか、コマンド内容を手動で指定することができます。両方の方法を以下に説明します。
-
(推奨) 公開コマンドを使用したドライバーの一括更新
-
ECS クラウドアシスタント ページで、共通コマンド タブをクリックします。次に、
ACS-ECS-InstallVirtioDriver-windows.ps1を検索して実行します。 -
コマンドを実行 パネルの インスタンスの選択 セクションで、ドライバーを更新するインスタンスの ID を選択します。
-
-
コマンド内容を手動で指定した一括更新の実行
-
[ECS クラウドアシスタント] ページで、コマンドの作成/実行 をクリックします。
-
実行コマンドの作成 パネルで、次の設定を完了します。
-
コマンド情報 セクションで、次のパラメーターを設定します。他のパラメーターはデフォルト値のままにします。詳細については、「コマンドの作成と実行」をご参照ください。
パラメーター
説明
[コマンドソース]
コマンドの内容を入力 を選択します。
[コマンドタイプ]
[PowerShell] を選択します。
[コマンドコンテンツ]
次のいずれかの方法を使用します:
-
InstallVirtIo.ps1 スクリプトを使用した virtio ドライバーの更新
InstallVirtIo.ps1 スクリプトをローカルホストにダウンロードし、その内容全体をクラウドアシスタントコンソールのコマンド内容フィールドにコピーします。
-
クラウドアシスタントプラグインを使用した virtio ドライバーの更新
次のコマンドをコマンド内容フィールドにコピーします:
acs-plugin-manager.exe --exec --plugin=UpdateVirtIo
[実行プラン]
即時実行 を選択します。
-
-
インスタンスの選択 セクションで、ドライバーを更新するインスタンスの ID を選択し、[実行] をクリックします。
-
-
-
-
ドライバーの変更を反映させるために、更新されたすべてのインスタンスを再起動します。
詳細については、「インスタンスの再起動」をご参照ください。
-
-
デバイス マネージャーでドライバーのバージョンを確認します。
説明ecs.g8a などの新しいインスタンスタイプは、NVMe 記憶域コントローラーを備えた NVMe ベースのディスクを使用します。他のインスタンスタイプは VirtIO SCSI コントローラーを使用します。NVMe インスタンスでは、ストレージドライバー (viostor) のバージョンが更新されない場合があります。代わりに、ネットワークアダプタードライバーのバージョンを確認してください。
-
記憶域コントローラーに [Red Hat VirtIO SCSI コントローラー] と表示されている場合は、virtio ブロックデバイスです。[記憶域コントローラー] の下の [ドライバーのバージョン] を確認します。

-
記憶域コントローラー名に、[Alibaba NVMe Elastic Block Storage Adapter] のように [NVMe] が含まれている場合は、NVMe デバイスです。[ネットワーク アダプター] の下の [ドライバーのバージョン] を確認します。

-





