開発部門で、今使っているPCのOSと業務ソフトはそのまま残したうえで、 同じPC上で別の種類のOSを同時に動かして動作検証を行いたい。機器の追加は しないものとする。この場合に用いる仮想化の方式の説明として、 最も適切なものはどれか。
正解:ウ
アハードウェア上に仮想化専用のソフトウェアを直接導入し、その上で複数のOSを動かす。
誤り。ハイパーバイザー型の説明です。ホストOSを経由しない分だけ効率は よいのですが、ハードウェアの直上に置く土台そのものを入れ替えるため、 今のOSと業務ソフトをそのまま残すという条件に合いません。
イ一つのOSを共有したまま、アプリケーションの実行環境だけを分けて複数動かす。
誤り。コンテナ型の説明です。OSの中核部分を共有するので軽く動きますが、 共有している以上、別の種類のOSを動かす用途には使えません。
ウ現在動いているOSの上に仮想化ソフトウェアを導入し、その上で別のOSを動かす。
正解。ホスト型です。すでに動いているOSにアプリケーションとして 仮想化ソフトウェアを追加する形なので、今の環境を残したまま 別のOSを同時に動かせます。
エ起動時にどのOSを使うかを選び、選んだ一方のOSだけを動かす。
誤り。これはデュアルブートで、仮想化ではありません。1台で複数のOSを 使えますが、切り替えに再起動が要り、同時には動かせません。
仮想化ソフトを「どこに置くか」で決まる
仮想化の3方式の違いは、仮想化のしくみを積み木のどの段に差し込むかだけです。 一番下のハードウェアに直接置くのがハイパーバイザー型、すでに動いているOSの 上に置くのがホスト型、OSを共有してその上の実行環境だけを仕切るのがコンテナ型。 この位置関係を絵にできれば、名前を暗記しなくても選べます。
それぞれの向き不向き
- ホスト型 … 今のOSに追加インストールするだけで済む。手軽さが利点で、 ホストOSを経由する分だけ性能では劣る。手元での検証や学習に向く
- ハイパーバイザー型 … 余計な層がなく効率がよい。サーバを何台分も まとめて集約する用途に向く。導入時にはその機器を専用に仕立て直す
- コンテナ型 … OSを共有するので最も軽い。ただしホストと同じ系統の OS上でしか動かせない
今回のように「今の環境を壊さずに、別の種類のOSを同時に動かしたい」という 条件では、ホスト型が素直な答えになります。
混同しやすいものとの違い
| 方式 | 仮想化ソフトの位置 |
|---|---|
| ハイパーバイザー型 | ハードウェアの直上(ホストOSなし) |
| ホスト型 | ホストOSの上(アプリとして追加) |
| コンテナ型 | ホストOSの上(OSを共有して実行環境を分離) |
| デュアルブート | 仮想化ではない(起動時に一方を選ぶ) |
試験では「既存のOSを残すか」「同時に動かすか」の2点が判別の手がかりです。