Need help? Ask on our forums, mailing list, or IRC channel.
Installing Eucalyptus 2.0.3 on CentOS 5.5
Eucalyptus can be installed on CentOS 5 from source or by using binary RPM packages. This document details the steps required to install Eucalyptus from RPMs. In what follows, the value of $VERSION must be set to the version of Eucalyptus you wish to install. For example, you can set the value to 2.0.3 using bash:
export VERSION=2.0.3
Notice: Before you begin, please ensure that you have an up-to-date CentOS installation on your target machine(s).
Prerequisites
If you start with a standard CentOS installation, you will satisfy all prerequisites with the following steps:
Front-end, node(s), and client machine system clocks are synchronized (e.g., using NTP).
yum install -y ntp ntpdate pool.ntp.orgFront end needs java, command to manipulate a bridge, and the binaries for dhcp server (do not configure or run dhcp server on the CC):
yum install -y java-1.6.0-openjdk ant ant-nodeps dhcp \ bridge-utils perl-Convert-ASN1.noarch \ scsi-target-utils httpdNode has a fully installed and configured installation of Xen that allows controlling the hypervisor via HTTP from localhost.
yum install -y xen sed --in-place 's/#(xend-http-server no)/(xend-http-server yes)/' \ /etc/xen/xend-config.sxp sed --in-place 's/#(xend-address localhost)/(xend-address localhost)/' \ /etc/xen/xend-config.sxp /etc/init.d/xend restartFirewall rules must permit the Eucalyptus components to communicate with one another, and clients to communicate with Eucalyptus. On the front-end, ports 8443, 8773, 8774 and 9001 must be open; on the node, port 8775 must be open. If you are planning on using Elastic IPs and/or Security Groups, consider disabling the firewall and use Eucalyptus facilities for enabling custom firewall rules (see Network configuration for more information). To do so, on both the front-end and the nodes:
- run
system-config-securitylevel-tui - select Security Level: Disabled
- select OK
- run
Download and Install RPMs
Eucalyptus binary installation is broken up into several packages: one for each of the components (CLC, Walrus, CC, etc.), as well as a couple of common packages.
There are two options for downloading and installing the packages:
Yum option
Packages are available from our yum repository. To use this option, create '/etc/yum.repos.d/euca.repo' file with the following four lines:
[euca]
name=Eucalyptus
baseurl=http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/{{VERSION}}/yum/centos/{{BASEARCH}}
gpgcheck=0
Replace {{VERSION}} and {{BASEARCH}} in the baseurl= line above.
Now install Eucalyptus on the front-end:
yum install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus \
eucalyptus-sc
and on the node:
yum install eucalyptus-nc
Tarball option
Download an archive that includes the Eucalyptus software as well as third party dependencies:
Untar the bundle in a temporary location:
tar zxvf eucalyptus-$VERSION-\*.tar.gz
cd eucalyptus-$VERSION-\*
In the examples below we use x86_64 for the architecture (replace with i386 or i586 if you are installing a 32-bit version) .
Install RPMs on the Front End
Install third-party dependency RPMs:
cd eucalyptus-$VERSION*-rpm-deps-x86_64
rpm -Uvh aoetools-21-1.el4.x86_64.rpm \
euca-axis2c-1.6.0-1.x86_64.rpm \
euca-rampartc-1.3.0-1.x86_64.rpm \
vblade-14-1mdv2008.1.x86_64.rpm \
vtun-3.0.2-1.el5.rf.x86_64.rpm \
lzo2-2.02-3.el5.rf.x86_64.rpm\
perl-Crypt-OpenSSL-Random-0.04-1.el5.rf.x86_64.rpm\
perl-Crypt-OpenSSL-RSA-0.25-1.el5.rf.x86_64.rpm\
perl-Crypt-X509-0.32-1.el5.rf.noarch.rpm\
python25-2.5.1-bashton1.x86_64.rpm\
python25-devel-2.5.1-bashton1.x86_64.rpm\
python25-libs-2.5.1-bashton1.x86_64.rpm
cd ..
then install the Eucalyptus RPMs:
rpm -Uvh eucalyptus-$VERSION-\*.x86_64.rpm \
eucalyptus-common-java-$VERSION-\*.x86_64.rpm \
eucalyptus-cloud-$VERSION-\*.x86_64.rpm \
eucalyptus-walrus-$VERSION-\*.x86_64.rpm \
eucalyptus-sc-$VERSION-\*.x86_64.rpm \
eucalyptus-cc-$VERSION-\*.x86_64.rpm \
eucalyptus-gl-$VERSION-\*.x86_64.rpm
Install RPMs on the Nodes
Install the dependency packages (on each node) :
cd eucalyptus-$VERSION*-rpm-deps-x86_64
rpm -Uvh aoetools-21-1.el4.x86_64.rpm \
euca-axis2c-1.6.0-1.x86_64.rpm \
euca-rampartc-1.3.0-1.x86_64.rpm\
perl-Crypt-OpenSSL-Random-0.04-1.el5.rf.x86_64.rpm\
perl-Crypt-OpenSSL-RSA-0.25-1.el5.rf.x86_64.rpm\
perl-Crypt-X509-0.32-1.el5.rf.noarch.rpm\
python25-2.5.1-bashton1.x86_64.rpm\
python25-devel-2.5.1-bashton1.x86_64.rpm\
python25-libs-2.5.1-bashton1.x86_64.rpm
cd ..
then install the Eucalyptus RPMs:
rpm -Uvh eucalyptus-$VERSION-\*.x86_64.rpm \
eucalyptus-gl-$VERSION-\*.x86_64.rpm \
eucalyptus-nc-$VERSION-\*.x86_64.rpm
Post-Install Steps
The last step in the installation is to make sure that the user eucalyptus, which is created at RPM installation time, is configured to interact with the hypervisor through libvirt on all of your compute nodes. On each node, access the libvirtd configuration, /etc/libvirt/libvirtd.conf, and confirm that the following lines are uncommented:
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
Check that libvirt is configured and interacting properly with the hypervisor (again on each node):
# on XEN
su eucalyptus -c "virsh list"
# on KVM
su eucalyptus -c "virsh qemu:///system list"
The output of that command may include error messages (failed to
connect to xend), but as long as it includes a listing of all
domains (at least Domain-0), the configuration is in order.
Start up your Eucalyptus services.
On the front-end:
/etc/init.d/eucalyptus-cloud start
/etc/init.d/eucalyptus-cc start
On the node(s):
/etc/init.d/eucalyptus-nc start
At this point you should be ready to proceed with first-time configuration.
