LinuCレベル3 304試験の例題と解説
330.1仮想化の概念と理論
LinuCレベル3 304試験の出題範囲から「330.1 仮想化の概念と理論」についての例題を解いてみます。
今回はハイパーバイザー型の仮想化について確認していきましょう。
例題
ハイパーバイザー型仮想化の説明として適切なもの選択してください。
- ハイパーバイザー型仮想化では、ホストOS上に仮想化ソフトウェアをインストールし、その上で仮想マシンを動作させる。
- ハイパーバイザー型仮想化では、ハードウェア上で直接仮想化ソフトウェアを実行し、その上で仮想マシンを動作させる。
- ハイパーバイザー型仮想化では、ゲストOSを使用することなくアプリケーションを動作させる。
- ハイパーバイザー型仮想化では、カーネルを共有し、メモリ消費を抑えて動作させる。
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2. ハイパーバイザー型仮想化では、ハードウェア上で直接仮想化ソフトウェアを実行し、その上で仮想マシンを動作させる。」です。
仮想化とは、コンピューターやその他種々の物理的なリソースを抽象化し、ソフトウェア化する技術のことです。
コンピューターに対して仮想化技術を使用すると、一つのハードウェア上で複数の異なるOSを動作させ、物理サーバー台数の節約をしたり、用途ごとのサーバーを高速に構築して提供したり、柔軟に構成を変更してスケールアップやスケールアウトに対応できるなどの利点があります。
仮想化方式には、大きく分けて「ホスト型」「ハイパーバイザー型」「コンテナ型」があります。
ホスト型
ホスト型とは、ハードウェアにインストールしたOS(ホストOS)上に、仮想化ソフトウェアをインストールし、その上で仮想マシンを動作させる方式です。そのため、現在使用しているコンピューターをそのまま使用し、仮想マシンを追加することが可能です。
▽ホスト型イメージ
アプリケーション | アプリケーション | アプリケーション
------------------------------
CentOS | Ubuntu | Debian ← ゲストOS
------------------------------
仮想化ソフトウェア
------------------------------
ホストOS
------------------------------
ハードウェア
ハイパーバイザー型
ハイパーバイザー型とは、ハードウェア上で仮想マシンを作成、実行するソフトウェア(ハイパーバイザー)を直接実行し、その上で仮想マシンを動作させる方式です。ハイパーバイザーから直接ハードウェアを制御することができるため、仮想マシンの速度低下を最小限に抑えることができます。
▽ハイパーバイザー型イメージ
アプリケーション | アプリケーション | アプリケーション
------------------------------
CentOS | Ubuntu | Debian ← ゲストOS
------------------------------
ハイパーバイザー
------------------------------
ハードウェア
コンテナ型
コンテナ型とは、コンテナと呼ばれる環境でサービス(プロセス)を実行する方式です。コンテナ仮想化では、コンテナで動くアプリケーションはホストOSのカーネルを共有するため、プロセッサやメモリの消費を抑えることができます。
▽コンテナ型イメージ
アプリケーション | アプリケーション | アプリケーション ← コンテナ
------------------------------
コンテナエンジン
------------------------------
ホストOS
------------------------------
ハードウェア
例題の選択肢について解説します。
1. ハイパーバイザー型仮想化では、ホストOS上に仮想化ソフトウェアをインストールし、その上で仮想マシンを動作させる。
誤りです。
この解説は、ホスト型仮想化の説明です。
ホスト型では、すでに稼働しているホストOSの上に、仮想マシンをインストールして動作させるため、ホストOSを変更せず仮想マシンを増やすことができます。その一方、ホストOSとゲストOSの両方を起動するため、物理リソースが多く必要となります。
2. ハイパーバイザー型仮想化では、ハードウェア上で直接仮想化ソフトウェアを実行し、その上で仮想マシンを動作させる。
正解です。
ハイパーバイザー型仮想化は、ホストOSを必要としないためハードウェアを直接制御することができ、仮想マシンの速度低下を最小限に抑えることができます。
3. ハイパーバイザー型仮想化では、ゲストOSを使用することなくアプリケーションを動作させる。
誤りです。
この解説は、コンテナ型仮想化の説明です。
コンテナ型仮想化では、コンテナで動くアプリケーションはホストOSのカーネルを共有します。そのため、ゲストOSを動作させるためのリソースが不要になります。
4. ハイパーバイザー型仮想化では、カーネルを共有し、メモリ消費を抑えて動作させる。
誤りです。
この解説は、コンテナ型仮想化の説明です。
前述の通り、コンテナ型仮想化ではホストOSのカーネルを共有するため、プロセッサやメモリの消費は少なく、ストレージの使用も抑えることができます。
それぞれ仮想化技術のメリット、デメリットを踏まえ、目的方法にあった仮想化を選択できるようにしましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里