VIRTIO(4) | FreeBSD Kernel Interfaces Manual | VIRTIO(4) |
名称
virtio — VirtIO デバイスサポート書式
カーネルに VirtIO デバイスサポートをコンパイルするためには、次の行を利用者のカーネル設定ファイルに置きます:
device virtio
device virtio_pci
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 サポートは、 <bryanv@FreeBSD.org>によってはじめて追加されました。January 22, 2012 | FreeBSD |