LinuCレベル2 201試験の例題と解説
2.05.1仮想マシンの仕組みとKVM
今回はLinuCレベル2 Version10.0 201試験の試験範囲から「2.05.1 仮想マシンの仕組みとKVM」についての例題を解いてみます。サーバー仮想化における基本的な、ホスト型とハイパーバイザー型という仮想化技術を取り上げます。
仮想化における基本的な仕組みを覚えましょう。
例題
以下の文のうち、ハイパーバイザー型の仮想化の説明として正しい文をすべて選択してください。
- WindowsやLinuxなどのOS上で仮想化ソフトを実行し、その上で仮想マシンを動作させる
- LinuxやWindows等のOSを必要とせず、ハードウェア上で直接仮想化ソフトウェアを実行し、その上で仮想マシンを動作させる
- 基盤OSとカーネルを共有し、仮想環境上に新たにOSを使用せず、アプリケーションを動作させる
- 比較的オーバーヘッドが生じやすく、仮想マシンの動作速度が遅くなる
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2」です。
仮想化技術は大きく2つに分けられ、「ホスト型」と「ハイパーバイザー型」に分けられます。
ホスト型は、基盤となるOSの上で仮想化ソフトウェアを使用し、そのソフトウェア上で仮想マシンを動作させる方法です。例えば、WindowsやmacOS上で、仮想化ソフトウェアを使用し、そこでLinuxの仮想マシンを動作させるといった例が挙げられます。メリットとしては、仮想化専用のOSを用意することなく、一般的なアプリケーションと同様に仮想マシンを起動させることができるため、手軽に仮想化するための環境を整えられることです。
例にも挙げましたが、ホスト型の仮想化の場合、Windowsなどでも仮想化環境を用意することができるので、手元のPCに仮想化ソフトウェアをインストールして、そこに仮想マシンを用意し、簡単な検証を行うといった使い方ができます。
その一方でデメリットは、仮想マシンを起動させるのに、仮想化ソフトウェアとその基盤となるOSの2層が必要になるため、余計な負荷がハードウェアにかかってしまい、仮想マシンの動作速度が遅くなってしまいます。
ホスト型にあたる代表的な仮想化ソフトウェアは、VirtualBoxなどがあります。
ハイパーバイザー型は、ハードウェアから直接仮想化ソフトウェアを起動して、仮想マシンを動作させる方法です。
まず、メリットとしては、ホスト型が仮想マシンを動作させるのに2層必要だったのに対して、ハイパーバイザー型は基盤となるOSが必要ない(OSそのものが仮想化ソフトウェアにあたる)ので、CPU, メモリなどのリソースをホストOSに割かずに済みます。そのため、ほとんどのリソースを仮想環境に割り当てることができます。
反対にデメリットは、仮想環境専用のハードウェアを準備する必要があることです。先述の通り、基盤となるOSがなく、代わりに仮想化専用のソフトウェア導入する必要があるため、その物理マシンで、別のソフトウェア動作させることができなくなってしまいます。
そのため、新たにハイパーバイザー型の仮想化環境を用意しようとすると、ハードウェアから新しく用意する必要があります。金銭的・時間的なコストがホストOS型に比べて、高くなると言えます。
ハイパーバイザー型にあたる代表的な仮想化ソフトウェアは、VMware ESXiなどがあります。
Linuxにはカーネルベース仮想マシンである KVM を使用することができます。
KVMは、Linuxサーバで動作するソフトウェアですが、Linuxカーネルに組み込まれている仮想化ソリューションです。KVMを使用すれば、Linuxカーネルを仮想化専用OSとして使用することができるようになります。つまり、KVMを使用すれば、Linuxサーバをハイパーバイザーとして利用することができるようになります。
選択肢を見ていきます。
- WindowsやLinuxなどのOS上で仮想化ソフトを実行し、その上で仮想マシンを動作させる
ハイパーバイザー型ではなく、ホスト型についての説明なので、誤りです。 - LinuxやWindows等のOSを必要とせず、ハードウェア上で直接仮想化ソフトウェアを実行し、その上で仮想マシンを動作させる
ハイパーバイザー型についての説明なので、正しい選択肢です。 - 基盤OSとカーネルを共有し、仮想環境上に新たにOSを使用せず、アプリケーションを動作させる
コンテナの説明なので、誤りです。コンテナはコンテナエンジンというものを利用して、仮想的なアプリケーションの動作環境を提供する技術のことです。基盤OSとカーネルを共有することが特徴の一つです。 - 比較的オーバーヘッドが生じやすく、仮想マシンの動作速度が遅くなる
ホスト型についての説明なので、誤りです。ホスト型の場合、仮想化ソフトウェアとその基盤のOSが必要で、オーバーヘッドが生じます。
例題作成者
株式会社デージーネット ソリューション開発部 徳武 竜太