Eucalyptus is software that implements scalable IaaS-style private and
hybrid clouds. The Eucalyptus architecture is highly modular with
internal components consisting of Web services, which make them easy to
replace and expand. Eucalyptus' flexibility enables it to export a
variety of APIs towards users via client tools. Currently Eucalyptus
implements the Amazon Web Service (AWS) API, which allows
interoperability with existing AWS-compatible services and tools. This
also allows Eucalyptus users to group resources drawn both from an
internal private cloud and external public clouds to form a hybrid
cloud.
#yum install -y
java-1.6.0-openjdk-devel ant ant-nodeps libvirt-devel curl-devel
httpd httpd-devel apr-devel openssl-devel dhcp libxml2 libxml2-devel
gnutls gnutls-devel xen-devel libgcrypt-devel zlib-devel
perl-Convert-ASN1 perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random
chkfontpath scsi-target-utils fuse-libs swig gcc ntp
First, make sure JAVA_HOME is defined. For example, on Centos 5:
export JAVA_HOME="/usr/lib/jvm/java-openjdk/"
export JAVA="$JAVA_HOME/jre/bin/java"
reboot server in xen-kernel
#vi /etc/xend/xend-config.sxp
(xend-http-server yes)
(xend-unix-server yes)
(xend-unix-path /var/lib/xend/xend-socket)
(xend-address localhost)
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vncpasswd '')
download from http://open.eucalyptus.com/downloads
aoetools-21-1.el4.i386.rpm
eucalyptus-walrus-2.0.0-1.i386.rpm
euca2ools-1.3-1.i386.rpm
euca-rampartc-1.3.0-1.i386.rpm
euca-axis2c-1.6.0-1.i386.rpm
lzo2-2.02-3.el5.rf.i386.rpm
eucalyptus-2.0.0-1.i386.rpm
perl-Crypt-OpenSSL-Random-0.04-1.el5.rf.i386.rpm
eucalyptus-cc-2.0.0-1.i386.rpm
perl-Crypt-OpenSSL-RSA-0.25-1.el5.rf.i386.rpm
eucalyptus-cloud-2.0.0-1.i386.rpm
perl-Crypt-X509-0.32-1.el5.rf.noarch.rpm
eucalyptus-common-java-2.0.0-1.i386.rpm
python25-2.5.1-bashton1.i386.rpm
eucalyptus-gl-2.0.0-1.i386.rpm
python25-libs-2.5.1-bashton1.i386.rpm
eucalyptus-nc-2.0.0-1.i386.rpm
vblade-14-1mdv2008.1.i586.rpm
eucalyptus-sc-2.0.0-1.i386.rpm
vtun-3.0.2-1.el5.rf.i386.rpm
#yum localinstall eucalyptus*
Now start up your Eucalyptus services. On the front-end:
/etc/init.d/eucalyptus-cloud start
/etc/init.d/eucalyptus-cc start
On the node:
/etc/init.d/eucalyptus-nc start
At this point you should be ready to go through the first-time
configuration.
Point your browser to,
https://front-end-ip:8443
Since Eucalyptus is using a self-signed certificate, your browser
is likely to prompt you to accept the certificate. On some machines
it may take few minutes after the starting of the Cloud Controller
for the URL to be responsive the first time you run Eucalyptus. You
will be prompted for a user and password both of which are set to
admin initially.
Upon logging in the first time you will be asked to
change the admin password,
set the admin's email address, and
- confirm the IP of the Cloud Controller host.
#mkdir $HOME/.euca#unzip euca2-admin-x509.zip -d $HOME/.euca
#. $HOME/.euca/eucarc
Adding Images
To enable a VM image as an executable entity, a user/admin must add a
root disk image, a kernel/ramdisk pair (ramdisk may be optional) to
Walrus and register the uploaded data with Eucalyptus. Each is added to
Walrus and registered with Eucalyptus separately, using three EC2
commands. The following example uses the test image that we provide.
Unpack it to any directory:
#wget http://open.eucalyptus.com/sites/all/modules/pubdlcnt/pubdlcnt.php?file=http://eucalyptussoftware.com/downloads/releases/euca2ools-1.2-centos-i386.tar.gz&nid=3088
#cd euca-centos-5.3-i386
#euca-bundle-image -i --kernel true
#euca-upload-bundle -b -m /tmp/.manifest.xml
#euca-register /.manifest.xml
Next, add the root filesystem image to Walrus:
#euca-bundle-image -i
#euca-upload-bundle -b -m /tmp/.manifest.xml
#euca-register /.manifest.xml
Our test kernel does not require a ramdisk to boot. If the
administrator would like to upload/register a kernel/ramdisk pair, the
procedure is similar to the above:
#euca-bundle-image -i --ramdisk true
#euca-upload-bundle -b -m /tmp/.manifest.xml
#euca-register /.manifest.xml
:)