Eucalyptus(Version 1.5.2) + Euca2ools + Elasticfox で作るプライベートクラウド環境

Eucalyptus Version 1.5.2 と Euca2ools のリリースを祝って、オープンソースソフトウェアのみでプライベートクラウドを構築してみようかと思います。

# ちなみに、apt-getでインストール可能なEucalyptus(1.5~bzr266-0ubuntu2)は、1.5rc1ベースとなります。

環境

今回は以下のような環境を想定

※ Ubuntuのドキュメントとはことなり、Front-End(サーバ1)にもノードとしての役割(仮想サーバを動作させる)を与えました。

https://help.ubuntu.com/community/Eucalyptus

用意するもの

Intel VT または AMD-V 対応のPC x 2台

# BIOSでVirtualzationが無効になっている場合があるので、有効にしておきましょう。

Ubuntu 9.04 Server Edition のインストール

Ubuntu 9.04 Server Edition のダウンロード方法

CD-ROMからブートさせ、Ubuntu 9.04 Server Edition のインストールする。

Language: 日本語
キーボドレイアウト: Japan - OADG 109A
タイムゾーン: Asia/Japan
ホスト名: front.eucaly.jp (サーバ1)
          node.eucaly.jp  (サーバ2)
ネットワーク設定: サーバ1はインストール時にネットワークの設定を固定IPでしておきます。
ディスク全体を使いLVMをセットアップ
自動的にアップデートしない
ソフトウェア選択: DNS server, Mail Server OpenSSH server, Virtaul Machine host
ユーザ: eucaly
パスワード: ********

※ループデバイスを増やしておきます。 You should have at least 32 loop devices

※デフォルトでFWが有効なので、PCから 8443番ポートにアクセスできるように設定しましょう。

Eucalyptus Version 1.5.2 + Euca2ools のインストール

必要なパッケージの自動インストールが可能なようにサーバはインターネットへアクセス可能な状態にしておきます。

