クラウド基盤技術★★☆

開発部門で、今使っているPCのOSと業務ソフトはそのまま残したうえで、 同じPC上で別の種類のOSを同時に動かして動作検証を行いたい。機器の追加は しないものとする。この場合に用いる仮想化の方式の説明として、 最も適切なものはどれか。

正解:

  1. ハードウェア上に仮想化専用のソフトウェアを直接導入し、その上で複数のOSを動かす。

    誤り。ハイパーバイザー型の説明です。ホストOSを経由しない分だけ効率は よいのですが、ハードウェアの直上に置く土台そのものを入れ替えるため、 今のOSと業務ソフトをそのまま残すという条件に合いません。

  2. 一つのOSを共有したまま、アプリケーションの実行環境だけを分けて複数動かす。

    誤り。コンテナ型の説明です。OSの中核部分を共有するので軽く動きますが、 共有している以上、別の種類のOSを動かす用途には使えません。

  3. 現在動いているOSの上に仮想化ソフトウェアを導入し、その上で別のOSを動かす。

    正解。ホスト型です。すでに動いているOSにアプリケーションとして 仮想化ソフトウェアを追加する形なので、今の環境を残したまま 別のOSを同時に動かせます。

  4. 起動時にどのOSを使うかを選び、選んだ一方のOSだけを動かす。

    誤り。これはデュアルブートで、仮想化ではありません。1台で複数のOSを 使えますが、切り替えに再起動が要り、同時には動かせません。

仮想化ソフトを「どこに置くか」で決まる

仮想化の3方式の違いは、仮想化のしくみを積み木のどの段に差し込むかだけです。 一番下のハードウェアに直接置くのがハイパーバイザー型、すでに動いているOSの 上に置くのがホスト型、OSを共有してその上の実行環境だけを仕切るのがコンテナ型。 この位置関係を絵にできれば、名前を暗記しなくても選べます。

それぞれの向き不向き

  • ホスト型 … 今のOSに追加インストールするだけで済む。手軽さが利点で、 ホストOSを経由する分だけ性能では劣る。手元での検証や学習に向く
  • ハイパーバイザー型 … 余計な層がなく効率がよい。サーバを何台分も まとめて集約する用途に向く。導入時にはその機器を専用に仕立て直す
  • コンテナ型 … OSを共有するので最も軽い。ただしホストと同じ系統の OS上でしか動かせない

今回のように「今の環境を壊さずに、別の種類のOSを同時に動かしたい」という 条件では、ホスト型が素直な答えになります。

混同しやすいものとの違い

方式 仮想化ソフトの位置
ハイパーバイザー型 ハードウェアの直上(ホストOSなし)
ホスト型 ホストOSの上(アプリとして追加)
コンテナ型 ホストOSの上(OSを共有して実行環境を分離)
デュアルブート 仮想化ではない(起動時に一方を選ぶ)

試験では「既存のOSを残すか」「同時に動かすか」の2点が判別の手がかりです。

次の問題へ