Installation from distribution-specific binary packages

Choose a linux distribution:

Installing Eucalyptus (1.6) on CentOS 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 substituted accordingly (e.g., as 1.6.1, 1.6.2, etc.) for example we can set the value of 1.6.2 using bash:

export VERSION=1.6.2

Notice: Before you begin, please ensure that you have an up-to-date CentOS installation on your target machine(s). In particular, CentOS 5.4, which was recentely released, carries libvirt 0.6.3 which is required to run Eucalyptus.

Prerequisites

If you start with a standard CentOS installation, you will satisfy all prerequisites with the following steps:

  1. Front-end, node and client machine system clocks are synchronized (e.g., using NTP).
    yum install -y ntp
    ntpdate pool.ntp.org
    
  2. Front end needs java, command to manipulate a bridge and the binaries for dhcp server (do not configure it nor run it on the CC):
    yum install -y java-1.6.0-openjdk ant ant-nodeps dhcp bridge-utils httpd
    
  3. Node 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 restart
    
  4. Firewall 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, you may want to consider disabling the firewall and use Eucalyptus facilities for enabling custom firewall rules (see Network configuration for more information). On both the front-end and the nodes:

    For example, from a text console:

    • run system-config-securitylevel
    • select Security Level: Disabled
    • select OK

    From an X terminal:

    • run system-config-security-level
    • select 'Disabled' for 'Firewall'
    • select the 'SELinux' tab
    • select either 'Permissive' or 'Disabled' for SELinux Setting

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 obtaining the packages:

  1. Yum option: Packages are available from our yum repository. To use it, 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/
    enabled=1
    
    where $VERSION is either 1.6.1 or 1.6.2. Now install eucalyptus on the front-end,
    yum install eucalyptus-cloud.$ARCH eucalyptus-cc.$ARCH eucalyptus-walrus.$ARCH eucalyptus-sc.$ARCH --nogpgcheck
    
    or the node
    yum install eucalyptus-nc.$ARCH --nogpgcheck
    
    where $ARCH is the architecture of your host (either 'i386' or 'x86_64').
  2. Tarball option: The packages are available in a single tarball, wherein we also include copies of third-party CentOS packages that Eucalyptus depends on (Rampart, Axis2C, many Java libraries), at http://open.eucalyptus.com/downloads (look for a CentOS tarball of the right Eucalyptus version and architecture). Untar the bundle in a temporary location:
    tar zxvf eucalyptus-$VERSION-*.tar.gz
    cd eucalyptus-$VERSION-*
    
  3. In the examples below we use x86_64, which should be replaced with i386 or i586 on 32-bit architectures. Install the third-party dependency RPMs on the front end:

    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 \
             groovy-1.6.5-1.noarch.rpm \
             vtun-3.0.2-1.el5.rf.x86_64.rpm \
             lzo2-2.02-3.el5.rf.x86_64.rpm
    cd ..
    

    Install the -cloud, -walrus, -cc and -sc RPMs on the front end:

    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 the dependency packages on each compute 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
    cd ..
    
    

    Install the node controller RPM with dependencies on each compute node:

    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. The easiest way to check this is to run the following command on each node:

    su eucalyptus -c "virsh 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.

    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.

Installing Eucalyptus (1.6) on openSUSE 11

Eucalyptus can be installed on openSUSE 11 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 substituted accordingly (e.g., as 1.6.1, 1.6.2, etc.) for example we can set the value of 1.6.2 using bash:

export VERSION=1.6.2

Prerequisites

