FreeBSD Daily Topics

2011年12月14日VirtIOの提供する機能 - virtio(4)、virtio_pci(4)、virtio_blk(4)、virtio_balloon(4)、if_vtnet(4)

src

virtio(4), virtio_pci(4), virtio_blk(4), virtio_balloon(4) and if_vtnet(4)

FreeBSD 10-CURRENTに導入されたVirtIO関連のカーネルモジュールはvirtio(4)、virtio_pci(4)、virtio_blk(4)、virtio_balloon(4)、if_vtnet(4)となります。それぞれ次の機能を提供します。

  • virtio(4) - virtqueueと呼ばれる共有メモリトランスポートを提供
  • virtio_pci(4) - PCIデバイスをエミュレーション。プローブ、コンフィグ、割り込み通知など必要な処理を担当
  • virtio_blk(4) - VirtIOブロックデバイスドライバ。ディスクコントローラをエミュレーション
  • virtio_balloon(4) - VirtIOメモリバルーンドライバ。ゲストからホスト(仮想マシンからハイパーバイザ)へメモリを戻すための擬似デバイス
  • if_vtnet(4) - VirtIO Ethernetデバイスドライバ。Ethernetデバイスをエミュレーション

それぞれ必要になるカーネルモジュールを読み込むことで機能を提供します。たとえばif_vtnet(4)を使った準仮想化ネットワークの機能を利用したい場合には、if_vtnet(4)以外にもvirtio(4)とvirtio_pci(4)を読み込みます。

VirtIOの機能を利用するには、ホスト(ハイパーバイザ側)にも対応が必要になる点に注意してください。たとえばVirtIOブロックデバイスに対応していない仮想環境では、ゲストOS側でVirtIOブロックデバイスの機能を有効にしても、その機能を利用することはできません。

おすすめ記事

記事・ニュース一覧