- 追加された行はこの色です。
- 削除された行はこの色です。
* 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台
** 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
パスワード: ********
** Eucalyptus Version 1.5.2 と Euca2ools のインストール [#a1e9c9c9]
必要なパッケージの自動インストールが可能なようにサーバはインターネットへアクセス可能な状態にしておきます。
Eucalyptusのダウンロードページ(http://open.eucalyptus.com/downloads)から、
次の2つをダウンロードし、サーバにアップロードします。
Eucalyptus Binaries → 32bit/64bit → Ubuntu-Jaunty
Euca2ools Binaries → 32bit/64bit → Ubuntu-Jaunty
解凍
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
exit (←rootシェルを終える)
Eucalyptusのインストール(サーバ1の場合)
sudo apt-get install eucalyptus-cloud
sudo apt-get install eucalyptus-cc
sudo apt-get install eucalyptus-nc
Eucalyptusのインストール(サーバ2の場合)
sudo apt-get install eucalyptus-nc
※ 最初に実行した場合は必要なパッケージも併せてインストールされるため大量にインストールされます。
また、下記の出力がでますが、「y」を入力し進みます。
------------
警告: 以下のパッケージは認証されていません!
eucalyptus-gl eucalyptus-cc
検証なしにこれらのパッケージをインストールしますか [y/N]? y
------------
Euca2ools のインストール(サーバ2の場合)
sudo apt-get install euca2ools
** クラスターの作成 [#o3f99aea]
クラスターの作成
sudo euca_conf -addcluster test-cluster localhost
** WebUIへログイン [#t015840c]
https://(サーバ1のIPアドレス:8443/
username: admin
Password: admin
ログイン後、パスワードの変更を求められるので任意のものに変更します。
次に、メールアドレスの入力を求められます。クラウドのサインアップメッセージのあて先やfrom欄として用いられるものでなので、適切なメールアドレスを入力します。
(eucalyptus-web.propertiesにて変更可能です。)
Walrus URLの入力を行います。
(ホスト名が設定されている場合は、変えておくといいでしょう。)
http://203.143.119.182: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に記載しておきます。
ノード追加(サーバ1)
sudo euca_conf -addnode front.eucaly.jp
# sudo vi /etc/hosts
ノード追加(サーバ2)
※例:
203.143.119.182 front.eucaly.jp front
203.143.119.183 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からダウロードする
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