クラウド環境に最適なハイパーバイザー Citrix XenServer

2011年8月4日(木)
北瀬 公彦

クラウド環境に最適なハイパーバイザー

管理面においては、マルチハイパーバイザー対応を進めているが、シトリックスはハイパーバイザーとして、コストパフォーマンスの高い、クラウド環境に最適なハイパーバイザー「XenServer」を提供している。XenServerの開発テーマは大きく分けて2つある。

  • クラウド環境(プライベートクラウド、パブリッククラウド)で利用しやすい機能開発、エディション構成
  • デスクトップ仮想化システム環境で利用しやすい機能の開発、エディション構成

XenServerの開発スピードは非常に速く、ここ1、2年で急速に機能を追加してきた。最近リリースされた米Gartner社のMagic Quadrant for x86 Server Virtualization Infrastructureでは、VMware、Hyper-Vとともに、リーダーのポジションにランキングされた事からも分かるように、3大ハイパーバイザーの1つとして認められている。1、2年前に評価し使用をあきらめたユーザーがいれば、ぜひもう一度評価する事をお勧めする。

また、最近のInformationWeekの記事「Virtualization Wars: Citrix Tops Microsoft As ‘Primary Hypervisor’」においては、XenServerを利用しているユーザー(複数パイパーバイザーを利用している場合も含む)はアンケートを行ったユーザーの55%であり、さらに最も利用しているハイパーバイザーの20%がXenServerであったという事はつい最近の事である。

さて、ここでは多数あるXenServerの機能の中でも、クラウド向けの機能に焦点を当てて解説していきたいと思う。XenServerの基本機能は、昨年の記事 「サーバー仮想化最新技術 Citrix XenServer 5.6」を参照いただきたい。最新バージョンはXenServer 5.6 SP2であるが、今秋、待望のメジャーバージョンアップであるXenServer 6のリリースを予定している。

クラウド環境向けの機能

ネットワーク:

XenServer 5.6 FP1より、2種類の仮想スイッチを提供している。デフォルトの仮想スイッチは、Linux BridgeベースのL2スイッチであり、もう1つの仮想スイッチはOpenFlow対応の高機能な分散仮想スイッチである。この分散仮想スイッチを利用するためには、下記のコマンドを実行し再起動する事で利用する事が可能である。

# xe-switch-network-backend openvswitch

XenServer 6より、デフォルトの仮想スイッチが、OpenFlow対応の高機能な仮想スイッチになる予定である。

ここで、少しOpenFlowについて解説したいと思う。スイッチの機能を大きく分けると、データ伝送する部分(データパス)とデータをどのように転送するかを決める部分(コントロールパス)の2つになる。

OpenFlow対応の仮想スイッチでは、その2つの機能を分断し、コントロールパスに関しては、外部で制御する仕組みを取っている。スイッチには、データ転送部分に特化させるといった具合だ。もう1つの特徴は、12のパラメータに基づき、データをどのように伝送するかを決め、Flowテーブルで定義している。

例えば、このIPアドレスからのデータで、プロトコルがHTTPであれば、とあるIPアドレスに転送し、FTPであればドロップするといった具合だ。同じネットワークセグメントでも、このFlowテーブルを設定すれば、いかようにもネットワークを分ける事ができる。そのため、既存で使用されているVLANではID数が4094以上は作成できないというジレンマから回避する技術として、OpenFlowを採用、検討する事が最近多い。

図5:OpenFlowスイッチの役割

XenServerでは、OpenFlow対応仮想スイッチのコントローラを仮想アプライアンスとして提供している。仮想アプライアンスをこちら(要mycitrixアカウント)よりダウンロードし、XenServerにインポートし起動すれば、ものの数か所の設定でOpenFlowコントローラを使用する事ができる。

また、XenServerのOpenFlow対応仮想スイッチは、Open vSwitchとよばれるオープンソースの仮想スイッチ (Nicira NetworksやNECやCitrix等が開発に参加している)をベースにしたものであるため、ovsコマンド (Open vSwitchを制御する時に使用されるコマンド) も使用可能である。興味がある方は、Open vSwitch Manpagesを参照していただければと思う。

クラウド管理:

