Corporate Home Open Source Home
Syndicate content
Eucalyptus

Installing Eucalyptus (2.0) on Debian "squeeze"

Eucalyptus can be installed on Debian squeeze using binary DEB packages. In what follows, the value of $VERSION must be set to the version of Eucalyptus you wish to install. For example, we can set the value to 2.0.3 using bash:

export VERSION=2.0.3

Prerequisites

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

  • Ensure that locales are properly configured (use dpkg-reconfigure locales).
  • Synchronize clocks (e.g., using NTP: ntpdate pool.ntp.org) across all Eucalyptus machines and client machines.
  • If using a firewall, permit the Eucalyptus components to communicate with one another, and permit 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 running in SYSTEM mode, which is the default networking mode, 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 to 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 rebooting the machine or entering the following command:

/etc/init.d/networking restart

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.

There are two options for downloading the DEB packages:

Remote repository option

DEB packages are available from our repository. 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://eucalyptussoftware.com/downloads/repo/eucalyptus/$VERSION/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.

Tarball (local repository) option

DEB packages are also available in a single "tarball", wherein we include copies of third-party packages that Eucalyptus depends on (Rampart, Axis2C, and Java libraries).

Download the tarball from http://open.eucalyptus.com/downloads

Next, make sure that dpkg-dev is installed, unpack the tarball, and create the local repository:

apt-get install dpkg-dev
tar zxvf eucalyptus-$VERSION-*.tar.gz
cd eucalyptus-$VERSION-*
dpkg-scanpackages . > Packages

Now add the appropriate directory for your architecture to your sources.list as root:

For 32-bit:

echo deb file://${PWD} ./dists/squeeze/main/binary-i386/ \
     >> /etc/apt/sources.list
apt-get update

For 64-bit

echo deb file://${PWD} ./dists/squeeze/main/binary-amd64/ \
     >> /etc/apt/sources.list
apt-get update

NOTE: After installation feel free to remove the entry from /etc/apt/sources.list

** Install DEBs

On the 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

On the compute nodes, install required iscsi dependencies and the node-controller DEB :

aptitude install open-iscsi libcrypt-openssl-random-perl \
         libcrypt-openssl-rsa-perl libcrypt-x509-perl \
         eucalyptus-nc

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

Post-Install Steps

Modify qemu.conf file

On the node, make sure libvirt is configured to run as user "eucalyptus":

sudo vi /etc/libvirt/qemu.conf
# set the field user to be: user = "eucalyptus"

Modify libvirtd.conf file

On the node, uncomment the following lines in /etc/libvirt/libvirtd.conf:

unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"

Restart libvirtd

Once you've made the modification, stop and start libvirt, and make sure the sockets belong to the correct group:

/etc/init.d/libvirt-bin stop
/etc/init.d/libvirt-bin start
chown root:libvirt /var/run/libvirt/libvirt-sock
chown root:libvirt /var/run/libvirt/libvirt-sock-ro

At this point you should be ready to proceed with first-time configuration.