A Survey on Cloud Computing, Virtualization, Virtual Machine Migration, Live migration techniques
Yogesh Kumar Sharma Dr Ajay Shanker Singh
M.Tech (CSE), Galgotias University, India Galgotias University, India
Email: [email protected] Email: [email protected]
Abstract – As cloud computing is a new technology and one important feature of Cloud Computing is Virtualization refers to creating virtual machine having separate execution environment for operating systems running under the same hardware resource. One important feature of the virtualization is live virtual machine migration that allows the transfer of virtual machine from one physical host to another without interrupting the services running in virtual machine. Live migration is used for the purpose of work load balancing, fault tolerance, server consolidation, online system maintenance and resource scheduling. Virtual machine is controlled by virtual machine monitor (VMM) that is used to manage virtual machine execution and which virtual machine is to be selected for migration and how virtual machine is to be migrated. One’s migration decision done a caution need to be needed whether a virtual machine is to be transferred is free from attack. In this paper we discuss about a survey on Cloud Computing, Virtualization, Virtual Machine Migration, Live migration techniques.
Index Key: Cloud Computing, Virtualization, Virtual Machine Management, Live Migration Technique.
I. INTRODUCTION
Cloud computing includes providing hosted services over the Internet on demand. There is a need to safely analyse, share, store and manage large amounts of complex data. Cloud Computing is used for the purpose to offer the configurable computing resources (software, hardware, software, network) to the clients
A. Cloud Deployments Models
In this model, platform, networking, and software infrastructure and storage are provided as services that scale up or down depending on the demand as depicted in figure 1.
The Cloud Computing model has three main deployment models which are:
Private cloud:
It is set up within internal enterprise datacenter of an organization’s. In the private cloud, cloud vendors are pooled together and provide virtual applications and scalable resources and available for cloud users to share and use.
Private cloud is different from the public cloud because all the cloud resources and applications are managed by the organization itself. Private cloud can be much more secure than that of the public cloud because of its specified internal exposure. Designated stakeholders and Only the organization may have access to operate on a specific Private cloud [2].
Public cloud:
Public cloud describes cloud computing in the traditional mainstream imagination, whereby resources are dynamically provisioned on self-service basis over the Internet , fine- grained, ,via web applications/web services, that is provided by off-site third-party provider who shares bills and resources on a fine-grained utility computing basis. Public cloud is typically based on a pay-per-use model that is similar to a prepaid electricity metering system which is flexible enough to feed for cleat in demand for cloud optimization.[3] Public cloud places an additional burden of ensuring all applications and data accessed on the public cloud are not subjected to rogue attacks so Public clouds are less secure than the other cloud models.
Hybrid cloud:
Hybrid cloud is a cloud in which a private cloud is linked to one or more external cloud services, that is managed centrally and provisioned as a single unit, and circumscribed by a secure network [4]. It provides virtual IT solutions through a mix of both public and private clouds. Hybrid Cloud provides more security then private and public cloud to control of the data and applications and allows various parties to access data over the Internet. Architecture of the Hybrid cloud may be open that allows interfaces with other management systems.[5]
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) FIGURE 1: Cloud deployment model
B. Cloud Computing Service Delivery Models
The other security consideration relates to the various cloud computing service delivery models. There are three type of delivery model: (1).Infrastructure-as-a-Service (IaaS),
(2). Platform-as-a-Service (PaaS) (3). Software-as-a-Service (SaaS).
Infrastructure as a Service (IaaS)
Infrastructure as a Service is a single occupant cloud layer where the Cloud computing vendor’s dedicated resources are only shared with clients those have contract with vendors and also pay for use the resources.This plenty minimizes the need for huge initial investment in computing hardware such as networking devices, processing power and servers.
They also allow functional flexibility not found in internal data centers or with collocation services because computing resources can be added or released much more cost-effectively and quickly than in an internal data center and also allow varying degrees of financial. [6] IaaS completely abstracted the hardware beneath it and allowed users to consume infrastructure as a service without bothering anything about the underlying complexities.
Platform as a service (PaaS)
Platform-as-a-Service (PaaS) is a set of software and development tools hosted on the servers of providers. PaaS is one layer upper of IaaS on the stack and essences away everything up to OS and middleware, etc.[9] PaaS offers an integrated set of developer environment so that a developer can spout to build their applications without having any idea about what is going on beneath the service. It provides a
complete software development life cycle (SDLC) management, to building applications to deployment to testing to maintenance. Everything else is hidden away from the
“view” of the developers. . PaaS cloud layer works like IaaS but it provides an additional functionality.
Software as a Service (SaaS)
SaaS is a software distribution model in which set of applications are hosted by a service provider and made available to the users over a network. SaaS is becoming an accrescent popular delivery model as underlying technologies that service-oriented architecture (SOA) mature, new developmental
approaches
support web services become popular. SaaS is mostly implemented to provide business software functionality to enterprise customers at a low cost while allowing those customers to obtain the same benefits of , support commercially licensed, licensing, management, internally operated software without the associated complexity of installation, and high initial cost. The architecture of SaaS- based applications is specifically designed to support more users (concurrency) at once[7].FIGURE 2: Cloud Computing Service Delivery Models
II. VIRTUALIZATION CONCEPTS AND ARCHITECHTURES
A. Virtualization
Virtualization is a framework of dividing the resources of a computer hardware into more then one execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, partial or complete machine simulation, time-sharing, emulation, quality of service
.
Figure 3: Basic Architecture of Virtualization Virtualization is also known as system abstract, in which a layer of virtualization logic manages and provides virtualized resources to a client layer running just above to it. Here the client accesses resources using standard interfaces, but the standard interfaces do not communicate with the resources directly and the virtualization layer manages the real resources only and where possible multiplexes them among more than one clients. Virtualization is referred as combination of software and hardware engineering which creates Virtual Machines (VMs). An abstraction of the computer hardware allows a single machine to act as if it where many machines [10].
a. Without VMs: A single OS owns all hardware resources b. With VMs: Multiple OS‘s, each running its own virtual machine, share hardware resources
c. Virtualization enables multiple operating systems to run on the same physical platform
B. DIFFERENT TYPES OF VIRTUALIZATION
a. Server Virtualizationb. Storage Virtualization
c. Desktop / Client Virtualization d. Network Virtualization e. Application Virtualization
(a) Server Virtualization:
In virtualization industry Server virtualization is the most active segment featuring established companies such as Microsoft VMware and Citrix. A server is known as virtualized server when a single physical computing machine is made as multiple virtual machines. Each VM has its own, memory, peripheral interfaces, virtual CPU and is capable of
running its own OS by maintaining operational isolation and keeping security intact.
(b) Storage virtualization:
Storage virtualization is about the pooling of multiple
physical storage resources in that it appears to be a single storage resource that is centrally managed. Storage virtualization is generally used in, storage area network (SANS), switches, file systems and virtual tape systems.
(c) Desktop virtualization:
Desktop Virtualization Creates a separate OS environment over and above the existing running OS on the desktop. It allows only to LOB application or non compatible legacy to operate within a more current desktop OS.
(d) Network virtualization:
In a networking environment Network virtualization proposes to decoupling of functionalities by separating the role of the traditional Internet Service Providers (ISPs) into two parts as infrastructure providers (InPs), who manage the physical infrastructure only and service providers (SPs), who create virtual networks by aggregating resources from multiple infrastructure providers and offer end-to-end network services
(e) Application virtualization:
This method is referred to provide a specific application to an end user that is virtualized from the desktop OS and which is not installed in a traditional manner. An application can be installed and could be executed locally within a container that controls to interacts with other system and application components. instead, an application can be isolated in its own virtualized "sandbox" to prevent interaction with other system and application components. beside this an applications can be streamed across a network. an application could be also delivered across the network to a web browser with most processing executed on a centralized web server. Application virtualization acts to separates the application layer from the OS in a desktop environment which reduce application conflicts. with the help of this users can centrally manage patches and upgrades and accelerate the deployment of new applications. It also reduces the licensing costs [13].
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) (Figure 4)
III. VIRTUAL MACHINE MANAGAMENT:
A. Virtual machine
One important feature of the virtualization is live virtual machine migration that allows the transfer of virtual machine from one physical host to another without interrupting the services running in virtual machine. Live migration is used for the purpose of work load balancing, fault tolerance, server consolidation, online system maintenance and resource scheduling. Virtual machine is controlled by virtual machine monitor (VMM) that is used to manage virtual machine execution and which virtual machine is to be selected for migration and how virtual machine is to be migrated.
(
Figure 5)B. VIRTUAL MACHINE MONITOR TYPES
VMMs is a special type of software which is designed between VMs and server hardware/software. VMMs are of three basic types: Type1 VMM
that are deployed between server hardware and VMs. In this type there is no ServerOS installed on server. It runs top of the hardware and also control hardware and manage guest OS
.
(
Figure 6)
Type2 VMM,
that are deployed between server OS and VMs. This type of hypervisor will be used for work load balancing, since in this approach the resources are shared by both server OS and VM for other side process executions. It also provides optimization for server hardware/software/I/O and resource scheduling.(
Figure 7)
Type 3 VMM,
also known as Hybrid VM. These VMMs are combination of Type 1 and Type 2 in which server OS works individually for its process execution and resource management while certain server hardware resources are allocated to VMM for their execution.(
Figure 8)VMMs through its devoted software components, keeps the records of all loads – memory usage, storage usage of individual VMs; helps in server‟s resource management – CPU, memory, I/O device sharing by VMs; maintain a log for server‟s CPU load and memory usage; provides an interface to configure hardware/software based load balancing strategies to manage VMs loads on server resources etc.
IV. LIVE MIGRATION TECHNIQUE
Migration Techniques involves migration of CPU, memory states, hardware device states running VM from one host to another. Migration technique differs in order of state transfer.
a) Stop and Copy:
In stop and copy mechanism, running virtual machine on one host is halted using SAVE command , hardware states and memory states and CPU content is stored in an image file. This image file is then transferred to another host using any secure mechanism where it is restored to resume normal processing using RESTORE command.Meanwhile state of VM remains halted. Its cost is large migration and downtime.
b) Pre-copy Migration:
Most hypervisors like xen, kvm, vmware uses pre-copy migration approach. It is a simple approach where memory pages are transferred initerative fashion; if memory page got dirty then it will again transfer in next iteration. This process continues until small amount of pages are left which will be transferred as stop and copy phase.Benefit is reduced downtime as memory pages residesin another host before the VM relocation.
c) Post Copy:
VM migration is initiated by suspending the VM at the source. With the VM suspended, a minimal subset of the execution state of the VM (CPU registers and nonpageable memory) is transferred to the target. The VM is then resumed at the target, even though most of the memory state of the VM still resides at the source. At the target, when the VM tries to access pages that have not yet been transferred, it generates page-faults. These faults are trapped at the target and redirected towards the source over the network As inwarm up phase, each and every page need to be copied While machine is still running. There may be multiple Applications running simultaneously at this running VM. Therefore, securities of memory pages transfer become issue .If it is unencrypted, then memory pages can easily be intercepted through any network cryptanalyst attack as all these pages will be travelling through unsecure channel. Manin-middle attacker can easily intercept and read the memory contents of pages.
There exist needs of creating a secure channel through which all these memory pages will travel and are kept away from the reach of network attackers.
V. CONCLUSION
As cloud computing is a new technology, there are a number of challenges faced by various researchers in Virtualization. In this paper, we have discussed an overview of Cloud Computing, Virtualization, Virtual Machine Migration, Live migration techniques.
VI. ACKNOWLEDGEMENT
I would like to thank and acknowledge Prof.(Dr.) Ajay Shanker Singh program chair B.Tech (CSE + IBM) GALGOTIAS UNIVERSITY, G.NOIDA (INDIA) for supporting the research work.
REFERENCES
[1] Rakhi k Raj, Getzi Jeba Leelipushpam.P,LIVE VIRTUAL MACHINE MIGRATION TECHNIQUES – A SURVEY, International Journal of Engineering Research & Technology (IJERT) Vol. 1 Issue 7, September – 2012.
[2] Dooley B, ‘Architectural Requirements Of The Hybrid Cloud’Information Management Online, viewed 10 February 2010.
[3] A Platform Computing Whitepaper, ‘Enterprise Cloud Computing:Transforming IT’, Platform Computing, pp6, viewed 13 March 2010.
[4] Global Netoptex Incorporated , Demystifying the cloud.
Important opportunities, crucial choices, viewed 13 December 2009.
[5] Lofstrand M, ‘The VeriScale Architecture: Elasticity and Efficiency for Private Clouds”, Sun Microsystems, Sun
International Journal of Advanced Engineering Science and Technological Research (IJAESTR) BluePrint, Online, Part No 821- 0248-11, Revision 1.1,
09/22/09
[6] Brodkin J, ‘Gartner: Seven cloud-computing security risks’, Infoworld, viewed 13 March 2009.
[7] Klems, M, Lenk, A, Nimis, J, Sandholm T and Tai S
‘What’s Inside the Cloud? An Architectural Map of the Cloud Landscape’, viewed 21 June 2009.
[8] Philip Reames, Ellick Chen, A Hypervisor for Embedded Computing, Illinois journal of undergraduate research (spring 2007).
[9] Ritesh Chaurasia, IJSRE Volume 2, Issue 6 June 2014.
[10] Michail D. Flouris, Extensive networked-storage virtualization with Metadata management at the block level, PhD Thesis, University of Toronto (2009).
[11] N.M.M.K. Chowdhury, R.Boutaba, Network virtualization: state of the art and research challenges, IEEE Communications Magazine 47(7) (2009) 20-26.
[12] Gurujit Singh Bhathal, G N Singh, A Comparative Study of Application Portability with Virtualization Software‘s.
International Journal of Computer Science & Communication 1(2) ( July-December 2010) 83-85.
[13] Bhaskar Prasad Rimal, Eunni Choi, Ian Lumb “a taxonomy and Survey of Cloud Computing Systems” 2Fifth International Joint Conference on INC, IMS and IDC 2009.
[14] Dhruv Garg et al., International Journal of Advanced Research in Computer Science and Software Engineering 3(6), June - 2013.
[15] Yamuna Devi, Aruna P., Sudha Devi D., Priya N., Security in Virtual Machine Live Migration for KVM, IEEE, 2011.
[16] Hines M., Gopalan, K., “Post-copy based live virtual machine migration using adaptive pre-paging and dynamic self-ballooning.”, in Proc. ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 51–60, ACM, 2009.
[17] Jyoti Shetty, Anala M R, Shobha G, A Survey on Techniques of Secure Live Migration of Virtual Machine, International Journal of Computer Applications (0975 – 8887) Volume 39– No.12, February 2012.
[18] Anupam Tamrakar, Security in Live Migration of Virtual Machine with Automated Load Balancing, International Journal of Engineering Research & Technology (IJERT) ISSN:
2278-0181, Vol. 3 Issue 12, December-2014.