前述の図でも示したように、Citrixでは中小規模向けのプライベートクラウド管理ツール「Self Service Manager」と、大規模、パブリッククラウド向けの管理ソフトウエア「CloudStack」を提供している。また、オープンソースのクラウド管理ソフトウエア「OpenStack」の開発にも大きく貢献している。今回は、「Self Service Manager」について見ていきたいと思う。

Self Service Managerは、VMLogix※6社のLab Managerをベースに開発されているものである。XenServer 5.6 FP1/SP2では、このLab Managerをラボ管理機能として、XenServerに含めて提供していたが、XenServer 6からは、プライベートクラウド管理機能として提供される。

大きく変わった点としては、Citrixの文化でもある「クラウドにオープンである事」を踏襲し、XenServerとVMwareの2つのハイパーバイザーを管理し、ユーザーに対し1つの管理インターフェースを提供する事ができる点である。またユーザーインターフェースもより使いやすい形に一新されている。将来的には、Hyper-Vへの対応や、またAWSやOpenStackベースのクラウドも管理できるようになる予定だ。

[※6] VMLogix:カナダの企業でLabManagerと呼ばれるラボ管理製品を提供していた。Citrixが2010年8月に買収

図6:Self Service Manager画面

図7:Self Service Manager画面

System Center Virtual Machine Manager対応:

また、マルチハイパーバイザー対応の一環としては、System Center Virtual Machine Manager 2012(SCVMM)※7から、XenServer 6を管理する事が可能だ。これにより、SCVMM 2012を使用すると、XenServer、Hyper-V 、VMwareの3大ハイパーバイザーを1つの管理ツールで管理する事ができる。

[※7] System Center Virtual Machine Manager 2012(SCVMM 2012):マイクロソフト社の仮想環境管理製品。現在ベータ版が提供されている

デスクトップ仮想化システム環境向けの機能

GPU pass through (XenDesktop向け):

XenServer 5.6 FP1から、XenDesktop 5 SP1と組み合わせる事によって、GPUパススルー機能が使用可能になった。XenDesktopで構築された仮想デスクトップシステムにリモートより接続し、その仮想マシン上で高解像度グラフィックスアプリケーションを非常にスムーズに動かす事ができる。

ここで注意したいのは、このGPUパススルーの機能は、1VMにつき1GPUをアサインするといったように、1:1のGPUパススルー機能である。この機能を使用するには、SLI Multi-OS対応のNVIDIAのGPUが必要である。例えば、FX3800 、FX4800 やFX5800 といったものである。

Itellicache (XenDesktop向け):

デスクトップ仮想化システムでは、サーバー仮想化とは異なり、1つのハイパーバイザーで多くの仮想マシンを実行する必要がある。大規模なシステムでは100VM/ハイパーバイザーを超える場合もある。サーバー仮想化では、集約したとしても数十といった所だろう。大規模環境であっても総サーバー数は数千程度と考えられるが、クライアントPCの数となると数万という場合も多い。こういったクライアントPCを統合する場合、ハイパーバイザーに集約する仮想マシン数も多くなりがちである。

また、仮想マシンの展開方法についても、一般的には仮想マシンのマスターディスクイメージを作成しておいて、そのイメージに仮想マシンからアクセスを行い、差分については別途仮想ディスクに書き込む、というような方法を取る場合が多い。XenDesktopでも、Citrix Provisioning ServicesやMachine Creation Serviceといった機能を使用して、このような方法を取る。

その際に課題になってくる部分が、マスターディスクイメージが置いてあるストレージへのI/Oである。ピーク時は特に朝だろう。デスクトップ仮想化システムを導入している企業では、朝出社後、社員が一斉にリモート端末から仮想マシン(仮想デスクトップ)にアクセスするため、数百、数千という仮想マシンからのリードI/Oが一斉に発生する(ブートストーム)事になる。こういったブートストームに対応したシステム構成を構築する事が重要になる。XenServerでは、既に読み込んだデータに関しては、にローカルストレージにキャッシュしておく事が可能であるため、ストレージのIOPSを劇的に削減する事が可能である。

次回は、シトリックスのOpenStackへの取り組みやCloudStackに関して解説していきたいと思う。

CloudStack Day Japan 2014実行委員

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています