LinuCレベル3 304試験の例題と解説

330.4その他の仮想化ソリューション

このエントリーをはてなブックマークに追加
今回は304試験の試験範囲から「330.4 その他の仮想化ソリューション」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<330.4 その他の仮想化ソリューション>
重要度     3

<説明>
XenおよびKVM以外の仮想化技術についての基本的知識と経験。

<主要な知識範囲>
・OpenVZ と LXCの基本知識
・その他の仮想化技術についての認知
・その他の仮想化技術に関する基本的な技術的知識

<重要なファイル、用語、ユーティリティ>
・OpenVZ
・VirtualBox
・LXC
・docker
・packer
・vagrant


■例題

dockerの説明として、適切なものを選択してください。

1. dockerは、ハイパーバイザ型の仮想環境である
2. dockerコンテナは、ホストOSと同じカーネルで動作する
3. dockerのコンテナに追加された情報は、コンテナ停止時に自動的に保存される
4. dockerコンテナは、コンテナ起動時にOSを起動する

※この例題は実際の試験問題とは異なります。


解答と解説

答えは「2. dockerコンテナは、ホストOSと同じカーネルで動作する」です。

dockerは、Linuxのコンテナ技術を使った仮想化ソフトウェアです。
XenやKVMなどの仮想化ソフトウェアでは、仮想的にハードウェアをエミュレートし仮想マシンを作成します。
そして、仮想マシンの中でOSを動かすという動きをします。
この方法は、仮想マシンで動作するOSをホストOSから完全に分離できるというメリットがあります。
ただ一方でハードウェアのエミュレートやOSの起動に時間がかかるため、ホストOSに高い負荷がかかることや、起動に時間がかかるということもあります。

dockerは、コンテナと呼ばれるプロセスを起動し、アプリケーションを動作させます。
コンテナは、ハードウェアをエミュレートする必要がなく、単一プロセスの起動で済むため、OSにかかる負荷は比較的低く、起動が早いという特徴があります。
しかし、全てのコンテナが同じカーネルで動作するため、完全にホストOSとは異なる環境を構築したい場合には、不向きです。

以下は例題の解説です。

1. dockerは、ハイパーバイザ型の仮想環境である
dockerはハイパーバイザ型ではありません。

ハイパーバイザ型は、OSとして直接ハードウェアにインストールして動作させるタイプの仮想環境です。代表的なものとしてVMware ESXiなどが挙げられます。
またKVMやXenなどは、一つのソフトウェアとしてインストールして動作させるタイプの仮想環境です。

2. dockerコンテナは、ホストOSと同じカーネルで動作する
上記したとおり、dockerコンテナはホストOSと同じカーネルで動作します。

3. dockerのコンテナに追加された情報は、コンテナ停止時に自動的に保存されるdockerコンテナは、dockerイメージから起動します。
起動したコンテナへの更新情報は、基本的にコンテナの停止時に破棄されます。更新情報を残したい場合、コンテナから新しいイメージを作成するか、またはコンテナに永続ボリュームを設定し、ボリュームに情報を保存する必要があります。

4. dockerコンテナは、コンテナ起動時にOSを起動する
dockerコンテナは、起動時にコンテナに含まれるファイルを利用して、必要なアプリケーションのみを起動します。

dockerは、XenやKVMとは全く別の仮想環境です。
単なる仮想化技術のひとつとして捉えるのではなく、しっかりと特徴を理解してから、利用するようにしましょう。

■例題作成者
株式会社デージーネット ソリューション開発部    森 彰吾 氏

ページトップへ