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
localesare properly configured (usedpkg-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.
