Eucalyptus に必要なもの (1.5.2)
以下に示すのは、Eucalyptus をビルドしたり、実行したりする前に満たしておく必要がある依存関係の完全なリストです。依存関係を満たすのに必要なディストリビューション固有のインストール関係の指示は、サポートされていないディストリビューションで Eucalyptus のビルドやインストールを行う場合にも役立つはずです。
1. ソースからコンパイルするのに必要なもの
- C コンパイラ
- Java Developer Kit (SDK) バージョン 1.6 以上
- Apache ant 1.6.5 以上
- libc 開発ファイル
- pthreads 開発ファイル
- libvirt 開発ファイル
- Axis2C および rampart 開発ファイル (Eucalyptus に同梱)
- Curl 開発ファイル
- openssl 開発ファイル
- 省略可: zlib 開発ファイル
2. Eucalyptus を実行するのに必要なもの
Eucalyptus の一部のコンポーネントには、クラスタ「フロントエンド」とクラスタ「ノード」のどちらで実行されるかによって異なるものがあります。 「フロントエンド」コンポーネントと「ノード」コンポーネントの実行時依存関係は異なります。1 台の物理的マシンでも、「フロントエンド」と「ノード」の両方の役割を引き受けることができます。
フロントエンドの実行時依存関係
- フロントエンドで実行される Eucalyptus コンポーネントには、Java 6 が必要です。一部の Linux ディストリビューションにデフォルトで含まれている GNU Compiler for Java (gcj) では条件を満たせないことに注意してください。また、環境変数 JAVA_HOME に、インストールした JDK の場所が設定されていることを確認してください。
- クラウドコントローラを実行するには、Apache antが必要です。
- ヘルパースクリプトでは、Perl を使います。
- ヘッドノードは、ポート 25 でサーバーを実行し、クラウドユーザーのメールアドレスにメッセージを配信したり、メールをリレーしたりできるようにしなければなりません。サーバーは Sendmail、Exim、または postfix でよく、さらに言えば、受信メールを受け取れるようにする必要はないので、もっとシンプルなプログラムでもかまいません。この要件は、多くの Linux ディストリビューションでは初めから満たされています。ローカルホストでメールのリレーが適切に動作するかどうかは、端末上で "mail" プログラムを使って自分宛にメールを送ると確認できます。
- ネットワーク・サポートに必要な依存関係は、使用するモードによって異なります (詳細については、Eucalyptus ネットワークの構成を参照してください。機能をフルに利用するには、以下のすべての依存関係を満たす必要があります。
- すべてのモード:
- iproute パッケージと iptables パッケージ (ip コマンドと iptables コマンドが使用できなければなりません)
- SYSTEM 以外のすべてのモード:
- ISC DHCP Daemon バージョン 3.0.X と互換性のある DHCP サーバー (dhcp3-server)
- MANAGED モードおよび MANAGED-NOVLAN モード:
- bridge-utils パッケージ (brctl コマンドが使用できなければなりません)
- MANAGED モードではさらに次のものも必要です:
- vlan パッケージ (vconfig コマンドが使用できなければなりません)
- すべてのモード:
- 永続的な動的ブロックストレージ (EBS) を動作させるためには、フロントエンドに以下のソフトウェアパッケージがインストールされている必要があります。
- lvm2 パッケージ (たとえば lvm コマンドが動作する必要があります)
- aoetools パッケージ。フロントエンドとすべてのノードで aoe モジュールをロードする必要があります (modprobe aoe)。使用しているカーネルが ATA-over-Ethernet をサポートしていない場合は、ATA-over-Ethernet のサポートを追加する必要があります。
- vblade パッケージ
ノードの実行時依存関係
- Perl スクリプトがノードコントローラから呼び出されます。
- 次の 2 つのハイパーバイザーがサポートされています。
- ネットワーク・サポートに必要な依存関係は、使用するモードによって異なります (詳細については、Eucalyptus ネットワークの構成を参照してください。機能をフルに利用するには、以下のすべての依存関係を満たす必要があります。
- すべてのモード:
- iproute パッケージと iptables パッケージ (ip コマンドと iptables コマンドが使用できなければなりません)
- MANAGED モードおよび MANAGED-NOVLAN モード:
- bridge-utils パッケージ (brctl コマンドが使用できなければなりません)
- MANAGED モードではさらに次のものも必要です:
- vlan パッケージ (vconfig コマンドが使用できなければなりません)
- すべてのモード:
- libvirt パッケージ (ハイパーバイザーの構成によっては libvirtd も併せて必要になります)
すべての Eucalyptus コンポーネントで必要なもの
- Eucalyptus コンポーネントをインストールして起動するには、root でなければなりません (デフォルトでは、Eucalyptus コンポーネントは起動後に別のユーザーで実行されます)。このガイドは、すべてのコマンドを root で実行することを前提に記述されています。
Rocks ユーザーへの注意事項: Eucalyptus 1.5.2 は、バージョン 5 以上の Rocks ベースのクラスタにインストールできます。依存関係を満たすためには、フロントエンドに Java をインストールし、仮想マシン・コンテナのそれぞれに xen をインストールします。Rocks の現在のバージョンの java によってインストールされる JDK では残念ながら条件を満たせないので、JDK 1.6.0 を「手作業で」インストールする必要があります。Eucalyptus チームでテストに使用したのは Sun の JDK で、http://java.sun.com/javase/downloads/index.jsp にあります。
3. ディストリビューションごとの例
以下に示すのは、サポートされている各ディストリビューションで Eucalyptus をビルドして実行するのに必要なパッケージをすべてインストールする方法です。
- Opensuse 11.1 の場合、必要な依存パッケージをすべてインストールするには次のコマンドを実行します。
yast2 -i bzr python-paramiko make gcc ant apache2 apache2-devel\ java-1_6_0-openjdk java-1_6_0-openjdk-devel libvirt-devel libcurl-devel\ vlan dhcp-server bridge-utils ant-contrib ant-nodeps curl libvirt
- Ubuntu 9.04 の場合、必要な依存パッケージをすべてインストールするには次のコマンドを実行します。
apt-get install bzr gcc make apache2-threaded-dev ant openjdk-6-jdk\ libvirt-dev libcurl4-dev dhcp3-server vblade apache2 unzip curl vlan\ bridge-utils libvirt-bin kvm
- CentOS 5.3 の場合、必要な依存パッケージをすべてインストールするには次のコマンドを実行します。
yum install -y java-1.6.0-openjdk-devel ant ant-nodeps libvirt-devel\ curl-devel httpd httpd-devel apr-devel openssl-devel dhcp
- Debian の場合、必要な依存パッケージをすべてインストールするには次のコマンドを実行します。
apt-get install gcc make apache2-threaded-dev ant openjdk-6-jdk\ libvirt-dev libcurl4-dev dhcp3-server vblade apache2 unzip curl vlan\ bridge-utils libvirt-bin kvm sudo
インストール時の詳細な手順については、ディストリビューションごとに用意されたページを参照してください。
4. Eucalyptus を操作するのに必要なもの
Eucalyptus を操作するには、EC2 互換のコマンドライン・ツールをインストールする必要があります。Eucalyptus ドキュメントでの手順の説明は、Eucalyptus チームが配布している euca2ools コマンドライン・ツールを使うことを前提にしています。作業によってはほかの多くのサードパーティ製ツールも使用できます。詳細については、エコシステムのページを参照してください。
