CloudStackを試そう 概要編

CloudStack Step by Step

はじめに

Apache CloudStackは業界で最も実績のあるオープンソースのクラウド基盤ソフトウェアです。XenServer、Xen Cloud Platform、KVM、VMware vSphereなど複数のハイパーバイザに対応しており、1つのWebUIから複数のハイパーバイザが混在したクラウドを管理できます。シトリックス社ではオープンソース版のApache CloudStackの商用版としてCitrix CloudPlatformを提供しており、国内外で200以上の利用実績があります。

cloudstack-01

図1:CloudStackの管理画面

本連載では、Apache CloudStackの商用版であるCitrix CloudPlatformの評価版とXenServerを利用してStep by Step形式でクラウドを構築します。クラウドの構築に興味がある方や、導入を検討している方はぜひ自社内でクラウドを構築し、評価を行ってみてください。

CloudStack

CloudStackはIaaSクラウドを構築するためのオープンソースのクラウド基盤ソフトウェアです。もともとはCloud.comにより開発されていましたが、2011年7月にCitrixがCloud.comを買収し、開発がCitrixに移行しました。その後2012年4月にCitrixがCloudStackのソースコードをApache Software Foundation (ASF) に寄贈したため、オープンソースのクラウド基盤ソフトウェアとして無償で利用できるようになりました。

現在はオープンソースのApache CloudStackと、Citrixが提供する商用版のCitrix CloudPlatformの2つのmasterブランチが存在しています。これら2つのブランチでは、片方でコミットされた変更はもう一方の次のリリース時に取り入れられます(図2)。このため、CloudStack側で行った変更もCloudPlatform側で行った変更も、ライセンス等の問題がない限りマージされるようになっています。

cloudstack-02

図2:開発ブランチのイメージ

CloudStackはXenServer、Xen Cloud Platform、KVM、VMware vSphereといった複数のハイパーバイザに対応しており、これらのハイパーバイザが混在する環境でも1つのWebUIから同様の操作で管理が可能です。CloudStackはREST APIによる操作も可能なため、APIを利用して独自にUIを開発することもできます。また、CloudStack用のコマンドラインツールであるCloudMonkeyを利用すれば、ターミナルからCloudStackを操作することも可能です。CloudBridgeモジュールを利用することで、AWS互換のAPIも利用可能になります。

XenServer

今回は仮想マシンホストにXenServerを使用します。XenServerはオープンソースのハイパーバイザであるXenをベースにしたCitrixの商用ディストリビューションです。オープンソースのXenはハイパーバイザのみを指しますが、XenServerはディストリビューションなので、サーバにインストールすればすぐに利用できます。また、2013年6月にオープンソース化したため、XenServer 6.2以降では無償で全機能が利用できるようになりました。なお、XenServer 6.2以降はCitrixにより有償サポートが提供されています。

XenServerはインストールが終了した時点でCloudStackへの追加準備ができているため、インストール後に特別な設定を行う必要がありません。また、CloudStackとの相性も良いため、CloudStackで提供されているAPIのほとんどを利用できます。XenServer単体での利用時は、GUIクライアントとしてXenCenterが提供されています。XenCenterを利用すれば、Windowsマシンから簡単に仮想マシンの管理が行えます。

cloudstack-03

図3:XenCenterのスクリーンショット

用語説明

CloudStackによってクラウドを構築する上で、いくつか説明が必要な用語があります。この章では、ゾーン、ポッド、ホスト、クラスタの4つの用語について説明します。

    • ゾーン

      ゾーンはデータセンタに対応する用語です。CloudStackでは複数のゾーンを管理することができます。複数のゾーンを作成することで、東京のゾーンと大阪のゾーンを作ってDR構成のシステムを構築したり、ゾーンによってネットワーク構成を分けたりします。

    • ポッド

      ポッドはラックに対応します。

    • ホスト

      ホストは仮想マシンを動作させる物理サーバを指します。

    • クラスタ

      クラスタはホストを論理的にまとめたものです。1つのクラスタに格納できるホストはハイパーバイザにより異なります。異なるハイパーバイザを1つのクラスタに混在させることはできません。また、仮想マシンのライブマイグレーションは同一クラスタのホスト間でのみ可能です。

    • プライマリストレージ

      プライマリストレージには仮想マシンのHDDが格納されます。1ポッドあたり最低1つのプライマリストレージが必要です。

    • セカンダリストレージ

      セカンダリストレージには仮想マシンのテンプレートやISOイメージが格納されます。1ゾーンあたり最低1つのセカンダリストレージが必要です。

cloudstack-04

図4:論理構成のイメージ

インストール環境

実際にクラウドを構築する環境を説明します。本連載ではノートパソコン(DELL Latitude E6400) 4台と家庭用ルータ1台でクラウドを構築します。ノートパソコン4台中3台にXenServerをインストールし、残り1台はクライアント端末としてWindowsをインストールし、XenCenterをインストールします。3台のXenServerのうち2台がCloudStackで管理する仮想マシンホストになります。CPU 512MHz、メモリ 512MBの仮想マシンならこの2台で10-14台程度作ることができます。

cloudstack-05

図5:今回使用するノートPC

表1:ノートPCのスペック

Model DELL Latitude E6400
CPU Intel Core2Duo P8600 @2.4GHz
RAM 8GB
HDD 250GB

 

クラウドで利用するIPアドレスを確保するため、家庭用ルータを用いてLANを作成します。今回はルータのDHCP範囲は192.168.1.231-240に設定します。

cloudstack-06

図 6:物理配線図

今回はCloudStackとCloudPlatformの概要を説明し、これからインストールする環境について少しだけ触れました。次回はCloudPlatformの評価版バイナリとXenServerを取得し、インストールに入りたいと思います。