virtio ドライバーが古いか、互換性の問題がある場合、ECS インスタンスのパフォーマンスが低下し、ディスク IOPS の低下やネットワーク遅延の増加につながる可能性があります。また、デバイス認識の失敗やメタデータの読み取り失敗などの機能異常を引き起こすこともあります。ECS インスタンスが Alibaba Cloud プラットフォームで安定して実行されるように、virtio ドライバーをタイムリーに更新することをお勧めします。
シナリオ
Alibaba Cloud は定期的に virtio ドライバーを更新します。古いバージョンには既知の脆弱性が存在する可能性があります。virtio ドライバーを更新することで、潜在的なリスクを回避し、ドライバーのパフォーマンスを向上させることができます。
Windows Server 2016 などの以前のバージョンの Windows インスタンスを Windows Server 2022 などの新しいバージョンにアップグレードすると、既存の virtio ドライバーが新しいオペレーティングシステムと互換性がない場合があります。この非互換性により、デバイス認識の失敗やその他の機能上の問題が発生する可能性があります。したがって、互換性を確保するために virtio ドライバーを更新する必要があります。
Windows インスタンスでの特定の操作は、virtio ドライバーのバージョンに依存します。たとえば、ディスクをオンラインで拡張するには、virtio ドライバーのバージョンが
58011より新しい必要があります。2019 年 3 月 30 日より前に作成されたインスタンスは、この要件を満たしていない可能性があります。ディスクのシリアル番号をクエリするには、virtio ドライバーのバージョンが58017より新しい必要があります。2020 年 5 月 1 日より前に作成されたインスタンスは、この要件を満たしていない可能性があります。インスタンスの virtio ドライバーが操作の要件を満たしていない場合は、ドライバーを更新する必要があります。
制限事項
virtio ドライバーは、Windows Server 2008 以降のバージョンでのみ更新できます。
手順
準備をします。
スナップショットを作成してデータをバックアップします。
Windows インスタンスのスナップショットを作成してデータをバックアップすることをお勧めします。virtio ドライバーの更新中に問題が発生した場合、スナップショットを使用してインスタンスをロールバックできます。
サードパーティのウイルス対策ソフトウェアを無効にします。
スムーズな更新を確実にするために、インスタンスにインストールされているサードパーティのウイルス対策ソフトウェアを一時的に無効にすることをお勧めします。オペレーティングシステムに含まれているウイルス対策ソフトウェアを無効にする必要はありません。更新が完了したら、ウイルス対策ソフトウェアを再起動することを忘れないでください。
virtio ドライバーを更新します。
ビジネスシナリオに応じて、次のいずれかの方法を使用して virtio ドライバーを手動で更新できます。
インスタンスがインターネットにアクセスできる場合にスクリプトを使用して virtio ドライバーを更新する
Windows インスタンスがインターネットにアクセスできる場合は、この方法を使用して virtio ドライバーを迅速に更新できます。
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 ドライバーを更新する
ローカルホストで、インスタンスのオペレーティングシステムに対応する virtio ドライバーのインストールパッケージをダウンロードします。
ダウンロード URL については、「Alibaba Cloud virtio ドライバーの概要」をご参照ください。
インストールパッケージを Windows インスタンスにアップロードします。
詳細については、「リモートデスクトップ接続または Windows アプリを使用して Windows インスタンスにファイルを転送する」をご参照ください。
Windows インスタンスで、新しいバージョンの virtio ドライバーをインストールします。
GUI インストール
このセクションでは、Alibaba Cloud virtio ドライバー 58101 のインストールを例として使用します。
重要virtio ドライバーの 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: システムが自動的に再起動するのを防ぎます。
Cloud Assistant を使用して複数のインスタンスの virtio ドライバーを一括更新する
複数の ECS インスタンスで virtio ドライバーを更新し、インスタンスがインターネットまたは仮想プライベートクラウド (VPC) にアクセスできる場合は、Cloud Assistant を使用して一括更新を実行できます。
説明Cloud Assistant を使用して一括更新を実行するには、必要なインストールパッケージをダウンロードする必要があります。システムは VPC 内の内部ネットワーク経由でパッケージをダウンロードしようとします。内部ネットワーク経由でパッケージをダウンロードできない場合、システムはインターネット経由でダウンロードします。
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、リージョンを選択します。
選択するリージョンは、ECS インスタンスが存在するリージョンである必要があります。
Cloud Assistant を使用してドライバーを一括更新します。
Cloud Assistant を使用して手動でコマンドの内容を指定してドライバーを更新するか、パブリック Cloud Assistant コマンドを使用してドライバーを迅速に更新できます。このトピックでは、両方の方法について説明します。
(推奨) パブリックコマンドを使用してドライバーを一括更新する
[ECS Cloud Assistant] ページで、[パブリックコマンド] タブをクリックします。次に、
ACS-ECS-InstallVirtioDriver-windows.ps1を検索して実行します。[コマンドの実行] パネルの [インスタンスの選択] セクションで、ドライバーを更新するインスタンスの ID を選択します。
コマンドの内容を手動で指定して一括更新を実行する
[ECS Cloud Assistant] ページで、[コマンドの作成/実行] をクリックします。
[コマンドの作成] パネルで、次の構成を完了します。
[コマンド情報] セクションでは、必須パラメーターを次の表に示します。他のパラメーターはデフォルト値のままにすることができます。パラメーターの詳細については、「コマンドの作成と実行」をご参照ください。
パラメーター
説明
コマンドソース
[コマンドコンテンツの入力] を選択します。
コマンドタイプ
[PowerShell] を選択します。
コマンドコンテンツ
次のいずれかの方法を使用して virtio ドライバーを更新できます。
InstallVirtIo.ps1 スクリプトを使用して virtio ドライバーを更新します。
ローカルホストに InstallVirtIo.ps1 スクリプトをダウンロードし、スクリプトの完全なコンテンツを Cloud Assistant コンソールのコマンドコンテンツフィールドにコピーする必要があります。
Cloud Assistant プラグインを使用して virtio ドライバーを更新します。
次のコマンドを Cloud Assistant コンソールのコマンドコンテンツフィールドにコピーします。
acs-plugin-manager.exe --exec --plugin=UpdateVirtIo
実行計画
[即時実行] を選択します。
[インスタンスの選択] セクションで、ドライバーを更新するインスタンスの ID を選択し、[実行] をクリックします。
ドライバーの更新を有効にするために、Windows インスタンスをバッチで再起動します。
詳細については、「インスタンスの再起動」をご参照ください。
デバイスマネージャーでインストールされている virtio ドライバーのバージョンを確認します。
説明ecs.g8a などのほとんどの新しい Alibaba Cloud インスタンスタイプは、NVMe プロトコルをサポートするディスクを使用します。これらのインスタンスでは、ストレージコントローラは NVMe コントローラです。他のインスタンスタイプは通常、VirtIO SCSI によってシミュレートされる従来の SCSI コントローラを使用します。NVMe デバイスの virtio ドライバーを更新すると、ストレージドライバー (viostor) の更新が有効にならない場合があります。これは、ドライバーのバージョン番号が更新されないことを意味します。この場合、ネットワークアダプターのドライバーバージョンを確認することをお勧めします。
ストレージコントローラが [Red Hat VirtlO SCSI Controller] と表示されている場合、それは virtio ブロックデバイスです。virtio ブロックデバイスの場合、[ストレージコントローラ] の [ドライバーバージョン] 番号の末尾から virtio ドライバーのバージョンを判断する必要があります。

ストレージコントローラ名に [NVMe] (図に示す [Aibaba NVMe Elastic Block Storage Adapter] など) が含まれている場合、それは NVMe デバイスです。NVMe デバイスの場合、[ネットワークアダプター] の [ドライバーバージョン] 番号の末尾から virtio ドライバーのバージョンを判断する必要があります。






