Eucalyptus - Ubuntu 9.04 で作るプライベートクラウド環境

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

事前準備

環境

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

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

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

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

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 のインストール

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にチェック

ネットワーク設定

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のインストール

クラウドコントローラ(Front-end)

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インストール

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

イメージの登録

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

インスタンスの起動

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

参考

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


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