この記事は公開されてから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を実行したのち 数分経ってからインスタンスの起動を実行してください。
と注意書きがありましたので、今日はこの辺で終了とします。