# 第一章 Linuxのインストールと仮想マシン・コンテナの利用
練習問題1.3
仮想マシンおよびコンテナの説明として誤っているものを2つ選択してください。
A. 仮想マシンよりもコンテナの方がシステムリソースをより多く消費する傾向がある
B. 仮想マシンのゲストOS上でコンテナを実行することができる。
C. ゲストOSのカーネルがクラッシュするとホストOSもクラッシュする。
D. ハイパーバイザーとは仮想マシンが動作する基盤となる仮想化管理機構である。
(解答)A. C.
(解説)
仮想マシンとコンテナの違いに関する問題です。仮想マシンとコンテナを同列に比較することは難しいですが、仮想マシン内ではホストOSとは異なるOSが動いていますので、その分システムリソースの消費は大きくなると考えられます。仮想マシン内で動作するゲストOS上でDocker等のコンテナを実行することはできますので、選択肢Bは適切です。ゲストOSとホストOSはは分離されていますので、たとえゲストOSのカーネルが空ラッシュしても、ホストOSni影響は及びません。
仮想化のメリット
*複数の仮想ましんを1台の物理サーバーに統合っすることができ、サーバーのリソース(CPUの処理能力やメモリなど)を柔軟に管理し、トータルの運用コストを削除できる。
仮想化のデメリット
- 仮想マシンのホストに障害が発生した場合、複数の仮想マシンに影響が出てしまう。
- ハードウェア上で直接OSを作動させるのに比べて、パフォーマンスが低下してしまう。
パフォーマンスの低下の対策として、最近のCPUの多くには仮想化支援機能を搭載しており、仮想化にまつわるオーバーヘッドを低減するようにしている。
コンテナについて
アプリケーションの動作に必要な環境がパッケージングされたもので、サーバー上で独立して動かすことができる
コンテナのメリット
* 素早く環境をセットできる
* 同じような環境をあちこちで利用できる
* ホストOSとカーネルを共有するためシステムリソースの消費が少なくてすむ
* サービス起動までの時間がコンテナの方が短くて済む。
仮想化支援機能の種類
* intel社製のVT-x
* AMD社製のAMD-V
(わからなかった単語解説)
* オーバーヘッド
プログラムの本来できな処理に必要なリソース(時間やメモリなど)以外に、間接的に必要となるリソースのこと
* AMD社
アメリカの半導体製造会社
* ハイパーバイザー
物理的なサーバー上で複数の仮想マシン(VM)を同時に実行・管理するためのソフトウェアのこと。
これにより、1つの物理サーバーで複数のOSやアプリケーションを並行して動作させることができます。
リソースの効率的な利用と運用コストの削減に貢献します。