サーバ仮想化技術が注目を集めて数年が経ちました。昨今では、企業の本格的な導入が進み、その利用形態もクラウド化が進む中で多様化しています。
今回は、仮想化技術の一つである「KVM(Kernel-Based Virtual Machine)」を中心に、その技術や利用シーン、クラウドへの仮想化技術の適用などを4回にわたって連載します。
少し過去に遡って仮想化技術が採用されてきた背景をみてみましょう。
企業のIT化やITサービス事業の伸びに応じて、サーバやストレージの需要が急速に高まりました。需要に追われて多くのサーバで稼動していたシステムが、運用管理面、コスト面から、統合(コンソリデーション)の方向に向かいました。ハードウェア面では、ブレードサーバや共有ストレージなどが統合を促進するソリューションであり、ソフトウェア面では仮想化技術が統合を促進した技術といえます。
さらにクラウドの出現によって、単なる統合に加えて、構築の容易性や拡張性などの仮想化技術の特徴がクローズアップされるようになりました。
各論に入る前に、まずはサーバ仮想化技術の概念について少しおさらいしておきましょう。
1. サーバ仮想化技術の概念
仮想化とは何か?
近年注目を集める仮想化技術は、目新しい概念ではありません。40年ほど前に、1台のメインフレームに複数の異なるOS(オペレーティングシステム)を稼動させる技術として実用化されています。
仮想化について、少し掘り下げてみましょう。
仮想化とは、コンピュータの物理的な資源を、論理的な資源に置き換えることです。これにより、利用者からは論理的な資源だけが認識され、物理的な資源は隠蔽されることになります。
しかし、この定義に当てはめると、ネットワークプロトコルなど現在ITで使われているさまざまな技術がこれに該当することになってしまいますが、いちいち「仮想化○○」などとは呼ばれていません。仮想化○○と呼ぶかどうかの定義は、曖昧なのが現実ではないでしょうか。
サーバ仮想化に絞って見ると、1台のサーバ上で複数のOSが稼動する、または複数台のサーバ上を論理的に1台のサーバに見せる技術などを仮想化技術と呼んでいます。
サーバ仮想化の形態
では、サーバにおける仮想化にはどのような形態が存在するのでしょうか。代表的な形態として、パーティショニングと仮想マシンによる2種類があります(図1、図2)。
パーティショニングは、ハードウェアのリソースを区画化する技術です。区画にも物理的/論理的な区画があり、それぞれ物理パーティショニングと論理パーティショニングと呼びます。
物理パーティショニングは、メモリ、CPU、I/Oリソースを物理的に分割する方式です。分割された区画は独立して動作するので、他の区画に影響を及ぼすことはありません。この方式は、UNIX/メインフレームで採用されている技術であり、IAサーバでは一般的な技術ではありません。
一方、論理パーティショニングは、分割されたリソースを、区画に自由に割り当てることが可能な方式です。論理パーティショニングは、区画に割り当てるリソースを変更することで、柔軟な構成変更に対応できるメリットがあります。
仮想マシンを使用した仮想化も2つに分類されます。ホストOSが必要な方式と、ホストOSが不要な方式です(図3、図4)。
前者は、仮想マシンを動作させるためのソフトウェアをホストOSにインストールして、ホストOS環境下で動作させます。
後者は、ホストOSを必要とせずに、仮想マシン環境を構築することが可能です。仮想化に特化した専用のカーネル(ハイパーバイザ)上で仮想マシンが動作する方式のために、ホストOSのオーバーヘッドがない分、高速に動作する特徴があります。