LinuCレベル2 仮想化サーバー 問15
仮想化サーバー/仮想マシンの仕組みとKVMkvm-intelまたはkvm-amdモジュールを読み込んだホストで、QEMUがKVMの機能を利用するために開くデバイスファイルはどれか。
当サイトのオリジナル問題(LinuCレベル2の出題範囲「仮想化サーバー」に対応。実際の試験問題ではありません)
- A/dev/kvm
- B/dev/vhost-net
- C/dev/net/tun
- D/dev/vfio/vfio
正解:A
解説
KVMのモジュールが読み込まれると/dev/kvmが作成され、QEMUはこのデバイスファイルを開いてioctlで仮想マシンや仮想CPUを作成・実行します。/dev/kvmが存在しない場合は、CPUの仮想化支援機能が無効(BIOS/UEFIの設定を含む)か、モジュールが読み込まれていないことが考えられます。一般ユーザーでQEMUを使う場合、/dev/kvmのアクセス権はディストリビューションによって異なり、Debian系では/dev/kvmを所有するkvmグループへの所属が必要です。
選択肢ごとの解説
- A正しい。/dev/kvmはKVMのインタフェースとなるデバイスファイルで、QEMUはこれを開いてハードウェア支援の仮想化を利用します。
- B誤り。/dev/vhost-netは、virtioのネットワークの処理をカーネル内で行うvhost-netのためのデバイスファイルです。
- C誤り。/dev/net/tunは、仮想マシンのNICをホストへつなぐtapデバイス等を作成するためのデバイスファイルです。
- D誤り。/dev/vfio/vfioは、PCIデバイスなどを仮想マシンへ直接割り当てるVFIOのためのデバイスファイルです。