Eucalyptusのダウンロードページ( http://open.eucalyptus.com/downloads )から、 下記の2つをダウンロードし、サーバにアップロードします。

Ubuntuの64bit版の場合(例)

ce /home/eucaly
wget http://open.eucalyptus.com/downloads/125 -O euca2ools-1.0-ubuntu-amd64.tar.gz
wget http://open.eucalyptus.com/downloads/113 -O eucalyptus-1.5.2-ubuntu-amd64.tar.gz

解凍

tar xvfz eucalyptus-1.5.2-ubuntu-amd64.tar.gz
tar xvfz euca2ools-1.0-ubuntu-amd64.tar.gz

sources.listへ追加

sudo -s
echo 'deb file:///home/eucaly/eucalyptus-1.5.2-ubuntu-amd64 ./' >> /etc/apt/sources.list
echo 'deb file:///home/eucaly/euca2ools-1.0-ubuntu-amd64 ./' >> /etc/apt/sources.list
apt-get update

Eucalyptusのインストール(サーバ1の場合)

apt-get install eucalyptus-cloud
apt-get install eucalyptus-cc
apt-get install eucalyptus-nc

Eucalyptusのインストール(サーバ2の場合)

apt-get install eucalyptus-nc

最初に実行した場合は必要なパッケージも併せてインストールされるため大量にインストールされます。
また、下記の出力がでますが「y」を入力し進みます。

警告: 以下のパッケージは認証されていません!
eucalyptus-gl eucalyptus-cc
検証なしにこれらのパッケージをインストールしますか [y/N]? y

上記の警告にyesと答えるのが面倒な場合には、"--force-yes"を付けます。(非奨励)

apt-get install eucalyptus-cloud --force-yes

続いて、Euca2ools をインストールします。

apt-get install euca2ools

クラスターの作成

クラスターの作成

euca_conf -addcluster test-cluster localhost

WebUIへログイン

https://(サーバ1のIPアドレス):8443/
username: admin
Password: admin

ログイン後、パスワードの変更を求められるので任意のものに変更します。

次に、メールアドレスの入力を求められます。クラウドのサインアップメッセージのあて先やfrom欄として用いられるものでなので、適切なメールアドレスを入力します。 (/etc/eucalyptus/cloud.d/eucalyptus-web.propertiesにて変更可能です。)

Walrus URLの入力を行います。WalrusはS3互換のEucalyptusのストレージサービスです。 (ホスト名が設定されている場合は、変えておくといいでしょう。) http://(サーバ1のIPアドレス):8773/services/Walrus

最初は、「Configuration」タブが表示されます。 必要に応じて「Cloud configuration」「Walrus configuration」 「Clusters」「VM Types」の設定を変更するといいでしょう。

「Credentials」「Images」「Users」「Configuration」「Extras」 タブも確認しておきましょう。

特に、「Extras」タブでは、Eucalyptusから承認されたイメージとして、 下記のイメージがダウンロードできるので便利です。

また、「Users」タブにて利用者ユーザを作っておくといいです。

ノードの登録

ホスト名が引けない場合は、予め/etc/hostsに記載しておきます。

vi /etc/hosts
※例:
(サーバ1のIPアドレス) front.eucaly.jp front
(サーバ2のIPアドレス) node.eucaly.jp  node

ノード追加

sudo euca_conf -addnode front.eucaly.jp
sudo euca_conf -addnode node.eucaly.jp

ノード追加の再にエラーがでるので各ノードでログイン可能なように設定しておきます。

sudo -u eucalyptus mkdir -p ~eucalyptus/.ssh
sudo -u eucalyptus tee ~eucalyptus/.ssh/authorized_keys > /dev/null <<EOT
(省略)
EOT

eucalyptus.confの確認

cat /etc/eucalyptus/eucalyptus.conf |grep VNET_BRIDGE
VNET_BRIDGE="br0" ← br0になっていることを確認しておく

イメージの登録

サーバ1にて実施

EucalptusのWebUI Credentials → X.509 certificate → Download Certificateから アクセスに利用する証明書をダウンロードし、サーバ1にアップします。

FTPでアップ
apt-get install unzip
unzip euca2-admin-x509.zip
source eucarc

http://www.eucalyptussoftware.com/downloads/eucalyptus-images/euca-ubuntu9.04-x86_64.tar.gzをダウンロード

mkdir images
cd images
wget http://www.eucalyptussoftware.com/downloads/eucalyptus-images/euca-ubuntu-9.04-x86_64.tar.gz
tar xvfz euca-ubuntu-9.04-x86_64.tar.gz
cd euca-ubuntu-9.04-x86_64
euca-bundle-image -i euca-ubuntu-9.04-x86_64/kvm-kernel/vmlinuz-2.6.28-11-generic --kernel true
euca-upload-bundle -b ubuntu-kernel-bucket -m /tmp/vmlinuz-2.6.28-11-generic.manifest.xml
euca-register ubuntu-kernel-bucket/vmlinuz-2.6.28-11-generic.manifest.xml
出力された、EKIを登録する。
export EKI=eki-********
echo $EKI
euca-bundle-image -i euca-ubuntu-9.04-x86_64/kvm-kernel/initrd.img-2.6.28-11-generic --ramdisk true
euca-upload-bundle -b ubuntu-ramdisk-bucket -m /tmp/initrd.img-2.6.28-11-generic.manifest.xml
euca-register ubuntu-ramdisk-bucket/initrd.img-2.6.28-11-generic.manifest.xml
出力された、ERIを登録する。
export ERI=eri-********
echo $ERI
euca-bundle-image -i euca-ubuntu-9.04-x86_64/ubuntu.9-04.x86-64.img --kernel $EKI --ramdisk $ERI
euca-upload-bundle -b ubuntu-image-bucket -m /tmp/ubuntu.9-04.x86-64.img.manifest.xml
euca-register ubuntu-image-bucket/ubuntu.9-04.x86-64.img.manifest.xml
出力された、EMIを登録する。
export EMI=eri-********
echo $EMI

インスタンスの起動

euca-add-keypair mykey > ~/.euca/mykey.priv chmod 0600 ~/.euca/mykey.priv
euca-run-instances $EMI -k mykey

Eucalyptus対応のElasticfoxの作成 (検証中)

https://code.launchpad.net/~soren/elasticfox/elasticfox.eucalyptus の内容だけでは、サーバまたはPCの時刻変更が必要、AMIが表示されないという 問題があり止まっておりましたが、suzdalenator氏より以下の修正情報とそのパッチを頂きました。(感謝感激)

パッチについて公開可能とのことでしたので、本ページにて公開させていだきます。 ご提供ありがとうございます。(早速検証の方も進めたいと思います。)

Eucalyptusブランチ(elasticfox.eucalyptus)用パッチ(xpi同梱)

http://eucalyptus-users.jp/files/elasticfox-1.7-eucalyptus-1.5.2.patch.zip

修正箇所

メイントランク最新版(1.7.000108)用パッチ(xpi同梱)

http://eucalyptus-users.jp/files/elasticfox_eucalyptus-20090826.zip

修正箇所

雑記

versionファイル

/etc/eucalyptus/eucalyptus-version ファイルがないので作っておく。

echo 1.5.2 > /etc/eucalyptus/eucalyptus-version
# euca_conf -version
Eucalyptus version: 1.5.2

ftpサーバのインストール

sudo apt-get install vsftpd
sudo vi /etc/vsftpd.conf
#anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
service vsftpd restart

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS