こんにちは。スプラッシュトップ編集部です。
多くの企業で社内システムなどを支えるICT基盤を仮想化して運用することが一般的となってきた背景には、仮想環境がもたらす多くのメリットの存在が挙げられます。
この記事では、仮想環境の概要から仮想マシン・仮想化方式の種類、利用するメリット・デメリット、運用する際のポイントや注意点について解説します。
仮想環境とは?
仮想環境とは、物理的なハードウェアのなかで仮想的に構築した環境のことです。
仮想環境はハードウェアを構成するCPUやメモリ、ストレージなどを論理的に分割・統合することで実現されます。
仮想化されたハードウェアやOSを“仮想マシン”と呼び、物理的なハードウェア上に複数の仮想マシンを展開できます。
仮想マシンを利用することで、物理環境に左右されづらい柔軟で拡張性の高いICT環境の構築が可能となります。
仮想化方式の種類
仮想環境を構築する仮想化方式には、いくつか種類があります。ここでは、3種類の仮想化方式の違いと特徴について見ていきましょう。
ホストOS型
ホストOS型は、物理的なハードウェアにインストールされたOS(ホストOS)を土台とし、ホストOS上で仮想化ソフトウェアを利用して、仮想マシンを展開する方式です。
「物理ハードウェア+ホストOS+仮想化ソフトウェア」という仮想化基板上に、仮想マシンを展開します。
ホストOS型は、既存のパソコンやサーバーをそのまま利用できる手軽さがメリットです。
その反面、複数の仮想マシンを運用する場合は、ハードウェアリソースと仮想マシンの間にホストOSが介入するため、高速な処理が行なえません。これはオーバーヘッドと呼ばれる、余分なリソースの消費が大きくなることが原因です。
まずは仮想環境に触れてみたい、という方にホストOS型はおすすめであり、無料で利用できる仮想化ソフトウェアも存在します。ホストOS型の代表的な仮想化ソフトウェアは次の通りです。
- VMware Player
- VMware Workstation Player
- Oracle VM VirtualBox
など
ホストOS型は小規模なシステムの構築や、個人での利用が多い傾向にあります。
ハイパーバイザー型
ハイパーバイザー型はホストOSがなく、その代わりのOSとなる専用の仮想化ソフトウェア(ハイパーバイザー)をサーバーに直接インストールして仮想マシンを運用する方式です。ベアメタル型とも呼ばれます。
ハイパーバイザーは、WindowsやLinuxなどとは異なる仮想化専用のOSです。「物理ハードウェア+ハイパーバイザー」という仮想化基板上に、仮想マシンを展開します。
ハイパーバイザー型は、ホストOS型に比べてオーバーヘッドが低減できる点が特徴です。そのため、仮想マシンのハードウェアリソースへのアクセスが最適化され、複数台の仮想マシン運用でも高速な処理が実現できます。
ただし、ハイパーバイザー型は仮想環境を構築するために、専用の物理サーバーを準備しなければなりません。既存のWindowsやLinuxなどのサーバーをそのまま利用できず、OSごと入れ替えが必要になるためです。
代表的なハイパーバイザー型の仮想化ソフトウェアとしては、次のようなものが挙げられます。
- VMware vSphere
- XenServer
- Hyper-V
企業の社内システムや業務システムなど、中~大規模なシステム構築の際には、ハイパーバイザー型が採用されることが多いです。
コンテナ型
コンテナ型は仮想マシンではなく、コンテナと呼ばれるアプリケーションを実行するためのリソースがまとめられたパッケージを利用します。
コンテナ管理アプリケーション(コンテナエンジン)を用いてコンテナを運用し、アプリケーションの実行環境の仮想化を実現する仕組みです。ホストOS型やハイパーバイザー型とは異なる概念ですが、近年注目を集める仮想環境の一つです。
「物理ハードウェア+ホストOS+コンテナエンジン」という仮想化基板上にコンテナを展開することで、アプリケーション実行環境を仮想化します。
コンテナ型のメリットは、可搬性の高さと、システム資源の負担が小さい点です。コンテナ型を効果的に運用すれば、リソースを有効活用しつつ、より可用性や拡張性を高めることが可能です。
例えば、アクセスが集中する時間帯はコンテナ数を増やし、アクセスが少ない時間帯には減らすという運用も容易に実現できます。
ただし、コンテナは1つのOSから作られているため、OSが限定されるという点では、仮想マシンより自由度が低いというデメリットがあります。
コンテナはクラウドと相性が良く、新たな仮想化技術として今後はより利用頻度が増えると予想されます。
代表的なコンテナエンジンとして挙げられるのは、“Docker”です。さらに多くのコンテナを効率良く管理し、自動化を実現するためのコンテナオーケストレーションシステムとしては、“Kubernetes”や“Red Hat OpenShift”が用いられます。
仮想環境を利用するメリット・デメリット
仮想環境は多くのメリットをもたらす反面、デメリットも存在します。上手に活用するには、メリット・デメリットの両方を把握しておくことが重要です。
メリット
仮想環境を利用するメリットとしては、おもに次の3点が挙げられます。
- コストの削減
- 柔軟なシステムの構築
- 障害への耐性強化
仮想環境を構築することで物理サーバーを減らせるため、コストの削減効果が期待できます。物理サーバーが減ることで運用に関わるコストや、設置に関わるコストも削減でき、大規模なシステムほど削減効果が大きくなるといえます。
また、限られたリソースを自由に統合・分割でき、複数のサーバーを一元的に管理できるようになります。サーバーの複製なども容易に行なえるようになり、柔軟なシステムの構築が可能です。
さらに、仮想化したサーバーはバックアップを取得しやすく、サーバー単位での復旧も容易に行なうことができます。災害の多い日本ではBCP(事業継続計画)対策が重要ですが、仮想環境はBCP対策としても有効です。
デメリット
仮想環境を利用するうえでは、次に挙げるデメリットにも注意しましょう。
- 専門性が高い
- セキュリティの管理
仮想環境の構築・運用は、従来のオンプレミス環境とはノウハウが異なります。仮想環境で最適な構築・運用を実現するには、仮想化に関する知識を身につけるか、専門的なノウハウを持つ人材の確保が必要不可欠です。
また、仮想環境特有のセキュリティ対策も必要になり、従来のOSやアプリケーションによるセキュリティ対策だけでなく、仮想環境のためのセキュリティ管理が求められます。
仮想環境を運用する際のポイントや注意点
最後に、仮想環境を運用する際のポイントや注意点について解説します。
仮想環境の可視化
仮想環境では複数のサーバーを一元的に管理できることから、システム全体の可視化を意識することが重要となります。
仮想環境における一元管理では、仮想サーバーごとにリソースの利用状況や処理性能を可視化し、モニタリングすることが可能です。そして、モニタリング結果をもとに、システムの最適化も行なうことができます。
リソースを柔軟に割り当てられる仮想環境であるからこそ、モニタリング結果をもとにした最適化は、必要不可欠です。
仮想化アプリケーションにはシステム全体を可視化できる機能がついているため、十分に活用することがポイントです。
適切なリソース割り当て
仮想サーバーには、物理サーバーのCPUやメモリなどのリソースを仮想的に割り当てます。その際に注意すべき点としては、必要以上にリソースを割り当てないことです。
必要以上にリソースを割り当てると、仮想サーバーが十分に性能を発揮できない可能性があります。
例えば、仮想CPUをオーバープロビジョニングすることで、CPU待機状態となり、仮想サーバー全体の性能が低下する可能性などが考えられます。
これはメモリに関しても同様のことがいえ、仮想サーバーごとに適切なリソース量を見極め、最適化することが重要です。
クラウドへの移行も検討する
クラウドサービスのなかでも、インフラ環境をサービスとして提供する“IaaS”は仮想化技術を利用しています。
IaaSの中身は仮想環境であり、インターネット経由で利用できるサービスです。そのため、自社の仮想環境をそのままクラウドへ移行することもできます。
仮想環境のメリットを享受するためには、適切な運用・管理ができていることが前提であり、不適切な状態ではかえって効率が悪く管理も煩雑になってしまうかもしれません。
クラウド環境へ移行することで、自社でハードウェアを管理する必要がなくなり、より柔軟なリソース管理が実現できます。
仮想環境をより効率良く、柔軟に利用したい場合は、クラウドへの移行も検討すると良いでしょう。