Setting Up of An Open Source Based Private Cloud
Setting Up of An Open Source Based Private Cloud
1, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 354
2
ME, Software Engineering,
Department of Computer Science and Engineering,
PSG College of Technology, Coimbatore-641 004, India
Abstract
Cloud Computing is an attractive concept in IT field, since it allows developers and finally Infrastructure as a service provides
the resources to be provisioned according to the user needs[11]. It informatics resources, such as servers, connections, storage and
provides services on virtual machines whereby the user can share other necessary tools to construct an application design
resources, software and other devices on demand. Cloud services are prepared to meet different needs of multiple organizations,
supported both by Proprietary and Open Source Systems. As making it quick, easy and economically viable [4].
Proprietary products are very expensive, customers are not allowed to
experiment on their product and security is a major issue in it, Open
source systems helps in solving out these problems. Cloud Computing
Cloud computing is mainly classified into three types based on
motivated many academic and non academic members to develop the deployment model; Public cloud, Private cloud and Hybrid
Open Source Cloud Setup, here the users are allowed to study the cloud. If the services are provided over the internet then it is
source code and experiment it. This paper describes the configuration public cloud or external cloud and if it is provided with in an
of a private cloud using Eucalyptus. Eucalyptus an open source organization through intranet then it is named as private cloud
system has been used to implement a private cloud using the hardware or internal cloud and Hybrid cloud is an internal/external cloud
and software without making any modification to it and provide which allows a public cloud to interact with the clients but
various types of services to the cloud computing environment. keep their data secured within a private cloud [7].
Keywords: Cloud Computing, Open Source, Private Cloud. This paper explains about EUCALYPTUS: an open-source
system that enables the organization to establish its own cloud
computing environment. Eucalyptus is structured by various
1. Introduction components which interact with each other through well-
defined interfaces. It is used for implementing on-premise
Cloud computing is a computing environment, where resources private and hybrid clouds using the hardware and software
such as computing power, storage, network and software are infrastructure that is in place, without modification.
abstracted and provided as services on the internet in a
remotely accessible fashion. Billing models for these services
2. Eucalyptus
are generally similar to the ones adopted for public utilities.
On-demand availability, ease of provisioning, dynamic and
Eucalyptus (Elastic Utility Computing Architecture for Linking
virtually infinite scalability is some of the key attributes of
cloud computing [6]. Your Programs To Useful Systems) was released in May 2008,
creator of the leading Open-Source Private Cloud platform.
The main concept behind cloud computing is providing They were incorporated as an organization in January 2009
services. It provides various types of services, some of the Headquartered in Santa Barbara, California.
important services are SaaS, PaaS and IaaS. Software as a
service is a model of software deployment whereby a provider Eucalyptus software is available under GPL (General Public
licenses an application to customers for use as a service on License) that helps in creating and managing a private or even
demand. Platform as a service generates all facilities required a publicly accessible cloud. It provides an EC2 (Elastic
to support the complete cycle of construction and delivery of Compute Cloud)-compatible cloud computing platform and S3
web-based applications wholly available in Internet without the (Simple Storage Service)-compatible cloud storage platform.
need of downloading software or special installations by
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 355
Eucalyptus is one of the key for open source cloud platforms
which makes it much popular. The client tools used for
Eucalyptus is same as that of AWS, because Eucalyptus
services are available through EC2/S3 compatible APIs [6].
3. UEC Architecture
Ubuntu Enterprise Cloud UEC, is a private cloud set up for
developing its our own IT infrastructure. UEC comes up with
many open source software and Eucalyptus is one among them
and it makes the installation and configuration of the cloud
easier. Canonical also provides commercial technical support
for UEC.The basic architecture of UEC consists of A front end
which runs one or more Cloud Controller (CLC),Cluster
Controller (CC),Walrus (WS3), Storage Controller (SC) and
One or more nodes[6]. The architecture of UEC is shown in
Fig 2. A CLC manages the whole cloud and includes multiple
CC’s. There will be a WS3 attached to a CLC.A CC can
contain multiple NC’s and SC’s. Ultimately the VM’s will be
running in the NC making use of its physical resources [5]. Fig.3.UEC basic setup with Three Machines [6].
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 356
5. Steps in Configuring an Open Source Private Invoke the Web Interface
Cloud Login to the web https://192.168.4.145:8443/
interface of CLC The default username is
“admin" and the default
Steps Description/commands password is “admin".
Download the From https://192.168.4.145:8443/
Installation Procedure for Server 1 credentials #credentials and save it in the
Install Ubuntu Boot the Server off for ~/.euca directory
Server 10.04 CD in installation $ cd .euca
Server 1 Extract the $ unzip mycreds.zip
Setup the IP 192.168.4.145. ( Please do that credentials archive
address details. for eth0) Source eucarc $ . ~/.euca/eucarc
Cloud Controller Leave this blank as Server1 is Verify euca2ools $euca-describe-availability-zones
Address the Cloud Controller in this communication verbose
setup with UEC
Running Instances
Cloud Installation Select “Cloud controller", Installing Images From Canonical over the
Mode “Walrus storage service", internet (no proxy), check Store
“Cluster controller" and tab.
“Storage controller". Checking the $ euca-describe-images
Network interface Select eth1 node available Images
for communication
Installing a $ euca-add-keypair mykey >
Eucalyptus cluster Cluster 1 Keypair ~/.euca/ mykey.priv
name
$ chmod 0600
Eucalyptus IP 192.168.4.155-192.168.4.165 ~/.euca/mykey.priv
range Running an $ euca-run-instances -g Ubuntu
Instance ( using 9.10 -k mykey -t c1.medium emi-
Installation Procedure for Server 2 terminals) E08810 7E
Install Ubuntu Boot the Server off for
Server 10.04 CD in installation Hybridfox Used to run the instances using
Server 2 GUI
Setup the IP Please do that for eth0 by setting Life cycle of an Pending - Running - Shutting
address for one up the private IP - 192.168.4.146 Instance down – Terminated – Reboot.
interface $euca-run-instances
Cloud Controller 192.168.4.145 $euca-terminate-instances
Address $euca-reboot-instances
Cloud Installation Select “Node Controller" Table.1. Configuration Steps
Mode
Gateway 192.168.4.145 (IP of the CC)
6. ALGORITHM
Installation Procedure for Client 1 6.1 Installing server1
Install Ubuntu Boot the Desktop off for
Desktop 10.04 CD installation 1. Boot the server off the Ubuntu Server 10.04 CD. At the
in Client graphical boot menu, select “Install Ubuntu Enterprise Cloud"
IP Address The Desktop will be on the and proceed with the basic installation steps.
enterprise network and will 2. Installation only lets you set up the IP address details for
obtain an IP address through one interface. Please do that for eth0.
DHCP 3. We need to choose certain configuration options for UEC,
Install KVM To help us to install images on during the course of the install.
KVM platform and bundle them 4. Cloud Controller Address - Leave this blank as Server1 is the
Cloud Controller in this setup.
5. Cloud Installation Mode - Select “Cloud controller", “Walrus
storage service", “Cluster controller" and “Storage controller".
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 357
6. Network interface for communication with nodes - eth1 6. To verify that euca2ools are able to communicate with the
7. Eucalyptus cluster name – cluster1 UEC, try fetching the local cluster availability details shown in
8. Eucalyptus IP range - 192.168.4.155-192.168.4.165 [6]. Fig.4.
$ euca-describe-availability-zones verbose
6.2 Installing server 2
1. Boot the server off the Ubuntu Server 10.04 CD. At the
graphical boot menu, select “Install Ubuntu Enterprise Cloud"
and proceed with the basic installation steps.
2. Installation only lets us to set up the IP address for one
interface. Please do that for eth0 by setting up the private IP -
192.168.4.146.
3. Then choose certain configuration options for UEC, during
the course of the install. Ignore all the settings, except the
following:
4. Cloud Controller Address - 192.168.4.145
5. Cloud Installation Mode - Select “Node Controller"
6. Gateway - 192.168.4.145 (IP of the CC) [6]. Fig .4 Snapshot for list of Available Resources
6.3 Installing Client 1 7. If the free/max VCPUs are set as 0 in the above list, it means
that the node did not get registered automatically. Use the
The purpose of Client1 machine is to interact with the cloud following on Server1 and approve when prompted to add
setup, for bundling and registering new Eucalyptus Machine 192.168.4.146 as the Node Controller:
Images (EMI). $sudo euca_conf --discover-nodes [6].
1. Boot the Desktop off the Ubuntu Desktop 10.04 CD and
install. The Desktop will be on the enterprise network and will
obtain an IP address through DHCP. 7. Running Instances
2. Install KVM to help us to install images on KVM platform
7.1 Installing Cloud Images
and bundle them:
$apt_get install qemu_kvm [6]. No images exist by default in the Store (web Interface).
Running an instance or VM in the cloud is only based on
image. Images can be installed directly from Canonical online
6.4 Algorithm for Invoking the Web Interface cloud image store or we can also build custom image, bundle
it, upload and register them with the cloud. The “Store” tab in
1. Login to the web interface of CLC by using the following the web interface will show the list of images that are available
link https://192.168.4.145:8443. The default username is from Canonical over the internet [6].
“admin" and the default password is “admin".
2. Note that the installation of UEC installs a self signed
certificate for the web server. The browser will warn us about
the certificate not having been signed by a trusted certifying
authority. Authorize the browser to access the server with the
self signed certificate.
3. When you login for the first time, the web interface prompts
to change the password and provide the email ID of the admin.
After completing this mandatory step, download the credentials
archive from https://192.168.4.145:8443/ #credentials and save
it in the ~/.euca directory.
4. Extract the credentials archive:
$ cd .euca
$ unzip mycreds.zip
5. Source eucarc script to make sure that the environmental
variables used by euca2ools are set properly.
$ . ~/.euca/eucarc Fig.5. List of Images from Store
IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011
ISSN (Online): 1694-0814
www.IJCSI.org 358
7.2 Checking Images 7.5 Hybridfox
Hybridfox provide compatibility between Amazon Public
“euca-describe-images” is the command-line equivalent of
cloud and Eucalyptus Private Cloud [9]. Hybridfox tool is a
clicking the “Images” tab in the Eucalyptus administrative web
modified or extended elasticfox that enables us to switch
interface. This shows the emi-xxxxxx identifier for each
image/bundle that will be used to run an instance. seamless between different cloud clusters in order to manage
the overall cloud computing environment. Hybridfox can
$ euca-describe-images perform all the functions that can be done by elasticfox, on the
Eucalyptus Computing environment like Manage Images,
IMAGE emi-E088107E image-store-1276733586/ image. Raise and Stop Instances, Manage Instances, Manage Elastic
manifest.xml admin IPs, Manage Security Groups, Manage Key pairs and Manage
available public x86_64machine eki-F6DD1103 eri-0B3E1166 Elastic Block Storage[3].Running a different instance by using
IMAGE eri-0B3E1166 image-store-1276733586/ ramdisk. Hybridfox is shown below in the Fig.6.
manifest.xml admin
available public x86_64ramdisk
IMAGE eki-F6DD1103 image-store- 1276733586/ kernel.
manifest.xml admin
available public x86_64kernel
9. Conclusion
Cloud computing is an everlasting computing environment
where data are delivered on-demand to authenticated devices
in a secured manner and users utilize a shared and elastic
Infrastructure. This paper briefly explains the set up of a
private cloud in a cluster based environment using open source
Fig.7. Life Cycle of an Instance [6]. technologies like Eucalyptus, KVM, and euca2ools. The virtual
machine images are available in the cloud and upon user
request; its instances are created and run. Services were
8. Future Scope included successfully and made available to the user. The
current implementation of this paper provides Infrastructure as
Types of Services a service (IaaS) and Software as a Service (SaaS).
A cloud can provide service either to private or public cloud.
In public cloud, based on demand the services are provided to References
the client and in a private cloud the service is provided to a [1] Cloud Computing (2010), Wikepedia;en.wikipedia.org/
single client [10]. The combination of both public and private wiki/
cloud is called hybrid private cloud, here the private cloud is [2] Dr. Rich Wolski, (2010) Enterprise Cloud Control.
hosted in a public cloud. Services that are included to the cloud [3] Ezhil Arasan Babaraj, (2009), Driving Technology
setup are listed in Table.2. Direction on Cloud Computing Platform, Blog post;
Hybridfox: Cross of Elasticfox and Imagination, ezhil.sys-
con. com/.
[4] Glossary, (2010), MasterBase, www.en.masterbase.com/
support/ glossary.asp.
[5] Installing the Eucalyptus Cloud/Cluster/Storage Node on
Ubuntu Karmic 9.10 dustinkirkland, www.YouTube.com
[6] Johnson D, Kiran Murari, Murthy Raju, Suseendran RB,
Yogesh Girikumar (2010), Eucalyptus Beginner's Guide -
UEC Edition, CSS Open Source Services, UEC
Guide.v1.0. (Ubuntu Server 10.04 - Lucid Lynx).
Table.2. List of Services [7] Judith H, Robin B, Marcia K, and Dr. Fern H,
Dummies.com, Comparing-Public-Private-and-Hybrid-
cloud- computing. Wiley Publishing, Inc.2009.
8.1 Web Service [8] Kefa Rabah, (2010) Build Your Own Private Cloud Using
A user can access a web page from any computer connected to Ubuntu 10.04 Eucalyptus Enterprise Cloud Computing
Platform v1.2.
the cloud by using Apache web server. Install the Apache web
[9] Mitchell pronsc, (2009) Hybridfox: Elasticfox for
server in the instance and get accessed to the service.
Eucalyptus.
$sudo apt-get install apache2 [10] Partha Saradhi K S (2010), Types of Cloud Computing
8.2 Compiler as a Service Services, Information Security.
[11] Patrícia T Endo, Glauco E Gonçalves, Judith K, Djamel S
This service is provided to compile the c++file. Even if the
(2010), A Survey on Open-source Cloud Computing
client doesn’t have the compiler, it can be compiled with the Solutions, VIII Workshop em Clouds, Grids e Aplicações,
compiler available from cloud. The user is ssh’ed to the pp. 3-16.
instance with certain privileges and allowed to compile and see [12] Private cloud, (2008) SearchCloudComputing.com,
the result. Definitions; Whatls.com
$ssh cloud@<IP Address> [13] Simon Wardley, Etienne Goyer & Nick Barcet, (2009),
Installing gnu c++ compiler in an instance: CANONICAL ,Technical White Paper, Ubuntu
$sudo apt-get install build-essential Enterprise Cloud Architecture.