EN JA
VIRTIO(4)
VIRTIO(4) FreeBSD Kernel Interfaces Manual VIRTIO(4)

名称

virtioVirtIO デバイスサポート

書式

カーネルに VirtIO デバイスサポートをコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:

device virtio
device virtio_pci

もう一つの方法として、ブート時にモジュールとして VirtIO サポートをロードするためには、次の行を loader.conf(5) に置きます:

virtio_load="YES" 
virtio_pci_load="YES"

解説

VirtIO は、仮想マシン (VM) の並列に仮想化された I/O のための仕様です。伝統的に、ハイパバイザ (hypervisor) は、 I/O がある VM を提供するイーサネットインタフェースまたはディスクコントローラのような実際のデバイスをエミュレートしていました。このエミュレーションは、しばしば効率的ではありません。

VirtIO は、ハイパバイザと VM の間の効率的な I/O のためのインタフェースを定義します。 virtio モジュールは、virtqueue と呼ばれる共有メモリ転送を提供しています。 virtio_pci デバイスドライバは、ハイパバイザが VM を利用可能にするエミュレートされた PCI デバイスに相当します。このデバイスは、ハイパバイザと情報をやりとりするために必要とされるプローブ、設定と割り込み通知を提供します。 FreeBSD は、次の VirtIO デバイスをサポートします:

Ethernet
エミュレートされたイーサネットデバイスは、 vtnet(4) デバイスドライバによって提供されます。
Block
エミュレートされたディスクコントローラは、 virtio_blk(4) デバイスドライバによって提供されます。
SCSI
エミュレートされた SCSI HBA は、 virtio_scsi(4) デバイスドライバによって提供されます。
Balloon
VM がハイパバイザにメモリを戻すために解放することができる疑似デバイスは、 virtio_balloon(4) デバイスドライバによって提供されます。

歴史

VirtIO のためにサポートは、 FreeBSD 9.0 ではじめて登場しました。

作者

VirtIO のための FreeBSD サポートは、 Bryan Venteicher <bryanv@FreeBSD.org>によってはじめて追加されました。
January 22, 2012 FreeBSD