Installing Eucalyptus 2.0.3 on Debian

Need help? Ask on our forums, mailing list, or IRC channel.


Installing Eucalyptus 2.0.3 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:

/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

Download an archive that includes the Eucalyptus software as well as third party dependencies:

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

** Install DEBs

On the front end (where cloud controller, Walrus, cluster controller, and storage controller will run) install the following:

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

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

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

You may safely ignore this error:

adduser: The group 'libvirtd' does not exist.

Post-Install Steps

On the Node(s)

Modify qemu.conf

Edit qemu.conf so that 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

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 libvirt

Restart 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.

Share This Page

Share this Page on Facebook Share this Page on Twitter Email a Friend