* Eucalyptus - Ubuntu 9.04 で作るプライベートクラウド環境 [#j2d807ee]

Ubuntu 9.04環境で、Eucalyptusを使ったプライベートクラウドを作成する手順を整理しました。

** 事前準備 [#a6844c90]

*** 環境 [#x3b58dfd]

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

 NotePC --- Front-end
                |
                +----- Node1
                |
                +----- Node2

※ NotePCは確認用(通常のWindowsPC)

*** Ubuntu 9.04 Server Edition のダウンロード方法 [#uf5c3f9a]

 http://www.ubuntu.com/getubuntu/
 「Download now」をクリック
 →「Server Edition」タブをクリック
 →「Please choose a location」にて
 「Japan JAIST」を選択し、
 「Ubuntu 9.04 Server」「64bit version」にチェックが入っていることを確認し、「Begin Download」をクリック
 → ポップアップが表示され、自動的にダウンロードが開始される。
 ( 開始されない場合は、「Download URL」をクリック )
 ※ ダウンロードした、ISOイメージをCD-Rに焼いておきます。

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

Front-end, Node1, Node2にUbuntu 9.04をインストールします。


インストール選択:
 Language: English
 Time Zone: Asia/Japan
 Keyboard layout: Japan - OADG 109A
 user: cls (任意のもの)
 password: (任意のもの)
 computer name: front.cloudwhizzy.jp (Front-end)
                node1.cloudwhizzy.jp (Node1)
                node2.cloudwhizzy.jp (Node2)
 Software selection: Virtual Machine hostにチェック
 Login automaticallyにチェック
 

*** ネットワーク設定 [#lcd10f76]

IPアドレスは固定にしておく。( 特にFront-end )

メニュー → System → Preferences → Network Connections
【Network Connection Editor】を起動する。
Wired → Auto eth0 → Edit
【Authenticate】のポップアップがでるので、パスワードの入力を求められるので
先に設定したものを入力

IPv4 Setting → Method: を Manualに変更 → Add

設定例
 Address: 192.168.0.100 (Front-end)
          192.168.0.101 (Node1)
          192.168.0.102 (Node2)
 Netmask: 255.255.255.0
 Gateway: 192.168.0.1
 DNS Servers: 192.168.0.1
 Search Domains: cloudwhizzy.jp

Apply → Close
デフォルトルートが反映されていないので一旦再起動する。

再起動後、ifconfig, route, pingコマンドを使って
ネットワーク設定を確認しておくと良い。

DNSに登録を行わない場合は、
sudo vi /etc/hosts を実施し、
各サーバのホスト名を記述しておく
 192.168.0.100 front.cloudwhizzy.jp front
 192.168.0.101 node1.cloudwhizzy.jp node1
 192.168.0.102 node2.cloudwhizzy.jp node2

** Eucalyptusのインストール [#teb75bd7]

*** クラウドコントローラ(Front-end) [#i3ac4202]

rubyが入っていないためインストールする。
【Amazon EC2 AMI Tools】では、ruby 1.8.2以降が必要
 sudo apt-get install ruby

※ E: Couldn't find packageのようなエラーになる場合は、
sudo apt-get updateを実施してみる。

libopenssl-ruby, curlも必要となる。
 sudo apt-get install libopenssl-ruby
 sudo apt-get install curl

【Amazon EC2 API Tools】と【Amazon EC2 AMI Tools】を
インストールする。
Ubuntu 9.04では、「sudo apt-get install ec2-api-tools」で
インストールすることも可能だが、現在のEucalyptusのバージョンでは、
動作しないため、以下のURLからダウンロードする。
 http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-30349.zip
 http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-26357.zip


 wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-30349.zip
 wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-26357.zip

 cd /usr/local
 sudo unzip /home/cls/ec2-ami-tools-1.3-26357.zip
 sudo unzip /home/cls/ec2-api-tools-1.3-30349.zip 

unzipコマンドがない場合は、sudo apt-get install unzip でインストールしておきます。

 sudo ln -s ec2-ami-tools-1.3-26357 ec2-ami-tools
 sudo ln -s ec2-api-tools-1.3-30349 ec2-api-tools

各々ディレクトリのbinにPATHを通して置きます。

 export PATH=$PATH:/usr/local/ec2-ami-tools/bin:/usr/local/ec2-api-to
ols/bin

EC2_HOME、EC2_AMI_HOME を設定しておきます。

 export EC2_HOME=/usr/local/ec2-ami-tools
 export EC2_AMI_HOME=/usr/local/ec2-ami-tools
 export EC2_API_HOME=/usr/local/ec2-api-tools

EC2_HOME = api-toolsの解凍ディレクトリ、EC2_AMI_HOME = ami-toolsの解凍ディレクトリとすると、
後述のec2_regiserはうまくいきますが、ec2-bandle-imageはうまくいきません。
一時的にEC2_HOME = ami-toolsの解凍ディレクトリとすればうまくいきますが、
他の指定方法があったと思うので調べておきます。☆

JAVA_HOMEも設定しておきます。

 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

openjdkがインストールされていない場合は、sudo apt-get install openjdk-6-jdk でインストールしておきます。

Node1, Node2では、openssh-serverも入れておきましょう

 sudo apt-get install openssh-server

hostnameの設定、
/etc/hostsへの記載も行う。

* Eucalyptusインストール [#u54a6a32]

Front-end:

 sudo apt-get install eucalyptus-cloud eucalyptus-cc
 sudo euca_conf -addcluster test-cluster localhost 
 ※ test-clusterの部分は任意の名前に

 ノード追加
 sudo euca_conf -addnode node1.cloudwhizzy.jp
 メッセージのsshキーをnodeで実行する。


NotePCより
https://<front-end-ip-address>:8443/
username: admin
Password: admin
でログイン

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

Node1 / Node2:

 sudo apt-get install eucalyptus-nc
 sudo /etc/init.d/eucalytpus-nc stop
 sudo vi /etc/eucalyptus/eucalyptus.conf
 VNET_BRIDGE="br0" ← xenbr0になっているので修正
 /etc/init.d/eucalyptus-nc start


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

Front-endにて実施

http://open.eucalyptus.com/downloads
より、euca-ttylinux.tgzをダウンロード

tar zxvf euca-ttylinux.tgz

 sudo apt-get -y install openssh-server - これは不要!

vmbuilderのインストール
sudo apt-get install ubuntu-vm-builder

使い方
https://help.ubuntu.com/8.04/serverguide/C/virtualization.html

Credentials → X.509 certificate → Download Certificateから
ダウロードする

eucarcを実行する
 ※https://help.ubuntu.com/community/Eucalyptus
 のとおり実行する。

 mkdir kernel
 ec2-bundle-image -i /boot/vmlinuz-2.6.28-11-generic -d ./kernel --kernel true
 ec2-upload-bundle -b kernel -m ./kernel/vmlinuz-2.6.28-11-generic.manifest.xml
 EKI=`ec2-register kernel/vmlinuz-2.6.28-11-generic.manifest.xml | awk '{print $2}'`
 echo $EKI

EucalyptusのWebにアクセス、Imagesでイメージが追加されていることがわかる。

 mkdir ramdisk
 ec2-bundle-image -i /boot/initrd.img-2.6.28-11-generic -d ./ramdisk --ramdisk true
 ec2-upload-bundle -b ramdisk -m ramdisk/initrd.img-2.6.28-11-generic.manifest.xml
 ERI=`ec2-register ramdisk/initrd.img-2.6.28-11-generic.manifest.xml | awk '{print $2}'`
 echo $ERI

 mkdir image 
 ec2-bundle-image -i ubuntu-xen/root.img -d ./image --kernel $EKI --ramdisk $ERI
 ec2-upload-bundle -b image -m ./image/root.img.manifest.xml
 EMI=`ec2-register image/root.img.manifest.xml | awk '{print $2}'`
 echo $EMI


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

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


* 参考 [#j9b6025c]
https://help.ubuntu.com/community/Eucalyptus


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS