Eucalyptus環境を使ってみる(その6) ~ euca2ools ~

2011.08.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

今回はEucalyptusを利用するためのクライアントツール「euca2ools」をインストールしてみます。

お決まりですが、ツールインストール前にeuca2oolsで必要となるパッケージをインストールしておきます。

yum -y install swig rsync

Eucalyptusのサイトhttp://open.eucalyptus.com/downloads にアクセスし、Euca2ools via packagesセクションにあるRHEL-5/CentOS-5 RPMs:の64-bit版をダウンロードします。(ファイル名はeuca2ools-1.3.1-centos-x86_64.tar.gz)

ダウンロードしたファイルを/tmpへ移動させ展開します。

mv euca2ools-1.3.1-centos-x86_64.tar.gz /tmp/.
cd /tmp
tar xvfz euca2ools-1.3.1-centos-x86_64.tar.gz
cd euca2ools-1.3.1-centos-x86_64
ls *.rpm > euca2ools_inst.sh
chmod +x euca2ools_inst.sh
vi euca2ools_inst.sh

viでeuca2ools_inst.shを開いたあと、先頭のrpm -Uvh と行末の\の部分を追加します。

rpm -Uvh python25-2.5.1-bashton1.x86_64.rpm \
python25-libs-2.5.1-bashton1.x86_64.rpm \
euca2ools-1.3.1-1.x86_64.rpm
./euca2ools_inst.sh

これでeuca2oolsのインストールは完了です。

あとEucalyptusを利用するにはEucalyptusのCloud Controllerから取得できる認証情報なども必要となるので、CLC/CCで以下のように認証情報を取得し、展開します。

cd ~
euca_conf --get-credentials euca2-admin-x509.zip
mkdir -p .euca/admin/keypairs
cd .euca/admin/
unzip ../../euca2-admin-x509.zip
source eucarc

以下のコマンドを実行して、Eucalyptusから応答が返ってくることを確認します。

euca-describe-availability-zones verbose
AVAILABILITYZONE cluster1 10.100.0.1
AVAILABILITYZONE |- vm types free / max cpu ram disk
AVAILABILITYZONE |- m1.small 0002 / 0002 1 128 2
AVAILABILITYZONE |- c1.medium 0002 / 0002 1 256 5
AVAILABILITYZONE |- m1.large 0001 / 0001 2 512 10
AVAILABILITYZONE |- m1.xlarge 0001 / 0001 2 1024 20
AVAILABILITYZONE |- c1.xlarge 0000 / 0000 4 2048 20

それでは実際に仮想マシンのイメージファイルをEucalyptusに登録してみます。

てっとり早いのでEucalyptus社のサイトにあるマシンイメージを利用します。
http://open.eucalyptus.com/wiki/EucalyptusUserImageCreatorGuide_v1.6 へアクセスし、CentOS5.3のマシンイメージをダウンロードします。(ファイル名はeuca-centos-5.3-x86_64.tar.gz)

ダウンロードしたファイルをcd ~に移動、ファイルを展開し、展開したディレクトリに移動します。

mv euca-centos-5.3-x86_64.tar.gz ~/.
cd ~
tar xvfz euca-centos-5.3-x86_64.tar.gz
cd euca-centos-5.3-x86_64

展開されたディレクトリ内のファイルを見ると
centos.5-3.x86-64.img

kvm-kernel
xen-kernel
の2つのディレクトリがあるので、Xen用のkernelとramdiskファイルが入っているディレクトリのxen-kernelを使います。

euca-bundle-image、euca-upload-bundle、euca-registerコマンドを実行してマシンイメージを登録します

euca-bundle-image -i xen-kernel/vmlinuz-2.6.27.21-0.1-xen --kernel true

上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。

euca-upload-bundle -b kernel.001 -m /tmp/vmlinuz-2.6.27.21-0.1-xen.manifest.xml

アップロードしたmanifestファイルを登録します。

euca-register kernel.001/vmlinuz-2.6.27.21-0.1-xen.manifest.xml

実行するとIMAGE  eki-XXXXXXXX
と画面に表示されます。kernelイメージがこのeki-XXXXXXXXで登録されたことになります。(ちなみに私のIDは eki-5DAF1247 でした)

次にramdiskイメージの登録を行います。

euca-bundle-image -i xen-kernel/initrd-2.6.27.21-0.1-xen --ramdisk true

上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。

euca-upload-bundle -b ramdisk.001 -m /tmp/initrd-2.6.27.21-0.1-xen.manifest.xml

アップロードしたmanifestファイルを登録します。

euca-register ramdisk.001/initrd-2.6.27.21-0.1-xen.manifest.xml

実行するとIMAGE  eri-XXXXXXXX

と画面に表示されます。ramdiskイメージがこのeri-XXXXXXXXで登録されたことになります。(ちなみに私のIDは eri-5882121E でした)

最後にマシンイメージの登録を行います。(ちょっと時間がかかります)

euca-bundle-image -i centos.5-3.x86-64.img --kernel eki-5DAF1247 --ramdisk eri-5882121E

上記コマンドの実行でmanifestファイルが作成されるので、そのmanifestファイルをEucalyptusにアップロードします。

euca-upload-bundle -b machine.001 -m /tmp/centos.5-3.x86-64.img.manifest.xml

アップロードしたmanifestファイルを登録します。

euca-register machine.001/centos.5-3.x86-64.img.manifest.xml

実行するとIMAGE  emi-XXXXXXXX

と画面に表示されます。マシンイメージがこのemi-XXXXXXXXで登録されたことになります。(ちなみに私のIDは emi-330511C7 でした)

※マシンイメージを登録すると、Walrusではファイルの結合・復号化・展開を実施するためサーバの負荷が一時的に高まります。この処理が終わらないうちにインスタンスを起動しようとするとEucalyptusの思わぬバグに遭遇する可能性があるため、euca-registerを実行したのち 数分経ってからインスタンスの起動を実行してください。

と注意書きがありましたので、今日はこの辺で終了とします。