Eucalyptusをyumでインストールする

1台の割と強力なサーバの上に、VMを使って複数のマシンをインストールしようと思います。最初はVMWare Serverを使おうと思ったのですが、将来的にAmazon EC2に展開するかもしれないので、今流行のEucalyptusを使ってみます。

それで、これを参考にインストールしているのですが、ぼそっと「yumで管理したら便利だよ」とだけ書いてあるので、実際にやってみました。

まず、EucalyptusRPM一式をダウンロードします。

ここから、CentOS-5.3のものをダウンロード。

eucalyptus-1.5.2-centos-i386/
eucalyptus-1.5.2-centos-i386/eucalyptus-cc-1.5.2-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-cloud-1.5.2-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/euca-libvirt-1.5-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/aoetools-21-1.el4.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/euca-rampartc-1.2.0-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/euca-axis2c-1.5.0-2.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-1.5.2-rpm-deps-i586/vblade-14-1mdv2008.1.i586.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-nc-1.5.2-1.i386.rpm
eucalyptus-1.5.2-centos-i386/eucalyptus-gl-1.5.2-1.i386.rpm

それで、yumのローカルリポジトリを作ってこのRPMたちを入れることになります。

今までローカルリポジトリを作成したことがないので、ここを参考にしました。

ローカルリポジトリを作成するには、createrepoというパッケージが必要です。これはデフォルトのリポジトリでも入手できます。

$ sudo yum install createrepo

ローカルリポジトリのためのディレクトリを作成。

$ sudo mkdir -p /var/yum/repos/centos5/i386
$ sudo mkdir -p /var/yum/repos/centos5/SRPMS
$ sudo mkdir -p /var/yum/repos/centos5/x86_64

作成した、i386用のディレクトリにすべてのRPMをコピー。
すると、さきほどのcreaterepoでメタデータを作成できます。

$ sudo createrepo /var/yum/repos/centos5/i386
$ ls /var/yum/repos/centos5/i386/repodata/
filelists.xml.gz  other.xml.gz  primary.xml.gz  repomd.xml

あとは、yumの設定ファイルの作成です。

$ sudo vi /etc/yum.repos.d/my.repo

として、以下のファイルを作成。

[my]
name=CentOS5 $releasever - $basearch - My Repository
baseurl=file:///var/yum/repos/centos$releasever/$basearch/
enabled=1
gpgcheck=0

上記の参考サイトでは[my repo]とかしてあったんですが、この名前と設定ファイルの名前は一致する必要があるようです。。

それでは、yumでインストール。

$ sudo yum install eucalyptus-cloud
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.yubis.org
 * updates: centos.yubis.org
 * addons: centos.yubis.org
 * extras: centos.yubis.org
my                                                                                                                                                                               |  951 B     00:00
primary.xml.gz                                                                                                                                                                   | 3.7 kB     00:00
my                                                             10/10
Excluding Packages in global exclude list
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package eucalyptus-cloud.i386 0:1.5.2-1 set to be updated
--> Processing Dependency: eucalyptus >= 1.5.2 for package: eucalyptus-cloud
()
Installed: eucalyptus-cloud.i386 0:1.5.2-1
Dependency Installed: ant.i386 0:1.6.5-2jpp.2 ant-nodeps.i386 0:1.6.5-2jpp.2 aoetools.i386 0:21-1.el4 euca-axis2c.i386 0:1.5.0-2 euca-rampartc.i386 0:1.2.0-1 eucalyptus.i386 0:1.5.2-1 giflib.i386 0:4.
1.3-7.1.el5_3.1 java-1.6.0-openjdk.i386 1:1.6.0.0-0.30.b09.el5 java-1.6.0-openjdk-devel.i386 1:1.6.0.0-0.30.b09.el5 vblade.i586 0:14-1mdv2008.1
Complete!

うまくいきました!yumリポジトリ構築は意外と簡単でした。