過去問ドリル

LinuCレベル2 仮想化サーバー 問15

仮想化サーバー/仮想マシンの仕組みとKVM

kvm-intelまたはkvm-amdモジュールを読み込んだホストで、QEMUがKVMの機能を利用するために開くデバイスファイルはどれか。

当サイトのオリジナル問題(LinuCレベル2の出題範囲「仮想化サーバー」に対応。実際の試験問題ではありません)

正解: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のためのデバイスファイルです。
LinuCレベル2の問題を演習モードで解く