仮想化のメリット
仮想化のメリットはさまざまだが、主に次の内容が挙げられるだろう。
1.余剰リソースの有効活用
システムごとにサイジングをし、リソースを確保していた従来のインフラ管理は、余剰リソースを生み、管理工数を増やし、企業全体で見た場合非常に非効率であった。仮想インフラでは、CPU、メモリやストレージのリソースをハードウェアに依存せず共有することができるようになる。
一般的に未仮想のサーバではCPUの使用率は平均15%程度といわれている。例えば、
- 月初に処理が集中するサーバ
- 月中に処理が集中するサーバ
- 月末に処理が集中するサーバ
のように負荷のピークが違うサーバを仮想的に1つのサーバに統合する事で、効率よくCPUリソースを使い、使用率を常に高い状態でキープできるようになる。更にリソースの状況を見ながら、仮想サーバを追加していく事が可能になり、最終的には80%から90%近くまで使用率を上げる事ができる。
また、一般的に未仮想のストレージでは各ストレージの容量に対する使用率は平均30%程度といわれている。これは、製品導入時に将来の利用量を見越し、システムの実態よりも大きなストレージを用意する傾向があるためである。しかし、従来サーバごとに提供されていた容量を仮想化し、統合して管理する事で、それぞれに準備されていた空容量の共有が可能になる。結果的に容量を有効的に活用でき、リソースの使用率を70~80%まで上げることができる。
加えて仮想化の特徴として、リソースの追加自体、容易なことがあげられる。リソースの残り容量を確認しながら調整できるため、この特徴も使用率を安心して上げられる1つの要因になっている。
2.システム導入の単純化
従来、相互接続性の確認やサイジングの難しさは、システム導入時の大きな負担だった。仮想インフラでは、ハードウェアの依存からシステムを切り離す事で相互接続性を吸収し、システムごとにサイジングしていたリソースを全体的に管理することができるようになるため、システム導入が単純化される。
システムの追加を例にとって考えてみよう。
未仮想のシステムの場合、システムの追加はサーバ、ストレージごとにハードウェアのサイジングや相互接続性を確認し、選定を行っていた。一方仮想化されたシステムでは、仮想サーバ・仮想ボリュームの追加や変更のとき、ハードウェアの考慮をする必要が少なくなる。これは、共有リソースに余裕があれば仮想上で追加や変更ができるからである。
また、システムのサイジングの面でも、個別に行うのではなく共有リソース内で行うため、効率的な配分が可能になる。さらに、ハードウェア構成の変更に対しては、仮想化レイヤーが相互接続性を吸収するため、考慮点が少なくなり、全体としてシステム導入が単純化される。
3.投資サイクルの最適化
従来のインフラでは、管理のポイントはハードウェア層にあった。仮想化したインフラでは、管理のポイントは仮想化層に移るため、さまざまなインフラの管理・運用が単純化し統一できるようになる。
例えば、未仮想のインフラでは、システムごとに監視を行う必要があった。一般的な監視内容は、「ハードウェアの死活監視」「リソース監視」「プロセス監視」「稼動や状態監視」「ログ監視」など多岐に渡る。一方、仮想化されたインフラでは仮想化ソフトウェア上で一元的にリソースを監視することが可能になる。同時に監視対象のハードウェア数も削減されるため、管理ポイントも減少する。また、インフラの管理を行う仮想化ソフトウェアは、継続して使用できるため、管理者は運用を長く続けるほど管理・運用方法、ノウハウ、ナレッジを蓄積することができる。
4.管理・運用性の向上
ハードウェアに依存したインフラは、本来、システムのライフサイクルとは異なる「ハードウェアのライフサイクル」と同時に老朽化していってしまう。だが仮想インフラでは、システムはハードウェアから切り離されることで老朽化の影響を受ける事がなくなり、投資サイクルが最適化されるようになる。
例えば、未仮想のインフラでは、ハードウェアの老朽化に伴うリプレースによって、「OSやアプリケーションの変更」「ソフトウェアのバージョンアップ」「他のハードウェアとの接続性」「システムの移行」などシステム変更に関するさまざまな対応や検証が必要になり、余計な投資がかさんでいた。これは3年から5年ごとに起きるハードウェア老朽化に、システムのライフサイクルも影響を受けてしまうためである。
仮想化されたシステムはハードウェアの老朽化によるリプレースの際、ハードウェアが原因になって起きるシステム変更の考慮点を吸収することができる。そのため、ハードウェア、ソフトウェア、システムそれぞれの要件で必要なときに必要な部分だけに投資をすることが可能となる。
サーバ仮想化とストレージ仮想化
主なインフラ仮想化のソリューションは、大きく分けるとサーバ仮想化とストレージ仮想化の2つに分類される。
サーバの仮想化とは、1台の物理サーバのリソースを仮想的に分割・共有し、それぞれを独立したサーバとして動作させる技術である。仮想的に独立したサーバは、相互に影響を与える事無く、かつ物理的なハードウェアからも切り離されるため、リソースに縛られず、物理サーバ間の移動機能技術も含め、柔軟性や可用性に優れた運用を可能にしている。
一方、ストレージの仮想化とは、複数のストレージ装置をわたって、リソースの共有やボリュームの管理をする技術である。仮想的なボリュームは、複数のディスクアレイをわたってリソースを共有し、レプリケーションやミラーリングを実現する。また、リソースをI/Oに応じて割り当てていくシン・プロビジョニングのような技術も登場し、より効率的なリソースの活用、物理ストレージを越えた運用を可能にしている。
従来、サーバ・ストレージそれぞれの仮想化ソリューションを個別で検討するケースが多かった。サーバの仮想化をする際は、外部にディスクアレイを必要とするケースが一般的であり、データセンターで導入済みの仮想サーバの85%は外部ストレージを導入しているというデータもある。
しかし近年は、サーバのみを仮想化した際の、外部ストレージのハードウェア依存によって、仮想化のメリットを最大限に引き出しきれないことが要因になり、インフラ全体の仮想化が増加している。未仮想のストレージは、ハードウェア障害を仮想サーバのシステムに与えてしまったり、I/Oのパフォーマンスとコストのバランスを難しくしてしまうことがある。
次回は、バランスの良いインフラ全体の仮想化とより詳細なストレージ仮想化について詳しく述べる。