バーチャライゼーション(Virtualization)とは、日本語で「仮想化」を意味する言葉です。
IT分野では、サーバーやストレージ、ネットワークなどの物理的なコンピューター資源を、ソフトウェアによって論理的に分割・統合し、実際の物理構成とは異なる形で利用できるようにする技術を指します。
代表的な例が「サーバー仮想化」です。1台の物理サーバー上に複数の仮想マシンを構築し、それぞれを独立したコンピューターのように利用できます。
現在ではデータセンターやクラウドコンピューティングなど、さまざまなIT環境を支える重要な技術となっています。
バーチャライゼーションの意味
バーチャライゼーションの「Virtual」には「仮想の」という意味があります。
コンピューターにはCPU、メモリ、ストレージ、ネットワークインターフェースなどの物理的な資源があります。仮想化技術を利用すると、これらを物理的な構成から切り離して論理的に扱えるようになります。
たとえば、高性能な物理サーバーを1台用意し、その内部に複数の仮想マシン(Virtual Machine:VM)を構築することができます。
それぞれの仮想マシンにはCPUやメモリ、ストレージなどのリソースが割り当てられ、独立したコンピューターのように動作します。
サーバー仮想化の仕組み
サーバー仮想化では、「ハイパーバイザー(Hypervisor)」と呼ばれるソフトウェアまたはソフトウェア層が重要な役割を担います。
ハイパーバイザーは物理サーバーのCPUやメモリなどのハードウェア資源を管理し、それぞれの仮想マシンへ必要なリソースを割り当てます。
仮想マシンでは、それぞれ独立したゲストOSを実行できます。
たとえば、1台の物理サーバー上に複数のLinux環境を構築したり、対応する仮想化環境でWindowsとLinuxの仮想マシンを同じ物理サーバー上で稼働させたりできます。
仮想マシン同士は論理的に分離されているため、複数のシステムを同じ物理サーバー上で運用することが可能です。
ハイパーバイザーの主な種類
ハイパーバイザーは、大きく「タイプ1」と「タイプ2」に分類されます。
タイプ1(ベアメタル型)
タイプ1は、物理ハードウェア上で直接動作する方式です。
ホストOSを介さずに仮想マシンを管理する構成で、サーバーやデータセンターなどの仮想化基盤で利用されています。
代表的なものには、VMware ESXi、Microsoft Hyper-V、Xenなどがあります。
タイプ2(ホスト型)
タイプ2は、WindowsやmacOS、LinuxなどのホストOS上で仮想化ソフトウェアを動作させる方式です。
一般的なアプリケーションと同じように仮想化ソフトウェアを導入できるため、開発環境や検証環境などで利用されています。
代表例としてOracle VM VirtualBoxやVMware Workstationなどがあります。
バーチャライゼーションの主な種類
バーチャライゼーションは、サーバーだけに使われる技術ではありません。仮想化する対象によってさまざまな種類があります。
サーバー仮想化
サーバー仮想化は、1台の物理サーバー上に複数の仮想サーバーを構築する技術です。
物理サーバーのCPUやメモリなどを複数の仮想マシンで利用することで、ハードウェア資源を効率的に活用できます。
デスクトップ仮想化
デスクトップ仮想化は、利用者のデスクトップ環境を端末そのものではなく、サーバーやクラウドなどで実行する仕組みです。
代表的な方式の一つにVDI(Virtual Desktop Infrastructure)があります。
利用者はネットワーク経由で仮想デスクトップへ接続し、PCなどから自分のデスクトップ環境を利用します。
ストレージ仮想化
ストレージ仮想化は、複数の物理的なストレージ資源を論理的にまとめたり、物理構成を抽象化して利用したりする技術です。
利用者やシステムからは、実際の物理構成を強く意識せずにストレージを利用できるようになります。
ネットワーク仮想化
ネットワーク仮想化は、物理的なネットワーク機器や接続構成から論理的なネットワーク機能を分離・抽象化する技術です。
仮想スイッチや仮想ネットワークなどを利用することで、物理的な配線を変更せずに柔軟なネットワーク構成を実現できます。
アプリケーション仮想化
アプリケーション仮想化は、アプリケーションを通常のインストール環境から分離し、仮想化された実行環境などを利用して提供する技術です。
アプリケーションの配布や管理を効率化できる場合があります。
バーチャライゼーションのメリット
バーチャライゼーションには、ITインフラを効率的に利用するためのさまざまなメリットがあります。
ハードウェア資源を効率的に利用できる
物理サーバーをシステムごとに用意すると、CPUやメモリなどのリソースが十分に使用されない場合があります。
仮想化によって複数の仮想マシンを1台の物理サーバーへ集約すれば、物理資源をより効率的に利用できます。
物理サーバーの台数を削減できる
複数のシステムを仮想化環境へ集約することで、必要な物理サーバーの台数を減らせる場合があります。
サーバー本体だけでなく、設置スペース、電力、冷却設備などに関するコストの削減にもつながります。
環境を柔軟に構築できる
物理サーバーを新たに調達する場合と比較して、仮想マシンはソフトウェア上で作成できるため、新しい環境を迅速に用意しやすいという特徴があります。
開発環境やテスト環境を複数構築するといった用途にも適しています。
システムの移行や管理を効率化できる
仮想化環境では、物理ハードウェアとシステム環境が抽象化されているため、仮想マシンの複製、バックアップ、移行などを効率化できる場合があります。
利用する仮想化製品によっては、稼働中の仮想マシンを別の物理サーバーへ移動させる機能なども提供されています。
バーチャライゼーションの注意点
仮想化には多くのメリットがありますが、導入すれば必ずシステムが効率化されるわけではありません。
複数の仮想マシンが同じ物理サーバーのCPU、メモリ、ストレージなどを共有するため、リソースの割り当てが適切でなければ性能低下につながる可能性があります。
また、多数の仮想マシンを運用する場合は、仮想化基盤そのものの監視や管理も必要です。
さらに、1台の物理サーバーへ多数のシステムを集約すると、その物理サーバーに障害が発生した際に複数の仮想マシンへ影響が及ぶ可能性があります。
そのため、実際のシステムでは冗長化、バックアップ、障害時の復旧方法などを含めて設計することが重要です。
バーチャライゼーションとクラウドの違い
バーチャライゼーションとクラウドは密接な関係がありますが、同じ意味ではありません。
仮想化は、物理的なコンピューター資源を抽象化し、論理的なリソースとして利用するための技術です。
一方、クラウドコンピューティングは、サーバー、ストレージ、アプリケーションなどのコンピューティング資源やサービスをネットワーク経由で必要に応じて利用できるようにする仕組みです。
クラウド環境を実現するための基盤技術として仮想化が広く利用されていますが、クラウドを構成する技術は仮想化だけではありません。
そのため、「バーチャライゼーション=クラウド」ではなく、「バーチャライゼーションはクラウドを支える重要な技術の一つ」と理解すると分かりやすいでしょう。
バーチャライゼーションとコンテナの違い
仮想マシンと比較されることが多い技術が「コンテナ」です。
仮想マシンでは、基本的に仮想マシンごとにゲストOSを持ち、その上でアプリケーションを実行します。
一方、コンテナはホスト側のOSカーネルを共有しながら、アプリケーションとその実行に必要な環境を分離します。
そのため、一般的にコンテナは仮想マシンよりも軽量で、起動が速いという特徴があります。
ただし、仮想マシンとコンテナはどちらか一方だけを利用するものではありません。仮想マシン上にコンテナ実行環境を構築し、その中で複数のコンテナを稼働させる構成も広く利用されています。
バーチャライゼーションが利用される場面
バーチャライゼーションは、企業のITシステムからクラウドサービスまで幅広い場面で利用されています。
たとえば、社内システムのサーバー統合、開発・テスト環境の構築、仮想デスクトップの提供、データセンターのインフラ運用などがあります。
また、クラウドサービスでは、利用者が必要なときに仮想サーバーなどのコンピューティング資源を利用できる環境を構築するために、さまざまな仮想化技術が活用されています。
普段クラウドサービスを利用している人が仮想化技術そのものを意識する機会は少なくても、その背後では仮想化や関連するリソース管理技術が重要な役割を果たしています。
まとめ
バーチャライゼーション(Virtualization)とは、サーバー、ストレージ、ネットワークなどの物理的なIT資源を抽象化し、論理的なリソースとして利用する「仮想化」を意味します。
代表的なサーバー仮想化では、ハイパーバイザーを利用して1台の物理サーバー上に複数の仮想マシンを構築できます。
仮想化によってハードウェア資源を効率的に利用できるほか、物理サーバーの集約、環境構築の迅速化、システム管理の効率化などが可能になります。
現在ではサーバーだけでなく、デスクトップ、ストレージ、ネットワーク、アプリケーションなど幅広い分野で仮想化技術が利用されています。
クラウドコンピューティングをはじめとする現代のITインフラを理解するうえでも、バーチャライゼーションは基本となる重要な概念です。


コメント