サーバー準仮想化の仕組みの一つに、”VirtIO”というものがあります。
例えば仮想マシンでNIC(ネットワークアダプタ)やディスクドライブをソフトウェアで完全に仮想化してしまうと、物理ハードで動かした場合と比較して必要な処理が多くなり、オーバーヘッド、つまり余分な負荷が増えてしまいます。
余分な負荷が増えることで、結果として可能マシンの動作が遅くなってしまうのです。
仮想マシンの仕組み上からこのオーバーヘッドを少しでも減らす方法の一つとして、一部の処理を物理的なハードウェアに直接行わせてしまう”準仮想化”という方法が用いられます。完全な仮想化ではないので”準”仮想化です。
VirtIOも、ディスクへのアクセスやネットワークへのアクセスを”準仮想化”する仕組みの一つで、最近の主要な仮想マシンやクラウドサービスなどでよく使われています。
VirtIOを使用することで、完全仮想化されたハードウェアを使用する場合と比較してより高速に仮想マシンを動作させることができます。
Linuxディストリビューションには標準でVirtIOドライバが含まれている場合が多いのですが、Windowsの場合、初期状態ではVirtIOドライバがインストールされていないのでドライバのインストールが必要になります。
今回は、セットアップ済みのWindowsにVirtIO-NETドライバをインストールする方法をご紹介します。
VirtIOのドライバはfedoraプロジェクトのサイトで配布されています。
Creating Windows virtual machines using virtIO drivers – fedoraDOCS
この中の
Stable virtio-win iso
を選択し、isoファイルをダウンロードします。
isoファイルを入手したら、各仮想マシンに光学ドライブとしてマウントします。
マウントする方法は仮想マシンソフトによって操作方法が異なるため、各ソフトのマニュアルを参照してください。
OSからは光学ディスクドライブ(CD/DVDなど)として認識されていればOKです。
マウントが完了したら、デバイスマネージャーを開いてください。
デバイスマネージャーはコントロールパネル(コントロール パネル\システムとセキュリティ\システム)、またはWindowsロゴ(スタートメニュー)を右クリック->デバイスマネージャーから開くことができます。
デバイスマネージャーを開くと、いくつかの黄色い”!”が表示されているかと思います。
“!”マークが表示されているデバイスを右クリックし、”ドライバーソフトウェアの更新”をクリックします。
するとこちらのダイアログが表示されるので
“コンピュータを参照してドライバーソフトウェアを検索します”
をクリック。
下記画面が出てくるので…
先程VirtIOのISOイメージをマウントしたドライブを選択します。
すぐ下の”サブフォルダーも検索する”もかならずチェックを入れてください。
途中、許可を求められた場合は”インストール”をクリックしてください。
デバイスマネージャーで”Red Hat VirtIO Ethernet Adapter”が追加されていれば、正常に動作しています。
なお、ディスク側のVirtIOのインストールは、先にOSがインストールされたディスクをVirtIOに切り替えてしまうと正常に起動しなくなる可能性があります。
ストレージを完全仮想化状態のままにしてOSを起動し、外付けのVirtIOディスクを追加したうえでドライバーをインストール、作業が終わったらシステムディスクをVirtIOに変更すればOKのようです。
詳細はこちらの方の記事を参照してください。
KVM上のWindowsでVirtIOを利用する – 出力を入力へ
VirtIOはセットアップはめんどくさいですが、動作速度の改善が測れますし、やっておいて損はないかと思います。
仮想マシンを利用されている方は是非試してみてはいかがでしょうか。