17-12-2012, 01:46 PM
Project Report On Fault Tolerance Model for EUCALYPTUS Private Cloud
1Fault Tolerance.doc (Size: 1.02 MB / Downloads: 45)
Introduction
Reliability and cost effectiveness are considered to be of paramount importance in current days. Concept of cloud computing has come as a respite for one and all. The whole idea of pay-per-use has caught the attention of the computer-savvy generation. This idea based on Real time examples such as electricity or water model
The technical definition would be,
“Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.”[1]
At present a lot of interest is being developed in the field of cloud computing, as a result all the IT giants want to get associated with it. Lot of capital and efforts are being invested in this venture.
Presently, Amazon[2] is one of the largest cloud service providers. Amazon Web Services (AWS)[3] is an offering which provides many facilities in this area. Apart from such Public cloud service providers, various Private cloud platforms are also available as a opensource or commercial, Some of open source private cloud platforms are – EUCALYPTUS[4], AbiCloud[5], Enamoly[6], Open Nebula[7], Nimbus[8], etc.
Motivation
The EUCALYPTUS Private Cloud has a Master-Slave kind of architecture in which, the Cloud controller along with the Cluster controller act as the master, while the various Node controllers act as their slaves. And as is the case with all systems having such architecture, it provides a single point of failure. That means if due to some reason, the CC or CLC fail, then the entire architecture will collapse.
The interim goal of this project is to build a fault toleranace architecture for the EUCALYPTUS private cloud, which can make the system tolerant to failures of various components like the CC, CLC or the NC.
Definition
Cloud computing is a style of computing in which virtualized and scalable computing resources are provided as a service over the Internet on a pay-per-use cost model with zero upfront capital cost and commitment. It comprises applications delivered as a service over the Internet by the hardware and system software that support such applications in a centralized data center. Today’s cloud computing offerings can be distinguished by the level of abstractions they export to the cloud users and the level of computing resource management.
Generally, cloud computing comprises applications delivered as a service over the Internet by the hardware and system software that support such applications in the data center. In essence, data center hardware and software is the cloud whilst services themselves are popularly known as Software as a Service (SaaS) From a hardware computing viewpoint, the cloud computing offers three new aspects hitherto unknown
Fundamentals
After a brief introduction, in this chapter we present an overview of the key technologies namely Cloud Computing, Virtualization, Private cloud platforms and a comparative study of various Linux distributions or flavors
The term “Cloud Computing”, refers to the users being able to use the software and data stored on remote systems owned by the cloud service providers, instead of being confined to using just their own. One of the benefits of Cloud Computing is that it has enabled many novel types of businesses which were previously thought economically infeasible.
Virtualization
What is Virtualization?
Virtualization technology is a way of making a physical computer function as if it were two or more computers, each nonphysical or “virtualized” computer is provided with the same basic architecture as that of a generic physical computer. In order to make a physical computer function as more than one computer, its physical hardware characteristics must be recreated through the use of software. This is accomplished by a software layer called abstraction. Abstraction software is used in many software systems, including inside the Windows operating system families. The Windows Hardware Abstraction Layer (HAL) is an excellent example of abstraction. The Windows HAL provides a common way for all drivers and software to talk to the hardware in a common/unified format. This makes the job of writing software and drivers easier because developers don’t have to write custom software for each brand or type of computer that they want their code to run on.
Kernel Based Virtual Machine (KVM)
Kernel-based Virtual Machine (KVM) is a Linux kernel virtualization infrastructure. KVM currently supports native virtualization using Intel VT or AMD-V. The first version of KVM was included in Linux 2.6.20 (February 2007). KVM has also been ported to FreeBSD as a loadable kernel module.
By itself, KVM does not perform any emulation. Instead, a user-space program uses the /dev/kvm interface to set up the guest VM's address space, feeds it simulated I/O and maps its video display back onto the host's. At least two programs exploit this feature: a modified version of Qemu and Qemu itself since version 0.10.