If you start with a standard openSUSE installation, you will satisfy all prerequisites with the following steps:

  1. Front-end, node and client machine system clocks are syncronized (i.e. using NTP).
    sntp -P no -r pool.ntp.org
    yast2 -i ntp
    /etc/init.d/ntp restart
    
  1. Install all dependency packages that are required for Eucalyptus to run on the front-end
    yast2 -i apache2 apache2-prefork java-1_6_0-openjdk java-1_6_0-openjdk-devel libvirt curl vlan dhcp-server bridge-utils
    
    and on the node
    yast2 -i xen libvirt vlan apache2
    
  1. Node has a fully installed and configured installation of Xen.
    • RECOMMENDED: verify your Xen installation by manually bringing up a VM and testing that it has network connectivity using bridged networking.
    • To set up bridged networking on your node, use the 'yast2' command and go through the following steps:
      • Network Devices
      • Network Settings
      • Select 'OK' to get past information box
      • Traditional Method with ifup
      • Overview
      • Add
      • Device Type: Bridge
      • Next
      • Bridged Devices: select eth0 (or the name of your primary interface)
      • Next
      • Continue
      • Ok
    • make sure that the libvirt daemon (libvirtd) is running and configured properly
      • /etc/init.d/libvirtd start
      • check eucalyptus can interact with libvirt
        su eucalyptus -c "virsh list"

        you may see this error (which could show up in the logs too)

        Attempting to obtain authorization for org.libvirt.unix.manage.
        polkit-grant-helper: given auth type (8 -> yes) is bogus
        Failed to obtain authorization for org.libvirt.unix.manage.
        

        which is harmless.

  1. Firewall rules must permit the Eucalyptus components to communicate with one another, and clients to communicate with Eucalyptus.
    • NOTE: 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, you may want to consider disabling the firewall and use Eucalyptus facilities for enabling custom firewall rules (see Network configuration for more information).
      • yast2 firewall startup manual
      • /etc/init.d/SuSEfirewall2_init stop
      • reboot

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 obtaining the packages:

  1. Zypper option: packages are available from our repository. To use it:
    zypper ar --refresh http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/$VERSION/yum/opensuse Eucalyptus
    
    answer question about trusting packages from this repository then refresh it
    zypper refresh Eucalyptus
    
    and now install eucalyptus on the front-end
    zypper install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus eucalyptus-sc 
    
    or the node
    zypper install eucalyptus-nc 
    
  2. Tarball option: the packages are available in a single tarball, wherein we also include copies of third-party openSUSE packages that Eucalyptus depends on (Rampart, Axis2C, many Java libraries), at http://open.eucalyptus.com/downloads (look for a openSUSE tarball of the right Eucalyptus version and architecture). Untar the bundle in a temporary location:
    tar zxvf eucalyptus-$VERSION-*.tar.gz
    cd eucalyptus-$VERSION-*
    
  3. In the examples below we use x86_64, which should be replaced with i386 or i586 on 32-bit architectures. Install the third-party dependency RPMs on the front end:

    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 \
             groovy-1.6.5-1.noarch.rpm \
             vtun-3.0.1-1.x86_64.rpm
    cd ..
    

    Install the -cloud, -walrus, -cc and -sc RPMs on the front end:

    rpm -Uvh eucalyptus-$VERSION-*.x86_64.rpm \
             eucalyptus-common-java-$VERSION-*.x86_64.rpm \
             eucalyptus-cloud-$VERSION-*.x86_64.rpm \
             eucalyptus-sc-$VERSION-*.x86_64.rpm \
             eucalyptus-walrus-$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-25-2.49.x86_64.rpm \
             euca-axis2c-1.6.0-1.x86_64.rpm \
             euca-rampartc-1.3.0-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-$VERSION-*.x86_64.rpm \
             eucalyptus-gl-$VERSION-*.x86_64.rpm \
             eucalyptus-nc-$VERSION-*.x86_64.rpm
    

    Post-Install Steps

    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
    

Installing Eucalyptus (1.6) on Debian "squeeze"

Eucalyptus can be installed on Debian squeeze using binary DEB packages. Squeeze has not been released yet, so things can change quickly and without warning.

Download DEBs

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. To install them, along with a significant number of dependencies, add our repository to the list of repositories for your system to use. To do so, add somewhere in /etc/apt/sources.list file the following line:

For 1.6.1:

deb http://eucalyptussoftware.com/downloads/repo/eucalyptus/1.6.1/debian/ squeeze contrib

