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 のダウンロード方法
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のダウンロードページ( 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
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
# 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
まだ正常に動作していないので引き続き調査中
$ 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
elasticfox-1.6.000000.xpiをFirefoxにインストールします。
参考URL
変更点
/etc/eucalyptus/eucalyptus-version ファイルがないので作っておく。
echo 1.5.2 > /etc/eucalyptus/eucalyptus-version # euca_conf -version Eucalyptus version: 1.5.2
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