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

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

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

** 環境 [#m655d6a8]

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

- サーバ1

-- 役割:
--- クラウドコントローラ(Cloud Controller[eucalyptus-cloud])
--- クラスターコントローラ(Cluster Controller[eucalyptus-cc])
--- ノードコントローラ(Node Controller[eucalyptus-nc])

- サーバ2
-- 役割:
--- ノードコントローラ(Node Controller[eucalyptus-nc])

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

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

** 用意するもの [#b56e7f3f]

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

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

** Ubuntu 9.04 Server Edition のインストール [#gee79a8e]

[[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 のインストール [#yaece731]

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

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

- Eucalyptus Binaries → 32bit/64bit → Ubuntu-Jaunty
- Euca2ools Binaries → 32bit/64bit → Ubuntu-Jaunty

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


** クラスターの作成 [#o3f99aea]

クラスターの作成
 euca_conf -addcluster test-cluster localhost


** WebUIへログイン [#t015840c]

 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から承認されたイメージとして、
下記のイメージがダウンロードできるので便利です。

-- CentOS 5.3 x86_64(euca-centos-5.3-x86_64.tar.gz)
-- Debian 5.0 (lenny) x86_64(euca-debian-5.0-x86_64.tar.gz)
-- Fedora 10 x86_64(euca-fedora-10-x86_64.tar.gz)
-- Ubuntu 9.04 (jaunty) x86_64(euca-ubuntu-9.04-x86_64.tar.gz)

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



** ノードの登録 [#t3c1c652]

ホスト名が引けない場合は、予め/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になっていることを確認しておく

** イメージの登録 [#t3c1c652]

サーバ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

** インスタンスの起動 [#ka36caae]

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


** Eucalyptus対応のElasticfoxの作成 (検証中) [#ee2b3e80]

*** Bazaarをインストールします。 [#u284ad37]

 # rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
 # yum install bzr
 /etc/yum.repos.d/epel.repoファイルのenabled=1を0にしておく

情報登録

 $ bzr whoami "yourname <yourname@example.co.jp>"
 $ bzr whoami
yourname <yourname@example.co.jp>

※ 参考URL
- http://sarabande.info/doc/bzr/mini-tutorial
- http://sarabande.info/doc/bzr/user-guide

*** elasticfox.eucalyptusをbuildします。 [#t6b07d11]

$ bzr branch http://bazaar.launchpad.net/~soren/elasticfox/elasticfox.eucalyptus
Branched 58 revision(s)
 $ bzr branch http://bazaar.launchpad.net/~soren/elasticfox/elasticfox.eucalyptus
 # yum install java-1.6.0-openjdk-devel
 # ln -s /usr/bin/jar /bin/jar
 $ ./make.sh
 $ ls -l dist/elasticfox-1.6.000000.xpi

# yum install java-1.6.0-openjdk-devel
# ln -s /usr/bin/jar /bin/jar
$ ./make.sh
$ ls -l dist/elasticfox-1.6.000000.xpi

elasticfox-1.6.000000.xpiをFirefoxにインストールします。

参考URL
- https://bugs.launchpad.net/eucalyptus/+bug/369681
- https://code.launchpad.net/~soren/elasticfox/elasticfox.eucalyptus
- http://sarabande.info/doc/bzr/mini-tutorial#id9

変更点
- http://bazaar.launchpad.net/~soren/elasticfox/elasticfox.eucalyptus/revision/54

** 雑記 [#o0f90be6]

*** versionファイル [#z4170315]
/etc/eucalyptus/eucalyptus-version ファイルがないので作っておく。
 echo 1.5.2 > /etc/eucalyptus/eucalyptus-version
 # euca_conf -version
 Eucalyptus version: 1.5.2


*** ftpサーバのインストール [#t3bf33aa]

 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