いまさら聞けない、ハイパーバイザー「タイプ1」と「タイプ2」の違い:ハイパーバイザーの基礎解説【前編】
仮想化技術を導入する際、押さえておくべき基本の一つになるのが、ハイパーバイザーのタイプ1とタイプ2の違いだ。それぞれの機能や用途の違いを解説する。
仮想化とは、物理的なハードウェアやデバイスのリソースを抽象化し、それらから独立してアプリケーションを実行できるようにする技術だ。仮想化によって、プロセッサ(CPU)、メモリ、ストレージ、ネットワークといったシステムリソースを柔軟にプロビジョニング(配備)し、効率的に管理できるようになる。
この仕組みにより、一つの物理マシンで複数のワークロード(処理やタスク)を同時にホストできるようになり、組織全体で利用可能なサーバやシステムの活用効率が高まる。
仮想化を実現するために用いられるのが「ハイパーバイザー」だ。これは、かつては「仮想マシンモニター」(VMM:Virtual Machine Monitor)と呼ばれていた技術で、OSやアプリケーションを基盤となる物理ハードウェアから抽象化する役割を担う。
ハイパーバイザーが動作する物理マシンは「ホストマシン」と呼ばれ、その上でハイパーバイザーが作成、管理する仮想環境は「ゲストマシン」や「ゲストVM」(VM:仮想マシン)、あるいは単に「VM」と呼ばれる。ハイパーバイザーには大きく2種類ある。主な違いは「どこで動作するか」にある。
タイプ1ハイパーバイザー、タイプ2ハイパーバイザーとは何か
ハイパーバイザーを使うことで、ホストマシンは複数のVMを互いに独立した環境として実行しつつ、それぞれに抽象化されたリソース(CPUやメモリ、ストレージなど)を柔軟に共有させることが可能になる。このような仮想化によるリソースの最適化は、物理サーバでワークロードを個別にホストする場合と比べて、データセンター全体の運用効率を大きく向上させる。
ハイパーバイザーのタイプ1は「ベアメタル型」とも呼ばれ、OSを介さず、ハードウェア上で直接動作する。一方、タイプ2は「ホスト型」と呼ばれ、OS上でアプリケーションとして動作する。この違いにより、それぞれのハイパーバイザーの長所と短所は異なり、適した用途も異なる。
タイプ1ハイパーバイザーは、ホストマシンの物理ハードウェア上で直接動作するため、「ベアメタル型ハイパーバイザー」と呼ばれる。基盤となるOSを介さずに動作するため、OSやデバイスドライバといった追加のソフトウェアを必要としない。これにより、処理効率が高く、企業向けには最も高性能かつ効率的なハイパーバイザーとされている。
タイプ1ハイパーバイザーは「仮想化ソフトウェア」あるいは「仮想OS」と呼ばれることもあるが、厳密にはハードウェアレベルで仮想化機能を担うソフトウェアだ。
タイプ1ハイパーバイザーが物理ハードウェア上で直接動作するという特性は、セキュリティ面でも優れている。仮想化環境では、各ゲストVMが独自のOSを実行しているため、あるゲストOSにセキュリティ上の脆弱(ぜいじゃく)性があっても、それが他のゲストVMに影響を及ぼすリスクは低い。1つのVMが攻撃を受けても、その被害は論理的に隔離され、同じホスト上の他のVMに拡散することはない。
タイプ1ハイパーバイザーの用途と機能
タイプ1ハイパーバイザーは長年にわたって企業に支持されており、仮想化の事実上の標準となっている。ほぼあらゆる構成と規模のVMを作成できる柔軟性があり、大規模かつ複雑なワークロードのホスティングに最適だ。
仮想マシンと物理ハードウェアの間に緊密な連携が確立されるため、特に最新のマイクロプロセッサに搭載されている仮想化支援命令セットを活用することで、高いパフォーマンスを実現している。
タイプ1ハイパーバイザーが企業にもたらす主なメリットは以下の通りだ。
- 信頼性
- 本番環境のワークロードでは、可用性の高さや高度なフェイルオーバー(障害時の自動切り替え)が求められる。タイプ1ハイパーバイザーは、そのような要件に応える安定した基盤として用いられている。
- スケーラビリティ
- 多くのタイプ1ハイパーバイザーは、数T(テラ)B単位のメモリ(RAM)や数百コアのCPUを活用した大規模な仮想化環境に対応できる。
- 高度な機能
- ソフトウェア定義ストレージ(SDS)やソフトウェア定義ネットワーク(SDN)といった仮想インフラの構成要素をサポートしており、セキュリティや可搬性を強化する。ただし、こうした機能の利用には高額な導入コストや保守契約が伴うケースが多い。
- 強力な管理機能
- ハイパーバイザーをフルに活用するには、「Microsoft System Center Virtual Machine Manager」や「VMware vCenter」などの管理ツールが必要だ。これらを用いることで、大規模な仮想環境の一元管理が可能になる。
- クラウドの基盤技術
- タイプ1ハイパーバイザーは、クラウドコンピューティングの発展にも大きく寄与してきた。仮想化によって、ソフトウェアベースで仮想リソースをオンデマンドにプロビジョニング(配備)、デプロイ(展開)、管理できるようになったことは、クラウドの柔軟性とスケーラビリティを支える根幹となっている。仮想化技術とそれを支えるハイパーバイザーがなければ、クラウドの実現は不可能だったと言っても過言ではない。
タイプ2ハイパーバイザー
タイプ2ハイパーバイザーは、既存のOS上にアプリケーションとしてインストールされる。「ホスト型ハイパーバイザー」とも呼ばれ、ホストOSを介してCPU、メモリ、ストレージ、ネットワークリソースへのアクセスを管理する。
このタイプのハイパーバイザーは、x86アーキテクチャ(IntelのCPUに起源を持つ命令セットアーキテクチャ)を基盤とする仮想化の初期に登場した。タイプ1とタイプ2のハイパーバイザーは、仮想化の目的自体は同じだが、タイプ2ではホストOSが存在することにより、VMとの間に一定の遅延が発生するという制約がある。ハイパーバイザーの全ての操作やVMの処理は、ホストOSを経由して実行されるため、ホストOSにセキュリティ上の欠陥や脆弱性がある場合、そこに構築された全てのVMが攻撃のリスクにさらされる可能性がある。
タイプ2ハイパーバイザーの用途と機能
このような構造的な制約から、タイプ2ハイパーバイザーは従来、クライアント向けのシステムや、本番環境ほど高い性能やセキュリティが求められないテスト用途などに利用が限定されていた。例えば、ソフトウェア開発者がアプリケーションをリリース前にテストする際には、テスト環境を簡単に構築できるタイプ2ハイパーバイザーが活用される。また、小規模な仮想インスタンスを大量に動作させたい場合にも適している。IT部門では、仮想デスクトップインフラ(VDI)における仮想デスクトップの構築にタイプ2ハイパーバイザーを利用するケースが多い。
以下に、タイプ2ハイパーバイザーの主な利点を挙げる。
- 小型で軽量
- タイプ2ハイパーバイザーは、タイプ1と異なり専用のOSを必要としないため、構成がシンプルで軽量になる。これにより、リソースの消費が抑えられ、VMの作成・移行・操作が迅速かつ容易になる。
- 高いスケーラビリティ
- タイプ2の仮想マシンは、タイプ1に比べてリソース消費が少ないため、1台の物理マシンでより多くのVMを実行できる。
- コンテナ技術の基盤
- タイプ2ハイパーバイザーの概念は、仮想化コンテナ技術の礎にもなっている。コンテナは、「Docker」や「Apache Mesos」などのコンテナエンジン(軽量な仮想化実行環境)を利用し、共通のOSカーネルを複数のコンテナで共有する。この仕組みは「マイクロサービス」と呼ばれる、新たな高効率アプリケーションアーキテクチャの登場につながった。
- クラウド技術との連携
- 多くのパブリッククラウドベンダーは、従来のタイプ1ベースのVMと並行して、コンテナをネイティブで作成・管理できるサービスも提供している。これにより、開発から運用までを一貫してクラウド上で実行する柔軟性が得られる。
実際、一部の企業では、コンテナ技術が従来のタイプ1ハイパーバイザーを置き換え、より好ましい仮想化手法として定着しつつある。
次回は、ハイパーバイザーの両タイプの違いについて複数の観点から比較する。
Copyright © ITmedia, Inc. All Rights Reserved.