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
If you start with a standard Debian squeeze installation, you will satisfy all Eucalyptus prerequisites with the following steps:
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 allFor 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 eth0Finally, restart the network by rebooting the machine or entering the following command:
/etc/init.d/networking restart
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:
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.
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 updateFor 64-bit
echo deb file://${PWD} ./dists/squeeze/main/binary-amd64/ \
>> /etc/apt/sources.list
apt-get updateNOTE: 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-ccOn 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.)
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"
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"
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.