| Before you proceed with the installation, be sure to take a look at the list of Eucalyptus' prerequisites. |
A Eucalyptus cloud setup consists of three components -- the cloud controller, the cluster controller(s) and node controller(s). The cloud controller is a Java program that, in addition to high-level resource scheduling and system accounting, offers a Web services interface and a Web interface to the outside world. Cluster controller and node controller are written in C and deployed as Web services inside Apache.
Communication among these three types of components goes over SOAP with WS-security. There is one cluster controller per cluster, running on the head node; there is one node controller per each compute node. So, if you are installing Eucalyptus on one cluster, then one cloud and one cluster controller should be deployed on the head node and one node controller should be deployed on each compute node.
| If you are upgrading from a previous version of Eucalyptus, please follow the instructions in the Upgrade Document. |
Eucalyptus can be installed from source or using a set of packages (RPM and DEB). The former method is more general and should work on practically any Linux system, the latter should work on distribution which we support (at the moment Ubuntu 9.04, Debian squeeze/lenny, CentOS 5.3 and openSUSE 11). Furthermore, we have special advice for those using Rocks-based clusters.
If run into any problems, be sure to check the troubleshooting guide for solutions to commonly encountered problems.
NOTE - If you are upgrading from a Eucalyptus 1.4 or older installation, please consult the Upgrade Documentation for instructions that will explain how to preserve user account information and re-import the images.
Download either
or
and for both
All packages can be found on the Eucalyptus Web site:
Unpack the Eucalyptus source:
tar zvxf eucalyptus-1.5.1-src.tar.gz
Now you should have a directory eucalyptus-1.5.1. To simplify the remainder of the installation, define EUCALYPTUS_SRC environment variable to be the top of the source tree of eucalyptus and the variable EUCALYPTUS to be the directory where eucalyptus will be installed (we recommend using /opt/eucalyptus/):
cd eucalyptus-1.5.1 export EUCALYPTUS_SRC=`pwd` export EUCALYPTUS=/opt/eucalyptus
To install Eucalyptus, you need to build packages that Eucalyptus depends on, which we provide in the above-mentioned package eucalyptus-1.5.1-src-deps.tar.gz. For the sake of this discussion, we are going to assume that all packages have been untarred inside "$EUCALYPTUS_SRC/eucalyptus-src-deps/" as above and will be installed in "$EUCALYPTUS/packages".
Unpack the dependencies and create the directory you'll use to install them:
cd $EUCALYPTUS_SRC tar zvxf ../eucalyptus-1.5.1-src-deps.tar.gz mkdir -p $EUCALYPTUS/packages/
Build and install the dependencies. The following instructions work on some Linux distributions, but aren't universal. Please, consult the documentation for the specific packages for help with building them on your distribution.
cd $EUCALYPTUS/packages tar zxvf $EUCALYPTUS_SRC/eucalyptus-src-deps/axis2-1.4.tgz
export AXIS2C_HOME=$EUCALYPTUS/packages/axis2c-1.5.0
cd $EUCALYPTUS_SRC/eucalyptus-src-deps/
tar zvxf axis2c-src-1.5.0.tar.gz
cd axis2c-src-1.5.0
CFLAGS="-w" ./configure --prefix=${AXIS2C_HOME} --with-apache2=/usr/include/apache2 --with-apr=/usr/include/apr-1.0
make ; make install
export AXIS2C_HOME=$EUCALYPTUS/packages/axis2c-1.5.0
export LD_LIBRARY_PATH=${AXIS2C_HOME}/lib:$LD_LIBRARY_PATH
cd $EUCALYPTUS_SRC/eucalyptus-src-deps/
tar zvxf rampartc-src-1.2.0.tar.gz
cd rampartc-src-1.2.0
./configure --prefix=${AXIS2C_HOME} --enable-static=no --with-axis2=${AXIS2C_HOME}/include/axis2-1.5.0
make ; make install
Now edit the file $AXIS2C_HOME/axis2.xml: search for "Security" and change
<!--phase name="Security"/-->
to
<phase name="Security"/>
and save the file.
Please, consult the prerequisites page for additional software, not included by us, that is required for building Eucalyptus.
Furthermore, you will need functioning EC2 command-line tools from Amazon. The latest version of these tools that we support are ec2-api-tools-1.3-30349 and ec2-ami-tools-1.3-26357.
cd $EUCALYPTUS_SRC ./configure --with-axis2=$EUCALYPTUS/packages/axis2-1.4 --with-axis2c=$EUCALYPTUS/packages/axis2c-1.5.0 --enable-debug --prefix=$EUCALYPTUS cd clc/; make deps; cd .. make ; make install
To configure Eucalyptus you need to specify where Eucalyptus is installed. Moreover, for security reasons you need to specify the Unix user that Eucalyptus's services will run as. We suggest using eucalyptus as such user.
These and other configuration options are stored in the file called $EUCALYPTUS/etc/eucalyptus/eucalytpus.conf on all nodes. You may edit it manually or you may use the euca_conf script that we provide. For instance, the minimal required configuration that should be the same on all nodes can be recorded as follows:
$EUCALYPTUS/usr/sbin/euca_conf -d $EUCALYPTUS -user eucalyptus $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
At this point, if you plan to use Eucalyptus on more than one node, you're ready to push the software out to the other nodes. If you installed Eucalyptus in its own directory, you can just sync the entire package to all of the hosts listed above using whatever mechanism you typically use to push changes to nodes (rsync, for instance)
rsync -a $EUCALYPTUS/ hostname1:$EUCALYPTUS/ rsync -a $EUCALYPTUS/ hostname2:$EUCALYPTUS/ ...
This would also be a good time to ensure that all of your nodes have the Unix user for running Eucalyptus (e.g., eucalyptus is in /etc/passwd on all nodes).
Eucalyptus can be installed on CentOS 5.3 using binary RPM packages.
Eucalyptus binary installation is broken up into several packages: the cloud controller (-cloud package), the cluster controller (-cc package), and the node controller (-nc package). To simplify installation, everything is bundled into a single "tarball" for convenience, wherein we include copies of third-party packages that Eucalyptus depends on (Rampart, Axis2C, many Java libraries).
Download the appropriate tarball from http://open.eucalyptus.com/downloads
Untar the bundle in a temporary location:
tar zxvf eucalyptus-1.5.1-*.tar.gz cd eucalyptus-1.5.1-*
All others dependencies are present in the standard repositories.
If you start with a standard CentOS installation, you will satisfy all Eucalyptus prerequsites with the following steps:
In the examples below we use x86_64, which should be replaced with i386 or, in some cases, i586 on 32-bit architectures.
Because of a bug in the packaging of euca-axis2c and euca-httpd in 1.4 you have to use --nopostun flag when upgrading those packages (this option is harmless for a first-time install):
cd eucalyptus-1.5.1-rpm-deps-x86_64
rpm -Uvh --nopostun euca-axis2c-1.5-1.x86_64.rpm \
euca-httpd-1.5-1.x86_64.rpm
The rest of the third-party dependencies can be installed normally:
rpm -Uvh aoetools-21-1.el4.x86_64.rpm \
vblade-14-1mdv2008.1.x86_64.rpm
cd ..
On the front end, where cloud controller and cluster controller will run, install the -cloud and -cc RPMs:
rpm -Uvh eucalyptus-1.5.1-1.x86_64.rpm \
eucalyptus-cloud-1.5.1-1.x86_64.rpm \
eucalyptus-gl-1.5.1-1.x86_64.rpm \
eucalyptus-cc-1.5.1-1.x86_64.rpm
Again, because of a bug in the packaging of euca-axis2c and euca-httpd in 1.4 you have to use --nopostun flag when upgrading those packages (this option is harmless for a first-time install):
cd eucalyptus-1.5.1-rpm-deps-x86_64
rpm -Uvh --nopostun euca-axis2c-1.5-1.x86_64.rpm \
euca-httpd-1.5-1.x86_64.rpm
The rest of the third-party dependencies can be installed normally:
rpm -Uvh aoetools-21-1.el4.x86_64.rpm \
euca-libvirt-1.5-1.x86_64.rpm \
vblade-14-1mdv2008.1.x86_64.rpm
cd ..
On the compute nodes, install the node controller RPM with dependencies:
rpm -Uvh eucalyptus-1.5.1-1.x86_64.rpm \
eucalyptus-gl-1.5.1-1.x86_64.rpm \
eucalyptus-nc-1.5.1-1.x86_64.rpm
If you would like to run Eucalyptus as a non-root user, perform the following procedure:
Eucalyptus can be installed on openSUSE 11 using binary RPM packages.
Eucalyptus binary installation is broken up into several packages: the cloud controller (-cloud package), the cluster controller (-cc package), and the node controller (-nc package). To simplify installation, everything is bundled into a single "tarball" for convenience, wherein we include copies of third-party packages that Eucalyptus depends on (Rampart, Axis2C, many Java libraries).
Download the appropriate tarball from http://open.eucalyptus.com/downloads
Untar the bundle in a temporary location:
tar zxvf eucalyptus-1.5.1-*.tar.gz cd eucalyptus-1.5.1-*
All others dependencies are present in the standard repositories.
If you start with a standard openSUSE installation, you will satisfy all Eucalyptus prerequsites with the following steps:
In the examples below we use x86_64, which should be replaced with i586 on 32-bit architectures.
Install the third-party dependency RPMs:
cd eucalyptus-1.5.1-rpm-deps-x86_64
rpm -Uvh aoetools-25-2.49.x86_64.rpm \
euca-axis2c-1.5-1.x86_64.rpm \
euca-httpd-1.5-1.x86_64.rpm \
vblade-15-2.49.x86_64.rpm
cd ..
On front end, where cloud controller and cluster controller will run, install the -cloud and -cc RPMs:
rpm -Uvh eucalyptus-1.5.1-1.x86_64.rpm \
eucalyptus-cloud-1.5.1-1.x86_64.rpm \
eucalyptus-gl-1.5.1-1.x86_64.rpm \
eucalyptus-cc-1.5.1-1.x86_64.rpm
Install the dependency packages on each node:
cd eucalyptus-1.5.1-rpm-deps-x86_64
rpm -Uvh aoetools-25-2.49.x86_64.rpm \
euca-axis2c-1.5-1.x86_64.rpm \
euca-httpd-1.5-1.x86_64.rpm \
vblade-15-2.49.x86_64.rpm
cd ..
On the compute nodes, install the node controller RPM with dependencies:
rpm -Uvh eucalyptus-1.5.1-1.x86_64.rpm \
eucalyptus-gl-1.5.1-1.x86_64.rpm \
eucalyptus-nc-1.5.1-1.x86_64.rpm
If you would like to run Eucalyptus as a non-root user, perform the following procedure:
Eucalyptus can be installed on Debian Lenny using binary DEB packages.
Eucalyptus binary installation is broken up into several packages: the cloud controller (-cloud package), the cluster controller (-cc package), and the node controller (-nc package). To simplify installation, everything is bundled into a single "tarball" for convenience, wherein we include copies of third-party packages that Eucalyptus depends on (Rampart, Axis2C, and Java libraries).
Download the appropriate tarball from http://open.eucalyptus.com/downloads
Untar the bundle in a temporary location and add the directory to your sources.list
tar zxvf eucalyptus-1.5.1-*.tar.gz
cd eucalyptus-1.5.1-*
su
echo deb file://${PWD} ./ >> /etc/apt/sources.list
apt-get update
NOTE: After installation feel free to remove the entry from sources.list
If you start with a standard Debian Lenny installation, you will satisfy all Eucalyptus prerequsites with the following steps:
Node Controllers: eucalyptus-nc
(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 '')
Cloud Controller: eucalyptus-cloud
su - echo deb http://debian.osuosl.org/debian lenny non-free >> /etc/apt/sources.list apt-get update
su - apt-get install ca-certificates sun-java6-jre mkdir -p /etc/ssl/certs/java/ ln -sf /etc/java-6-sun/security/cacerts /etc/ssl/certs/java/cacerts
On front end, where cloud controller and cluster controller will run, install the -cloud and -cc DEBs:
aptitude install eucalyptus-cc eucalyptus-cloud
On the compute nodes, install the node controller DEB:
aptitude install eucalyptus-nc
Eucalyptus can be installed on Debian Squeeze using binary DEB packages.
Eucalyptus binary installation is broken up into several packages: the cloud controller (-cloud package), the cluster controller (-cc package), and the node controller (-nc package). To simplify installation, everything is bundled into a single "tarball" for convenience, wherein we include copies of third-party packages that Eucalyptus depends on (Rampart, Axis2C, and Java libraries).
Download the appropriate tarball from http://open.eucalyptus.com/downloads
Untar the bundle in a temporary location and add the directory to your sources.list
tar zxvf eucalyptus-1.5.1-*.tar.gz
cd eucalyptus-1.5.1-*
su
echo deb file:///${PWD} ./ >> /etc/apt/sources.list
apt-get update
NOTE: After installation feel free to remove the entry from sources.list
If you start with a standard Debian Squeeze installation, you will satisfy all Eucalyptus prerequsites with the following steps:
Node Controllers: eucalyptus-nc
(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 '')
On front end, where cloud controller and cluster controller will run, install the -cloud and -cc DEBs:
aptitude install eucalyptus-cc eucalyptus-cloud
On the compute nodes, install the node controller DEB:
aptitude install eucalyptus-nc
Eucalyptus can be installed on Ubuntu Jaunty using binary DEB packages.
Eucalyptus binary installation is broken up into several packages: the cloud controller (-cloud package), the cluster controller (-cc package), and the node controller (-nc package). To simplify installation, everything is bundled into a single "tarball" for convenience.
Download the appropriate tarball from http://open.eucalyptus.com/downloads
Untar the bundle in a temporary location and add the directory to your sources.list
tar zxvf eucalyptus-1.5.1-*.tar.gz
cd eucalyptus-1.5.1-*
sudo -s
echo deb file://${PWD} ./ >> /etc/apt/sources.list
apt-get update
NOTE: After installation feel free to remove the entry from sources.list
If you start with a standard Ubuntu Jaunty installation, you will satisfy all Eucalyptus prerequsites with the following steps:
sudo vi /etc/network/interfaces
Comment out any entry for your existing interfaces (eth0/eth1 etc) and add a bridge entry with your interfaces attached. For example, to have your bridge come up with all physical ethernet devices added to it, and have DHCP assign an address to the bridge:
auto br0
iface br0 inet dhcp
bridge_ports all
For a static configuration with just eth0 attached (substitute your actual network parameters):
auto br0
iface br0 inet static
address 192.168.12.20
netmask 255.255.255.0
network 192.168.12.0
broadcast 192.168.12.255
gateway 192.168.12.1
dns-nameservers 192.168.12.1
dns-search foobar foobar.com
bridge_ports eth0
On front end, where cloud controller and cluster controller will run, install the -cloud and -cc DEBs:
aptitude install eucalyptus-cc eucalyptus-cloud
On the compute nodes, install the node controller DEB:
aptitude install eucalyptus-nc
If you want to install Eucalyptus on a Rocks cluster, you can now follow the regular CentOS RPM instructions. The Cloud Controller and the Cluster Controller will need to be installed on your Rocks front-end, and the Node Controller will need to be installed on any of your Rocks nodes that have been configured as 'VM Containers'.
Eucalyptus will not run on a Rocks virtual cluster!
If you have previously installed Eucalyptus on your Rocks cluster, you should disable the old Eucalyptus rolls:
rocks disable roll eucalyptus
rebuild the rocks distribution:
cd /home/install rocks-dist dist
and finally reinstall the nodes as 'VM Containers'. You can then follow the CentOS RPM instructions to install and configure Eucalyptus.
Keep in mind that the java roll in Rocks V (and V.I) includes JDK version 1.5 which is not enough to run Eucalyptus. You have to install the 1.6 JDK. For our testing we used Sun's JDK, which can be found at http://java.sun.com/javase/downloads/index.jsp.
Want to build a Rocks/Centos(RedHat Enterprise)/Eucalyptus Cloud - http://hackdaddy.wordpress.com/
Here is an example of my development and deployment of a Cloud Computing Cluster using Centos5.3x86_64, Rock V.Ix86_64 and Eucalyptus v1.5.1x86_64 on a AMD Opteron Dual x64 / HeadNode and Intel Core 2 Quad-Core / Compute Nodes. Please read this entire tutorial first because you may just need to run a script that would handle some configuration.
Requirements: (for 1 headnode and 2 compute node environment)
Intel or AMD Hyper-V Compatible multicore Processors x86_64
4gb + RAM
100 gb harddrive (/export mount point and / (root) must be atleast 40 gb)
HeadNode: Must have 2 network interface card (preferably gigabit ethernet)
ComputeNode: At Least 1 gigabit ethernet card
Gigabit Ethernet Switch
Resources:
* Rocks V.I x86_64 CD Set (Kernel/Boot Roll, Base Roll, WebServer Roll, Ganglia Roll)
* CentOS 5.3 x86_64 CD Set all discs (replace the Rocks OS set all Centos Discs)
* Eucalyptus v1.5.1 x86_64 (Get the generic package)
Components (some of these will be added as a part of the Rocks implementation)
* Package manager (Yum, Apt , RPM (synaptic or up2date optional))
* DHCP Server (dhcp3)
* Xen 3+ ( I recommend Xen 3.4)
* libvirt 6+ (the install comes with libvirt 3, plus there are issue with the one in the package on centos)
* Python 5 (not 6)
* Perl 1.8.5+
* Java 6+
* Apache 1.6+ ( I used 1.7.1)
* rsync
* Firewall (iptables)
* sshd
* Text Editor (nano, kedit, gedit)
* KVM
* Qemu
* vlan
* sendmail
* iproute
* ntp
* bridge-utils
* vblade
* aoetools
* lvm2
* nmap (to see what’s running on open ports)
* wget
* unzip
* Eucalyptus 1.5.1 (eucalyptus-1.5.1-centos-x86_64.tar.gz)
* Sample Image (euca-ttylinux.tgz)
* ec2-api-tools-1.3-30349
* ec2-ami-tools-1.3-26357
Configurations
check if hyper-v or paravirtualization compatible if no output not compatible:
Check on Physical Address Extensions – grep pae /proc/cpuinfo
Check Intel-VT or AMD-V for hardware virtualization.
Intel
grep vmx /proc/cpuinfo
AMD
grep svm /proc/cpuinfo
open ports: Headnode = 22, 25, 80, 443, 5900, 5901,8443, 8773, 8774
ComputeNode = 8775
also 5900, 5901 if you want to use vncviewer/vncserver there is also a
remote desktop utility for Centos, I believe vino.
Be sure selinux is disabled.
Use SYSTEM managed or default Networking configuration.
Instructions assume that you understand how to use linux and text editors. Also assumes that you understand networking, virtual machines and system configuration. Please do the configurations logged in with a root account. Please connect eth0 on internal lan to switch plus the nodes and eth1 on public wan. Be sure that the compute nodes can boot from network cards (PXE boot). * Don’t forget to turn off PXE Boot after you have installed a vm-container-X-X.
First: Install the headnode by using the rocks documentation (Please Read entirely). You will need to begin by inserting your boot/kernel roll. Then type (omit any < > seen in this tutorial, unless stated otherwise) Follow Rocks Documentation however replace the OS Rolls with the entire CD set for CentOS 5.3 x86_64. Record your information but keep it secure, normally the defaults are sufficient.
Plan your network configuration: I put a 192.168.42.95 for my static ip on eth1 (public wan) because this is in my network configuration talk to your network admin and get your info you will need the dns and gateway. I put 10.1.1.1 on eth0 (cloud lan) because this is what I want. If it recommends a default use it.
Use manual partition for the system with atleast:
Use ext3 file system.
40 gb / (force primary)
Ram * 3 swap (force primary)
40 gb /export
the rest if necessary as you see fit. By followng rocks documentation install should go by smoothly. Reboot into Rocks/Centos.
Share internet on compute nodes through your head node. You can put the following in a shell script and run it change your configurations to match your own.
linux-network-share.sh
#!/bin/bash
# Created by nixCraft – www.cyberciti.biz
# Edited by Micah Rowland
IPT=”/sbin/iptables”
MOD=”/sbin/modprobe”
# set wan interface such as eth1 or ppp0
SHARE_IF=”eth1″
# clean old fw
echo “Clearing old firewall rules…”
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
# Get some kernel modules
echo “Loading kernel modules…”
$MOD ip_tables
$MOD iptable_filter
$MOD iptable_nat
$MOD ip_conntrack
$MOD ipt_MASQUERADE
$MOD ip_nat_ftp
$MOD ip_nat_irc
$MOD ip_conntrack_ftp
$MOD ip_conntrack_irc
# Clean old rules if any, rhel specific but above will take care of everything
# service iptables stop
# unlimited traffic via loopback device
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
echo “Setting ${SHARE_IF} as router interface…”
$IPT –table nat –append POSTROUTING –out-interface ${SHARE_IF} -j MASQUERADE
# Start other custom rules
#$IPT
# End other custom rules
echo “*** Instructions on TCP/IP On The Windows / Mac / Linux Masqueraded Client ***”
echo “1. Login to your other LAN node computers”
echo “2. Use a text editor to modify your network setting with the info below modified
for your network.”
echo “3. Set DNS (NS1 and NS2) to 192.168.43.80 and 192.168.43.81″
echo “4. Create a route-eth0 file in /etc/sysconfig/network-scripts with appropriate permissions”
echo “5. Enter $(ifconfig ${SHARE_IF} | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘{ print $1}’) as the default gateway.”
This adds a router for each subnet.
It goes via dev . Here is my route-eth0 file. change yours accordingly.
# Added by Micah 7/7/09
default 10.1.1.1 dev eth0
10.1.0.0/24 via 10.1.1.1 dev eth0
192.168.42.0/24 via 192.168.42.95 dev eth0
192.168.0.0/24 via 192.168.122.1 dev eth0
Second: Let’s begin by configuring our package managers. We will be adding apt support considering most of the documentation is written in hopes of using Ubuntu 9.04 Server
In your yum.conf file enter this:
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
#baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
then run:
rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
Then get the following repo file and add them here: /etc/yum.repos.d
CentOS-GITCO.repo
CentOS-GITCO_TESTING.repo
Now, yum install apt
After installation update the os.list file for apt for your CentOS Distro found here: /etc/apt/sources.list.d
edit os.list and add:
### CENTOS
repomd http://mirror.centos.org/ centos/$(VERSION)/os/$(ARCH)
repomd http://mirror.centos.org/ centos/$(VERSION)/updates/$(ARCH)
repomd http://mirror.centos.org/ centos/$(VERSION)/extras/$(ARCH)
also, uncomment any centos or redhat enterprise lines within reason. Modification may be needed. Please google.
I don’t update, but if you don’t have the version I mentioned above please update til you do. Please review the update components also.
Third: Eucalyptus pre-requisites. Now I used java.sun binary install for java 6 and apache foundation for ant 1.7.1 but Euclyptus team feels you should do this if using rocks then remove the <-y> cause you may have conflicts:
yum install -y java-1.6.0-openjdk-devel ant ant-nodeps libvirt-devel
curl-devel httpd httpd-devel apr-devel openssl-devel dhcp
This may not be necessary because you used rocks, but remember not to get rocks confused with what you are doing here which is a eucalyptus cloud, not rocks cluster, because you want the amazon tools. Try it couldn’t hurt.
Fourth: Installation of Eucalyptus
Verify all node clocks are synchronized with ntp. Verify all required ports previously mentioned are open, Headnode = 22, 25, 80, 443, 5900, 5901, 8443, 8773, 8774 ComputeNode = 8775. This can be done through iptables or use the utility in Centos unders: System > Administration > Security Level and Firewall. Since the Compute nodes have no gui then do the iptables commands. see iptables or google or try. Later we will do dns masquerading so that your compute nodes get internet access. So, you may want to revisit this later to add a new rule.
/etc/sysconfig/iptables (verify you iptables file it may be different than this one)
iptables -I INPUT -p tcp –dport 8775 –syn -j ACCEPT
/etc/rc.d/init.d/iptables restart
Verify Xen get’s network connectivity on the compute nodes by manual loading a xen image. Please see xen documentation or google.
All downloads should be in your /opt directory. Now run:
tar zxvf eucalyptus-1.5.1-*.tar.gz
cd eucalyptus-1.5.1-*
then
go into the created directory eucalyptus-1.5.1-* and go into deps
directory and run the rpms. Before running the deps or eucalyptus,
If you are upgrading or had a different version installed please see
the documentation at open.eucalyptus.com. Or is you installed a Eucalyptus roll.
Run your rpm’s in order such as dependencies then libraries. see eucalyptus documentation.
In your /opt directory run:
unzip ec2-api-tools-1.3-30349.zip
unzip ec2-ami-tools-1.3-26357.zip
Fifth: Add your System Paths for Eucalyptus to access resources. You add this to the end of the /etc/profile or /etc/bashrc file. Like so:
export JAVA_HOME=/usr/java/jdk1.6.0_14
export EC2_HOME=/opt/ec2-api-tools-1.3-30349
export EC2_AMITOOL_HOME=/opt/ec2-ami-tools-1.3-26357
export EUCALYPTUS=/opt/eucalyptus
export PATH=$PATH:$HOME/.euca:$EUCALYPTUS:$JAVA_HOME/bin:/opt/apache-ant-1.7.1/bin:$EC2_HOME/bin:$EC2_AMITOOL_HOME/bin
Reference Links:
Rocks Documentation – http://www.rocksclusters.org/wordpress/?page_id=4
LinuxStreet – http://www.linuxstreet.net/news/E/19987/Install-Xen-3-3-on-CentOS-5-2-vi...
Eucalyptus Doc – http://open.eucalyptus.com/wiki/EucalyptusPrerequisites_v1.5
Field Commander Wieers – http://dag.wieers.com/blog/using-apt-in-an-rpm-world
Gitco – http://www.gitco.de/linux/x86_64/centos/5/
CentOS / Redhat Linux Internet Connection Sharing – http://www.cyberciti.biz/faq/rhel-fedora-linux-internet-connection-shari...
Trouble Shoot and Support – http://forum.eucalyptus.com/forum/ (must sign up)
Downloads for this tutorial only.
wget http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-30349.zip
wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools-1.3-26357.zip
Eucalyptus v1.5.1x86_64 Centos 5.3 – http://open.eucalyptus.com/downloads/90
euca-ttylinux – http://open.eucalyptus.com/downloads/3
These are instructions for those who would like to upgrade to Eucalyptus 1.5 from source-based or RPM-based 1.4 installation. If you're still running 1.3, please, follow the instructions for upgrading to 1.4 before following these instructions.
These upgrade instructions involve making a backup of the key state. The last section of this document explains how to roll back to the previous installation using the backup.
Commands below assume that your $EUCALYPTUS variable points to the root of the (old) 1.4 installation. The typical 1.4 installation is in /opt/eucalyptus. After moving the 1.4 installation away or backing it up, the same location will be re-used for the 1.5 installation. If you want to install 1.5 somewhere else, adjust the commands accordingly.
ec2-terminate-instances ... # (as admin)
$EUCALYPTUS/etc/init.d/eucalyptus stop
ps aux | grep euca kill -9 ...
Both source- and RPM-based installations can be upgraded:
export EUCALYPTUS_OLD=/opt/eucalyptus-1.4
mv $EUCALYPTUS $EUCALYPTUS_OLD
$EUCALYPTUS/etc/init.d/eucalyptus $EUCALYPTUS/etc/eucalyptus $EUCALYPTUS/usr/sbin/euca_* $EUCALYPTUS/usr/share/eucalyptus $EUCALYPTUS/var/eucalyptus/[^b]* # (everything except the "bukkits" directory)
$EUCALYPTUS/var/log/eucalyptus $EUCALYPTUS/var/run/eucalyptus
cp $EUCALYPTUS_OLD/var/eucalyptus/db/eucalyptus.* $EUCALYPTUS/var/lib/eucalyptus/db/ cp $EUCALYPTUS_OLD/var/eucalyptus/db/eucalyptus_volumes.* $EUCALYPTUS/var/lib/eucalyptus/db/ rm -f $EUCALYPTUS/var/eucalyptus/db/*.lck cp $EUCALYPTUS_OLD/var/eucalyptus/keys/* $EUCALYPTUS/var/lib/eucalyptus/keys/
mv $EUCALYPTUS_OLD/var/eucalyptus/bukkits $EUCALYPTUS/var/eucalyptus(FYI: The official default Walrus path in 1.5 is $EUCALYPTUS/var/lib/eucalyptus. If you want to move the buckets there, for consistency with the official value, be sure to also change the Walrus Path setting under the Configuration tab of the Web interface.)
$EUCALYPTUS/usr/sbin/euca_conf -upgrade-conf <old_config> <new_config>after which we strongly advice to go and check the generated configuration file: if you upgraded from an older RPM the above command was executed automatically during the upgrade.
$EUCALYPTUS/usr/sbin/euca_sync_key -c $EUCALYPTUS/etc/eucalyptus/eucalyptus.conf
$EUCALYPTUS/etc/init.d/eucalyptus-nc start $EUCALYPTUS/etc/init.d/eucalyptus-cc start $EUCALYPTUS/etc/init.d/eucalyptus-clc start
ec2-describe-availability-zones verbose
Once you are confident that the new installation is working, delete the old state on disk.
rm -rf $EUCALYPTUS_OLD
If you upgraded using RPM packages, delete on all nodes the backup of old state that was created during the upgrade:
rm /root/eucalyptus-pre-1.5-rollback.tar
The upgrade moved some directories location (in order to comply to FHS) so you may have to remove by hand some directory in particular
rm -rf $EUCALYPTUS/var/eucalyptus
rm -rf $EUCALYPTUS
mv $EUCALYPTUS_OLD $EUCALYPTUS
rpm -e eucalyptus-cloud eucalyptus-cc euca-httpd euca-axis2c euca-libvirt eucalyptus
rpm -ivh eucalyptus-1.4-2.i386.rpm eucalyptus-cloud-1.4-2.i386.rpm eucalyptus-cc-1.4-2.i386.rpm eucalyptus-gl-1.4-2.i386.rpm
cd $EUCALYPTUS tar xf /root/eucalyptus-pre-1.5-rollback.tar
cd $EUCALYPTUS cp etc/eucalyptus/eucalyptus.conf.old etc/eucalyptus/eucalyptus.conf