LinuCレベル1 Linuxのインストールと仮想マシン・コンテナの利用 問28
Linuxのインストールと仮想マシン・コンテナの利用/仮想マシン・コンテナの概念と利用x86_64のLinuxマシンで、KVMによる仮想マシンを動かす前に、CPUが仮想化支援機能を備えているかを確認したい。確認方法として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「Linuxのインストールと仮想マシン・コンテナの利用」に対応。実際の試験問題ではありません)
- A/proc/cpuinfo の flags 欄に vmx(Intel)か svm(AMD)があるかを調べる
- Buname -m の出力が x86_64 であれば、CPUが仮想化支援機能を備えていると判断する
- Cvirsh list の出力に、稼働中の仮想マシンが1台以上表示されているかどうかを確認する
- D/proc/version の出力に、CPUの仮想化支援機能の有無を示す文字列が含まれるかを調べる
正解: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の仮想化支援機能の有無は含まれません。