For 1.6.2 (including release candidates):

deb http://eucalyptussoftware.com/downloads/repo/eucalyptus/1.6.2/debian/ squeeze main

And then run:

apt-get update

After installation you may remove the entry from sources.list if you don't want to update Eucalyptus packages automatically.

Prerequisites

If you start with a standard Debian squeeze installation, you will satisfy all Eucalyptus prerequisites with the following steps:

  1. Synchronize clocks (e.g., using NTP: ntpdate pool.ntp.org) across all Eucalyptus machines and client machines.
  1. If using a firewall, permit the Eucalyptus components to communicate with one another, and permit clients to communicate with Eucalyptus.
    • NOTE: on the front-end, ports 8443, 8773, 8774 and 9001 must be open. On the node, port 8775 must be open.
  1. Ensure that locales are properly configured (use dpkg-reconfigure locales).
  1. Install libvirt/qemu-kvm and configure it to run as user 'eucalyptus':
sudo apt-get install libvirt-bin qemu-kvm
# set the field user to be: user = "eucalyptus"
sudo vi /etc/libvirt/qemu.conf
# restart libvirt
sudo /etc/init.d/libvirt-bin restart
  1. If running in SYSTEM networking mode, which is the default, your node machine(s) must be configured with a bridge as the primary interface. For example, you may try:
sudo apt-get install bridge-utils
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, use:

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

Finally, restart the network by either by restarting the network with '/etc/init.d/networking restart' or by rebooting the machine.

Install DEBs on the front end

On front end, where cloud controller, Walrus, cluster controller, and storage controller will run, install the appropriate DEBs:

aptitude install eucalyptus-common eucalyptus-cloud eucalyptus-walrus eucalyptus-sc eucalyptus-cc 

Install DEBs on the nodes

On the compute nodes, install the node-controller DEB:

aptitude install eucalyptus-nc

(You may safely ignore the error adduser: The group 'libvirtd' does not exist.)

Installing Eucalyptus (1.6.1) on Ubuntu Jaunty (9.04)

Eucalyptus 1.6.1 (no longer the most current stable release) can be installed on Ubuntu Jaunty using binary DEB packages. (Ubuntu Lucid users can install the latest release from the standard Ubuntu supported repository, or users of any Ubuntu release from Jaunty and later can always install Eucalyptus from source.)

Download DEBs

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. To install them, along with a significant number of dependencies, add our repository to the list of repositories for your system to use. To do so, add somewhere in /etc/apt/sources.list file the following line:

deb http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/1.6.1/ubuntu jaunty universe

And run:

apt-get update

After installation you may remove the entry from sources.list if you don't want to update Eucalyptus packages automatically.

Prerequisites

If you start with a standard Ubuntu Jaunty installation, you will satisfy all prerequisites with the following steps:

  1. Front-end, node and client machine system clocks are syncronized (i.e., using NTP).
    ntpdate-debian -s
    apt-get install openntpd
    
  1. Firewall rules must permit the Eucalyptus components to communicate with one another, and clients to communicate with Eucalyptus.
    • NOTE: on the front-end, ports 8443, 8773, 8774 and 9001 must be open. On the node, port 8775 must be open
  1. If running in SYSTEM networking mode, which is the default, your node machine(s) must be configured with a bridge as the primary interface. You must first uninstall or disable Network Manager (default with Ubuntu Desktop), then follow the procedure below (example):
    sudo apt-get install bridge-utils
    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

Finally, restart the network by either by restarting the network with '/etc/init.d/network restart' or by rebooting the machine.

Install DEBs on the front end

On front end, where cloud controller and cluster controller will run, install the -cloud and -cc DEBs:

aptitude install eucalyptus-cc eucalyptus-cloud eucalyptus-common eucalyptus-walrus eucalyptus-sc

Install DEBs on the nodes

On the compute nodes, install the node controller DEB:

aptitude install eucalyptus-nc eucalyptus-common

(You may safely ignore the error adduser: The group 'libvirt' does not exist.)