準仮想化ドライバ

ゲストOS側が対応していればNICやBlockデバイスを準仮想化ドライバVirtIOにすることで性能向上が図れるということなのでやってみた。
特に難しいことはなく、ディスクの場合は接続方式をデフォルトのIDEからVirtIOに変更し、NICの場合はe1000からVirtIOに変更するして再起動すれば問題なく動作した。


"準"というのは既存ハードウェアを完全に模擬するのではなく、仮想化ホストと効率よく通信できるようなデバイスを定義して効率を上げると理解した。
下記のサイトを参考にした。
virtio: Linux の I/O 仮想化フレームワーク
https://www.nic.ad.jp/ja/materials/iw/2012/proceedings/d1/d1-Asama.pdf


現時点で性能は測ってないが、悪くなる道理はないので安定するようならこのまま使う。


追記
VirtIOに変更するとディスクデバイス名がsda→vdaに変わる。
SUSEはfstabやgrubの設定はUUIDベースで行っているので、VirtIOに変更したとしても自動追従するが、カーネル引数だけresume=/dev/sda2と決め打ちで書いてある箇所があり、起動が遅くなることがある。
仮想マシンではレジュームを使わないので、この引数は削除した。