Implementation of Private Cloud Using Eucalyptus and An Open Source Operating System
Implementation of Private Cloud Using Eucalyptus and An Open Source Operating System
Nandan Mirajkar1, Mohan Barde2, Harshal Kamble3, Dr.Rahul Athale4, Kumud Singh5 Department of Advanced Software and Computing Technologies IGNOU I2IT Centre of Excellence for Advanced Education and Research Pune, Maharashtra 411 057, India Department of Advanced Software and Computing Technologies IGNOU I2IT Centre of Excellence for Advanced Education and Research Pune, Maharashtra 411 057, India
3 Department of Advanced Software and Computing Technologies IGNOU I2IT Centre of Excellence for Advanced Education and Research Pune, Maharashtra 411 057, India 4 2 1
Sunflower Information Technologies Pvt. Ltd Pune, Maharashtra 411 016, India
5 Systems Department IGNOU I2IT Centre of Excellence for Advanced Education and Research Pune, Maharashtra 411 057, India
Abstract
Cloud computing is bringing a revolution in computing environment replacing traditional software installations, licensing issues into complete on-demand services through internet. Microsoft office 365 a cloud based office application is available to clients online hence no need to buy and install the software. On Facebook a social networking website, users upload videos which uses clo ud providers storage service so less hardware cost for clients.Virtualization technology has great contribution in advent of cloud computing. Paper describes implementation of Private Cloud using open source operating system Ubuntu 10.04 server edition, installation of Ubuntu Enterprise Cloud with Eucalyptus 1.6.2 and providing CentOS 5.3 operating system through cloud.
Visual Studio .Net to clients through internet. Software as Service SaaS enables service provider to give softwares like Enterprise Resource Planning (ERP), Customer Relationship Management (CRM) to users. CRM is still the largest market for SaaS with revenue to reach as predicted $3.8b in 2011, up from $3.2b in 2010 [6]
1. Introduction
Cloud computing is a model for enabling ubiquitous (present everywhere), convenient, on-demand network access to a shared pool of configurable computing resources e.g., networks, servers, storage, applications, and services that can be rapidly provisioned and released with minimal management effort or service provider interaction [1]. Types of Cloud computing models are Public cloud, Private cloud and Hybrid cloud. In Public cloud the resources are provided over internet to all clients. In Private cloud resources are provided over intranet within an organization. Hybrid cloud is a provision depending on requirement can provide resources within an organization or publicly [7].Types of services in cloud computing include IaaS, SaaS and PaaS. In IaaS i.e Infrastructure as a service the virtual machines, raw (block) storage, firewalls, load balancers, and networks are offered which will navigate to provide cloud based services to clients. PaaS Platform as service is a way to provide platforms like operating systems, application development platforms e.g Microsofts
2. Virtualization
Infrastructure as Service IaaS is base in cloud environment which provides Virtualization setup to create multiple workstations. In computing, virtualization means to create a virtual version of a device or resource, such as a server, storage device, network or even an operating system where the framework divides the resource into one or more execution environments [2] Hypervisor, also called virtual machine manager (VMM), is one of many hardware virtualization techniques allowing multiple operating systems, termed guests, to run concurrently on a host computer [15]. Bare-metal hypervisor is a thin layer of software that provides virtual partitioning methods, runs directly on hardware E.g are Citrix XenServer, VMware ESX/ESXi. Hosted is a virtualization technique where partitioning and virtualization services runs on top of a host operating system[3] E.g KVMKernel based Virtual Machine,VMware Player and VirtualBox.
3. Eucalyptus
Eucalyptus stands for Elastic Utility Computing Architecture for Linking Your programs to Useful Systems. Eucalyptus is a research project under direction of Prof. Rich Wolski, Computer Science Department at the University of California, Santa Barbara, USA [6]. Now Eucalyptus is open source software used to create and manage a private or public cloud. Similar to Amazons Elastic compute cloud EC2 Eucalyptus provides a cloud controller. Storage is Walrus which is similar to Amazons S3 Simple Storage Service. Storage controller of Eucalyptus incorporates functionality of Elastic Block Storage EBS of Amazon. Cloud controller allows users and administrators to enter into cloud, for availability of resources it deals with node managers and acts as scheduler. Cluster controller schedules run-instance requests to particular node controllers and manage virtual instance network. Walrus is used to stream data in and out of cloud also from instances started on nodes. Virtual machine images can be stored and accessed using walrus. Storage controller manages dynamic block storage services. Node controller manages Virtual machine instances with the help of hypervisor [7].
Full virtualization provides a complete simulation of underlying computer hardware, enabling software to run without any modification. Because it helps maximize the use and flexibility of computing resources, multiple operating systems can run simultaneously on the same hardware, full virtualization is considered a key technology for cloud computing. For cloud computing systems, full virtualization can increase operational efficiency because it can optimize computer workloads and adjust the number of servers in use to match demand, thereby conserving energy and information technology resources [4]. For Full virtualization emulation packages like VMware Server & Virtual Box are used. Para virtualization is a method for the hypervisor to offer interfaces to the guest operating system that the guest operating system can use, instead of the normal hardware interfaces. If a guest operating system can use paravirtualized interfaces, they offer significantly faster access for resources such as hard drives and networks [14]. Examples are Microsoft HyperV and VMware ESX Server.
12. Install grub boot loader to master boot loader: yes[8] Also install KVM on server1 which helps to install images and bundle them. $ sudo apt-get install qemu-kvm [9]
$ scp euca2-admin-x509.zip /home/cladmin/ 2. Create a hidden folder euca on the server1: cloud controller and extract the zip file here. $ mkdir ~/.euca $ cd ~/.euca $ unzip /home/cladmin/euca2-admin-x509.zip 3. Remove the zip file for security reasons and apply permissions to the .euca folder and its contents. $ rm ~/euca2-admin-x509.zip $ chmod 0700 ~/.euca $ chmod 0600 ~/.euca/* 4. Add following line to the ~/.bashrc file on the cloud controller so that necessary environment variables are initialized upon login. $ echo . ~/.euca/eucarc >> ~/.bashrc 5. Now source the .bashrc file to make sure settings take effect. $ source ~/.bashrc [8] 9. Now install euca2ools if not installed, to communicate with the UEC $ sudo apt-get install euca2ools 10. To check euca2ools is working try to get cluster1 availability details. $ euca-describe-availability-zones verbose[8][13]
-i
11. If the free/max VCPUs are 0000/0000 in figure 6 list it means node did not detect cloud controller during installation and in cloud controller, node is not registered automatically. On server 1: cloud controller using following command add 192.168.0.222 as node controller: $ sudo euca_conf --discover-nodes [5]
Download the credentials euca2-admin-x509.zip on cloud controller. 1.Copy credentials euca2-admin-x509.zip to /home/cladmin folder on the cloud controller.
Fig 7: Images
Download images from Extras tab in UEC 1. Registering kernel image Execute the following commands to bundle and register the kernel image (vmlinuz-2.6.28-11-server): $ euca-bundle-image -i vmlinuz-2.6.28-11-server --kernel true $ euca-upload-bundle -b mybucket -m /tmp/vmlinuz-2.6.28-11server.manifest.xml $ euca-register mybucket/vmlinuz-2.6.28-11-server.manifest.xml IMAGE eki-68101303 2. Registering ramdisk image Execute the following commands to bundle and register the ramdisk image (initrd.img-2.6.28-11server): $ euca-bundle-image -i initrd.img-2.6.28-11-server $ euca-upload-bundle -b mybucket -m /tmp/initrd.img-2.6.28-11server.manifest.xml $ euca-register mybucket/initrd.img-2.6.28-11server.manifest.xml IMAGE eri-A26613DD 3. Registering disk image Execute the following commands to bundle and register the disk image (centos.5-3.x86.img): $ euca-bundle-image -i centos.5-3.x86.img --kernel eki-68101303 --ramdisk eri-A26613DD $ euca-upload-bundle -b mybucket -m /tmp/centos.53.x86.img.manifest.xml $ euca-register mybucket/centos.5-3.x86.img.manifest.xml IMAGE emi-F62F1100 [5] 4. The new images that have been uploaded can be seen by using following command. $ euca-describe-images
4.8 Elasticfox
Elasticfox is an open source Mozilla Firefox extension that works on Firefox Version 2.0 or later to help managing Amazon EC2. This was originally made for EC2 but from version 1.7, Elasticfox added Eucalyptus support as well, because API of Eucalyptus is compatible with that of EC2. Features of Elasticfox 1. List available Machine images (AMIs in the case of AWS and EMIs in the case of Eucalyptus) 2. List running instances 3. Launch new instances of an AMI/EMI 4. Manage security groups and rules 5. Manage Snapshots/EBS volumes[5] $ euca-describe-instances RESERVATION r-518808F3 admin default INSTANCE i-3D7307B3 emi-F62F1100 192.168.0.73 172.19.1.4 running 123 0 m1.large 2012-0229T10:55:07.374Z cluster1eki-68101303 eri-A26613DD
Fig 8b: Screenshot of Images
RESERVATION r-32B7071F admin default INSTANCE i-45A1094E emi-F62F1100 192.168.0.71 172.19.1.3 running mykey 0 m1.small 2012-02-29T10:05:10.04Z cluster1eki-68101303 eriA26613DD Now lets observe the above output in an Elasticfox as follows.
[12] PowerEdge R715, Technical Guide Copyright 2011 Dell Inc. All rights reserved. [13] https://help.ubuntu.com/community/UEC/CDInstall [14] Karen Scarfone, Murugiah Souppaya, Paul Hoffman Guide to Security for Full Virtualization Technologies NIST Special Publication 800-125 January 2011. [15] http://en.wikipedia.org/wiki/Hypervisor
First Author: He is pursuing M.Tech in Advanced Information Technology with specialization in Software Technologies from IGNOU I2IT Centre of Excellence for Advanced Education and Research, Pune, India. He is also Teaching Assistant in Advanced Software and Computing Technologies department.He has pursued B.E Electronics and Telecommunications from University of Mumbai. His research interests include Cloud computing, Databases and Networking. Second Author: He is pursuing M.Tech in Advanced Information Technology with specialization in Software Technologies from IGNOU I2IT Centre of Excellence for Advanced Education and Research, Pune, India. He was Lab Assistant in Advanced Software and Computing Technologies department.He has pursued B.E Information Technology from University of Nagpur. His research interests include Operating systems, Programming languages and Cloud computing. Third Author: He is pursuing M.Tech in Advanced Information Technology with specialization in Software Technologies from IGNOU I2IT Centre of Excellence for Advanced Education and Research, Pune, India. He has pursued B.E Information Technology from University of Mumbai. His research interests include databases and cloud computing. Fourth Author: He pursued Ph.D. from University of Linz Austria. He is Vice President Sunflower Information Technologies Pvt. Ltd Pune, India. He was faculty(Adjunct) in IGNOU I2IT Centre of Excellence for Advanced Education and Research, Pune, India. His research interests include Mathematics, Business Intelligence, Parallel computing and Cloud computing. Fifth Author: He is Senior Executive IT Infrastructure Services in IGNOU I2IT Centre of Excellence for Advanced Education and Research Pune, Maharashtra, India. He pursued BCA from GIMT Delhi, India. His key interests are in Virtualization and Network security.
4.9 Instances
At launch, Instances are in pending state after some time they are in running state at this state client can use the CentOS operating system. An instance to get terminated it first enters into shuttingdown state then it terminates[5]
5.0 Conclusion
In this way paper describes implementation of a private cloud for an organization providing Infrastructure as a service (IaaS) and providing operating system as Platform as a service (PaaS). Cloud computing will bring flexibility in IT services in coming decade.
References
[1] Peter Mell & Timothy Grance The NIST Definition of Cloud Computing National Institute of Standards and Technology Special Publication 800-145 September2011 [2] http://www.webopedia.com/TERM/V/virtualization.html [3] VMware white paper, http://www.vmware.com/pdf/virtualization.pdf [4] http://www.nist.gov/itl/csd/virtual-020111.cfm [5] Johnson D, Kiran Murari, Murthy Raju, Suseendran RB, Yogesh Girikumar, Eucalyptus Beginner's Guide UEC Edition,(Ubuntu Server 10.04 - Lucid Lynx) v1.0, 25 May 2010 [6] http://en.wikipedia.org/wiki/Cloud_computing [7] Dr.G.R.Karpagam, J.Parkavi Setting up of an Open Source based Private Cloud IJCSI International Journal of Computer Science Issues, Vol. 8, Issue 3, No. 1, May 2011. [8] Louis Danuser (AT&T Labs, Inc.) Deploying an Open Source Private Cloud On a Shoe String Budget Presentation, http://www.oscon.com/oscon2010/public/schedule/detail/14744 [9] https://help.ubuntu.com/community/KVM/Installation [10] http://wiki.smartos.org/display/DOC/SmartOS+Virtualization [11] http://www.katescomment.com/iaas-paas-saas-definition/