過去問ドリル

LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問28

Linuxのインストールと仮想マシン・コンテナの利用/仮想マシン・コンテナの概念と利用

x86_64のLinuxマシンで、KVMによる仮想マシンを動かす前に、CPUが仮想化支援機能を備えているかを確認したい。確認方法として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)

正解:A

解説

KVMのようなハイパーバイザーは、CPUの仮想化支援機能(IntelのVT-x、AMDのAMD-V)を利用してゲストを効率よく実行します。CPUがこの機能を持つかどうかは、/proc/cpuinfo の flags 欄に vmx(Intel)または svm(AMD)が含まれるかで確認でき、例えば grep -E 'vmx|svm' /proc/cpuinfo のように調べます。ただしCPUが対応していても、UEFI/BIOSの設定で無効になっていると利用できないため、ファームウェアの設定もあわせて確認します。

選択肢ごとの解説

  • A正しい。/proc/cpuinfo の flags に vmx(Intel VT-x)または svm(AMD-V)があれば、CPUが仮想化支援機能を備えています。
  • B誤り。uname -m はマシンのアーキテクチャ名を表示するだけで、x86_64のCPUでも仮想化支援機能を持たないものがあります。
  • C誤り。virsh list はlibvirtが管理している仮想マシンの一覧を表示するコマンドで、CPUの機能の有無を調べるものではありません。
  • D誤り。/proc/version にはカーネルのバージョンやビルド情報が書かれており、CPUの仮想化支援機能の有無は含まれません。
LinuCレベル1の問題を演習モードで解く