CSS Corp Open Source Services

[Eucalyptus Beginner’s Guide – UEC edition] Chapter 1 – Introduction to UEC and its components

with one comment

Chapter 2
Installation & Configuration


Cloud Computing is a computing model, where resources such as computing power, storage, network and software are abstracted and provided as services on the Internet in a remotely accessible fashion. Billing models for these services are generally similar to the ones adopted for public utilities. On-demand availability, ease of provisioning, dynamic and virtually infinite scalability are some of the key attributes of Cloud Computing.

An infrastructure setup using the cloud computing model is generally referred to as ‘Cloud’. The following are the broad categories of services available on the ‘Cloud’:

  1. Infrastructure As A Services (IAAS)
  2. Platform As A Service (PAAS)
  3. Software As A Service (SAAS)

This ‘Cloud’ is generally available as service to anyone on the Internet. However, a variant called ‘Private Cloud’ is increasingly becoming popular for private infrastructure that has some of the attributes of the ‘Cloud’ as mentioned above.

Amazon Web Services is one of the major players providing IAAS. They have 2 popular services – Elastic Compute Cloud(EC2) and Simple Storage Service(S3). These services are available through web services interfaces. The client tools can use EC2 and S3 APIs to communicate with these services. The popularity of these APIs have encouraged other Cloud products to provide support for them as well.


Eucalyptus is a software available under GPL that helps in creating and managing a private or even a publicly accessible cloud. It provides an EC2 compatible cloud computing platform and S3 compatible cloud storage platform. Eucalyptus has become very popular and is seen as one of the key open source cloud platforms. Since Eucalyptus makes its services available through EC2/S3 compatible APIs, the client tools written for AWS can be used with Eucalyptus as well.

Ubuntu Enterprise Cloud (UEC)

Ubuntu Enterprise Cloud, UEC for short, is a stack of applications from Canonical included with Ubuntu Server Edition. UEC includes Eucalyptus along with a number of other open source software. UEC makes it very easy to install and configure the Cloud. Canonical also provides commercial technical support for UEC.

Components of a Eucalyptus (UEC) based Cloud

Node Controller (NC)

A UEC node is a VT enabled server capable of running KVM as the hypervisor. UEC automatically installs KVM when the user chooses to install the UEC node. The VMs running on the hypervisor and controlled by UEC are called instances. Eucalyptus supports other hypervisors like Xen apart from KVM, but Canonical has chosen KVM as the preferred hypervisor for UEC.

Node Controller runs on each node and controls the life cycle of instances running on the node. The NC interacts with the OS and the hypervisor running on the node on one side and the CC on the other side.

NC queries the Operating System running on the node to discover the node’s physical resources – the number of cores, the size of memory, the available disk space and also to learn about the state of VM instances running on the node and propagates this data up to the CC.


  1. Collection of data related to the resource availability and utilization on the Node and reporting the data to CC
  2. Instance life cycle management

Cluster Controller (CC)

CC manages one or more Node Controllers and deploys/manages instances on them. CC also manages the networking for the instances running on the Nodes under certain types of networking modes of Eucalyptus. More on this in later chapters.

CC communicates with CLC on one side and NCs on the other side.


  1. To receive requests from CLC to deploy instances
  2. To decide which NCs to use for deploying the instances on
  3. To control the virtual network available to the instances
  4. To collect information about the NCs registered with it and report it to the CLC

Walrus Storage Controller (WS3)

WS3 provides a persistent simple storage service using REST and SOAP APIs compatible with S3 APIs.


  1. Storing the  machine images
  2. Storing snapshots
  3. Storing and serving files  using S3 API

WS3 should be considered as a simple file storage system.

Storage Controller (SC)

SC provides persistent block storage for use by the instances. This is similar to the Elastic Block Storage (EBS) service from AWS.


  1. Creation of persistent EBS devices
  2. Providing the block storage over AoE or iSCSI protocol to the instances
  3. Allowing creation of snapshots of volumes.

Cloud Controller (CLC)

The Cloud Controller (CLC) is the front end to the entire cloud infrastructure. CLC provides an EC2/S3 compliant web services interface to the client tools on one side and interacts with the rest of the components of the Eucalyptus infrastructure on the other side. CLC also provides a web interface to the users for managing certain aspects of the UEC infrastructure.


  1. Monitor the availability of resources on various components of the cloud infrastructure, including hypervisor nodes that are used to actually provision the instances and the cluster controllers that manage the hypervisor nodes
  2. Resource arbitration – Deciding which clusters will be used for provisioning the instances
  3. Monitoring the running instances

In short, CLC has a comprehensive knowledge of the availability and usage of resources in the cloud and the state of the cloud.

Eucalyptus Cloud

Chapter 2
Installation & Configuration
About these ads

One Response

Subscribe to comments with RSS.

  1. I believe I need a little assistance here. First some history.
    I built a UEC cloud a year ago based on U9.10, as I recall. What I did was buy another machine to be the nc and, as I didn’t see a reason to have 3 machines, added the ‘everything but nc’ packages to my main computer running the same version of U9.10 but Desktop as opposed to server. This worked wonderfully except the public IP address would magically disappear after a while. I never figured out why but somewhere along the line felt or heard it was a function of how the Desktop configures NetworkManager vs a Server which, coincidently, is what the instructions said to use for clc, cc, sc etc. When it was working, on 9.10 and 10.4 everything was on the 192.168.0 subnet that my wireless router managed.

    Fast forward to UEC 10.10. I bought a third machine, to act as clc, cc, sc, etc and installed the cloud version off the cd. Everything was still on the 192.168.0 subnet. However, my desktop system could not connect to any running instances. The range I gave the CC was>149. So question 1 is why can’t I access this range from my desktop? I think it has something to do wiith the desktop did not assign them but there I am guessing. Is this the correct approach? Even though I can shell to my cc I can’t fire up a browser there being it is a server. What makes me nervous is the diagram above which is clearly for a more commercial environment. I have three machines, my desktop at 10.10, my cc|clc|sc at 10.10 server., and my nc at 10.10 server.

    My next thought was maybe it was due to 192.168.0 being assigned on a different machine so I thought perhaps if I used, as most examples showed, 192.168.1.x->y I could route traffic to that range via a route add iptable adjustment. Question 2: Is that correct thinking? Was I on the right track? I never got that far as even though I could connect from my cc machine, 192.168.0.x to the 192.168.1.x, from the started instance of an image I could not communicate with the outside world. I could neither ping known hosts nor seltask to add packages. I am thinking that perhaps a route add would solve the connectivity from my desktop issue it would do nothing for the connectivity of the instances to the outside world. In short, perhaps that was the wrong direction. In my environment the outside world is available via a single cable modem plugged into a single wireless router. I am hoping someone just read that and knows exactly what I need to do to get this reliably up and running. Again, in the 9.10->10.4 days where the desktop was cc/clc/sc things worked pretty well for a time until the public (and as I recall in some cases the private) IP address would just vanish irretrievably.

    TIA, Walt


    November 28, 2010 at 10:08 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 170 other followers

%d bloggers like this: