If we can get the Ubuntu 10.04 latest server edition, this can be done easily. As it comes with an option to select whether we need to setup a normal server or Ubuntu Cluster. On the main cluster controller we can select the cluster option and also need to specify the IP range needed for the nodes. So, once the cluster server is setup, while installing on nodes, it automatically detects the node and necessary ssh-key authentication also will be done. We just need to give which IP from the range has to be used for the node.
Before starting would like to mention that, Eucalyptus has 3 major packages.
Cluster Controller: provides support for the virtual network overlay
Cloud Controller: includes the front-end services and the Walrus storage system.
Node Controller: that interacts with XEN to manage individual VMs.
While doing the setup from package installation:
Cloud/Cluster/Storage/Walrus Front End Server(s)
1. Need to install Ubuntu server 10.04.
2. Necessary packages has to be installed
sudo apt-get install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus eucalyptus-sc
While installting these packages we would be getting options to define the IP range and to specify the server’s hostname.
3. On the nodes also we need to install the server and update the archives.
4. Necessary packages has to be installed.
sudo apt-get install eucalyptus-nc
5. Next we need to set the primary interface of the node as a bridge. While creating virtual network interfaces, the node controller will add it to this bridge. Usually a bridge can be set by making below given modifications in the /etc/network/interfaces file.
iface br0 inet dhcp
Once this is set need to restart the networking daemon.
6. In the /etc/eucalyptus/eucalyptus.conf VNET_BRIDGE has to be changed to $bridge. Then restart the node controller using
7. Now, the cloud controller and the all other controller like node, storage and warlus controller should be able to communicate each other via ssh keys. This has to be enabled. While installing cluster using 10.04 UEC cd, ssh-key authentication is done automatically.
To enable ssh keys, on the target controller (node, storage or warlus)
-> temporarily set a password for the eucalyptus user
sudo passwd eucalyptus
-> Then from the cloud controller
sudo -u eucalyptus ssh-copy-id -i ~eucalyptus/.ssh/id_rsa.pub eucalyptus@<IP_OF_NODE>
-> Then we can remove the temporary password.
sudo passwd -d eucalyptus
8. Next step is to define controller’s IP Addresses in the eucalyptus configuration file and then register
In /etc/eucalyptus/eucalyptus.conf file on the cluster controller
Define the shell variable CC_NAME in /etc/eucalyptus/eucalyptus-cc.conf
Define the shell variable CC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a space separated list of one or more IP addresses.
Define the shell variable WALRUS_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a single IP address.
Define the shell variable SC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a space separated list of one or more IP addresses.
9. Now for each controller, we need to start the publication
sudo start eucalyptus-walrus-publication (Warlus controller)
sudo start eucalyptus-sc-publication (Storage controller)
sudo start eucalyptus-cc-publication (Cluster controller)
sudo start eucalyptus-nc-publication (Node controller)
10. Need to start the listeners on the cluster and cloud controllers
sudo start uec-component-listener
The regitration process can be verified by checking the log file /var/log/eucalyptus/registration.log
11. Now since the cloud is setup and the controllers have started communicating, the users of the cloud would need to donwload thier login credentials.
From your web browser access the URL: https://<cloud-controller-ip-address>:8443/
For the first time, username ‘admin’ and password ‘admin’ can be used(you will be prompted to change your password).
Then follow the on-screen instructions to update the admin password and email address.
Once the first time configuration process is completed, click the ‘credentials’ tab located in the top-left portion of the screen.
Click the ‘Download Credentials’ button to get your certificates
Save them to ~/.euca
Unzip the downloaded zipfile into a safe location (~/.euca) unzip -d ~/.euca mycreds.zip
12. Next need to setup EC2 API and AMI tools on your server using X.509 certificates.
For this on the cloud controller sudo apt-get install euca2ools
13. Next step is to install necessary images on the nodes. There will be few default stored images, we can either use it or else usually an image according to the needs would be created and installed.
The cloud is setup and applications are deployed to it, we would need to make changes accordingly.
The main advantage of cloud computing is that both small and medium sized businesses can instantly obtain the benefits of the enormous infrastructure without having to implement and administer it directly. This also permits accessibility to multiple data centers anywhere on the globe. It also means that as the need for resources increases, companies can add additional service as and when needed from the cloud computing vendor.