LinuCレベル3 304試験の例題と解説
330.1 仮想化の概念と理論
■トピックの概要
このトピックの内容は以下の通りです。
<330.1 仮想化の概念と理論>
重要度 8
<説明>
仮想化に関する一般的な概念、理論と用語について知っており、理解してしている。 Xen、KVM及びlibvirtの用語を含む。
<主要な知識範囲>
* 専門用語
* 仮想化の利点と欠点
* 様々な仮想マシンモニター
* 物理マシンから仮想マシンへの移行
* ホストシステム間での仮想マシンの移行
* クラウドコンピューティング
<重要なファイル、用語、ユーティリティ>
* ハイパーバイザー
* HVM(HardwareVirtualMachine)
* PV(Paravirtualization;準仮想化)
* コンテナ型仮想化
* エミュレーションとシミュレーション
* CPU flags
* /proc/cpuinfo
* 移行 (P2V, V2V)
* IaaS, PaaS, SaaS
■例題
コンテナ型仮想化の説明として適切なもの選択してください。
1. コンテナ内で動作するプロセスは、必ず1つである
2. コンテナ毎にCPUやメモリを制限することはできない
3. コンテナでは、永続的な記憶領域を使うことはできない
4. 同一ホストで動作するコンテナは、同一のLinuxカーネルで動作する
※この例題は実際の試験問題とは異なります。
解答と解説
答えは「4. 同一ホストで動作するコンテナは、同一のKernelで動作する」です。
コンテナには、サービスに必要な実行ファイルとライブラリなど最小限のファイルが含まれます。
コンテナ型仮想化は、KVMやXenなどのハードウェアをエミュレートする仮想化方式と比較して、
OSを動作させるためのリソースが不要になるため、必要とするディスク容量やメモリ・CPUなどの
リソースが少ないという利点があります。またOSの起動が必要ないため、起動や停止が早いという
特徴もあります。
次はそれぞれの選択肢の解説です。
1. コンテナ内で動作するプロセスは、必ず1つである
コンテナ内で動作するプロセス数に限定はありません。
コンテナを実装するソフトウェアによっては、1コンテナ=1プロセスで構成した方が良いと言われているものもあります。
2. コンテナ毎にCPUやメモリを制限することはできない
コンテナ毎に、CPUやメモリの制限を行うことができます。
制限を行うことで、1つのコンテナが他のコンテナや、OSの挙動に影響を与える可能性を低減することができます。
3. コンテナでは、永続的な記憶領域を使うことはできない
基本的にコンテナ内のデータは、コンテナが破棄された際にすべて破棄されます。
一方でコンテナに外部ストレージを付与して、一部のデータを永続的に記録することもできます。
4. 同一ホストで動作するコンテナは、同一のKernelで動作する
前述したとおり、コンテナ型仮想化は、OSのエミュレートを行いません。同一ホスト上で動作する全てのコンテナは、同じLinuxカーネルで動作します。
コンテナ型仮想化は、未だ発展途上の技術です。
どんどんとコンテナを取り巻く環境は変化していますので、今のうちから勉強しておきましょう。
■例題作成者 株式会社デージーネット OSS研究室 森彰吾