Virtual Machine Migration Strategy in Cloud Computing

5 downloads 23989 Views 214KB Size Report
Virtual Machine Migration Strategy in Cloud Computing. S. Liyanage. School of Computing and Information Systems. Kingston University. Kingston upon ...
2015 14th International Symposium on Distributed Computing and Applications for Business Engineering and Science

Virtual Machine Migration Strategy in Cloud Computing

S. Liyanage School of Computing and Information Systems Kingston University Kingston upon Thames, United Kingdom

S.Khaddaj, J. Francik School of Computing and Information Systems Kingston University Kingston upon Thames, United Kingdom

Abstract— In a typical cloud based data centre, several

be installed and run [5]. In Cloud Computing, applications and services are hosted on Virtual Machines that span over several physical servers with dedicated resources ( CPU cores, RAM, Disk Space, etc) are allocated to these VM in order to closely match the applications needs. Virtualisation provides many benefits, such as resource utilization, portability, application isolation, reliability, higher performance, improved manageability and fault tolerance [5]. Live migration is a very important feature of virtualisation where a running VM is seamlessly moved between different physical hosts. Source VM’s CPU state, storage, memory and network resources can be completely moved to a target host without disrupting the client or running applications. However, live VM migration can consume significant bandwidth (500 Mb/s for 10 seconds for a trivial web server VM), so these non-negotiable overheads need to be considered when scheduling migration [1]. Higher workload density in combination with network bandwidth intensive migration can lead to network congestion. To secure the bandwidth for VM migration, it’s necessary to control user traffic, if we can find a mechanism to predict bandwidth that required for VM migration on the source Physical Machine (PM), and then limiting the user traffic on both source and destination PM, it can guarantee the minimum bandwidth that required to execute VM migration and will avoid network bottlenecks. Given the above analysis, the main objective of this research is to investigate and design a decentralized bandwidth aware autonomic intelligence framework for live VM migration to manage the workload of physical servers. This paper starts with a brief discussion of the background of virtual machine migration techniques, particularly in terms of memory and disk migration and the impact on physical machine load and bandwidth. This is followed by a presentation of the main architecture of the proposed framework. Finally, a summary of the finding is presented.

physical machines (PM) host dozens of virtual machines (VM), which run various applications and services. VM load varies according to the different type of users’ applications and traffic, and sometime this traffic may overwhelm VM’s resources. Physical machines that host many VMs have limited capacity and if they are overloaded their performance might degrade or completely fail. A VM machine that hosts several different applications on a heavily loaded PM can be migrated to another underloaded PM in order to exploit the availability of the resources and to balance the load. In data centres, VMs exposed to huge amount of user traffic, if VM migration occurs on a network link that is overwhelmed with user traffic, then it will create a bottleneck if there’s not enough bandwidth on the link to support the VM migration. Therefore, there is a clear need for mechanisms to control user traffic on both source and destination PMs in order to provide guaranteed bandwidth that needed for VM migration. Keywords- Virtual Machine (VM), Physical Machine (PM), VM Migration, Load Balancing, Cloud Computing

I.

INTRODUCTION

Cloud computing has revolutionized the IT industry in recent years. Cloud Computing is a paradigm where processing, storage, and network capacity are made available to users in an on demand manner through virtualisation on a shared physical infrastructure. The Cloud Computing concepts are based on distributed, parallel and grid computing coupled with virtualisation [10]. There are three basic service modules in the Cloud Computing, Software as Service (SaaS), Platform as a Service (Paas), and Infrastructure as a Service (IaaS). Today many organisations are experiencing the benefits of Cloud Computing, they build out private clouds using various tools such as VMware or OpenStack, and establish online services that are not limited to internal users, but outside their firewalls as well. Cloud computing provides a number of large computing infrastructures for large scale data centers, which contain dozen of physical nodes with multiple virtual machines running on them. These VMs could also be migrated across different physical nodes on demand to achieve various goals. Modern day cloud based datacenters contain hundreds of virtual servers that host different critical applications ranging from those that run for a few seconds to those that run for longer periods of time, some popular cloud based applications are MS Office 365, dropbox, CRM software Salesforce.com, meanwhile cloud based Netflix stream movies and TV programs to members across the world [4].

II.

Cloud computing based on virtualisation and utility computing concepts, virtualisation enables multiple and secure virtual servers to run on a single physical server. Virtualisation technology was implemented on IBM mainframe in 1960, and it is the key concept behind cloud computing. In virtualisation, the Virtual Machine Monitor (VMM) also called Hypervisor, which is a software layer that provides resources to emulate a hardware interface for VM to run on. VMM runs on bare hardware or on top of an operating system [6]. There are two types of hypervisors, type 1 and type 2, Type 1 hypervisors run directly on machine’s hardware with VM resources provided by the hypervisor. Type 2 hypervisors run on a host operating system to provide virtualisation services. In this research we only focus on type 1 hypervisors, e.g. VMware ESXi and CitrixXenServer [9].

Virtualisation is the key enabling technology of Cloud Computing that allows simultaneous execution of diverse tasks over a shared hardware platform. Virtual Machine (VM) is a software implementation of a computing environment in which an operating system or program can

978-1-4673-6593-2/15 $31.00 © 2015 IEEE DOI 10.1109/DCABES.2015.44

VM MIGRATION TECHNIQUES

Live VM migration is a technique that migrate the entire system of a VM, including OS, memory, storage, process and network resources 147

page is copied across to the destination. Most migration strategies select either one or two of the above phases, pre copy approach combines push with stop-and-copy phase while post-copy approach combines pull copy with stop-and-copy [3]. To help understand the VM memory migration, VM memory is categorised into five major categories [8].

and also its associated applications from one physical machine to another without disrupting the client or running applications [7].

Disk State Migration: Disk state migration of VM is an important factor of VM live migration; it involves transferring the VM’s virtual hard disk from source to the destination host. Virtual machine consists of one or several virtual hard disks; VM stores its operating system, programs and other data files on its virtual hard disks, so these virtual hard disks need also to migrate when live VM migration occurs. There are two main live storage migration techniques that migrate VM disk images without service interruption. The techniques are, Dirty Block Tracking (DBT) and IO Monitoring, DBT is the widely adopted technique by many VM vendors (e.g. Xen and VMware ESX), it uses bitmap to track write request while the VM image is been copied. Once the entire image is being copied to the destination, a merge process is initiated to patch all the dirty blocks from the original image to the new. The disadvantage of this technique is if number of dirty blocks are not converged due to heavy write request, the migration of VM would be significantly long [11]. The following factors must be considered when performing live VM migration, which are memory, disk and network resources. There are two main methods of migrating a VM, offline migration (cold VM migration) and online/live migration (hot VM migration), in offline VM migration, the services running on VMs are completely stopped during the migration process while live migration method keep all services running on VMs .

Figure 1 Load balancing Migration [7]

III.

Migration Techniques There are three main categories of migration techniques as follows, [7]:

• • •

THE PROPOSED FRAMEWORK

The proposed Bandwidth Aware Dynamic Virtual Machine (VM) Migration Framework is aiming to provide two services, working as a load balancer, and facilitating required bandwidth for live VM migration by controlling user traffic dynamically on Physical Machines (PM) at peak times. Live VM migration consumed significant amount of bandwidth, generally PMs in large cloud data centers are connected to networks that have higher bandwidth, but some applications which are running on PMs may experience huge user traffic during peak times, if VM migration occurs during those peak times, VM migration and user traffic will compete for network bandwidth, then datacentre’s network may not have enough resources to support both VM migration and demands of application users, which would create a bottleneck in the network. The proposed framework will dynamically control user traffic on busy physical servers and facilitate the minimum required bandwidth for VM migration during peak times, it will schedule VM migration in an efficient manner.

Energy Efficient Migration Load Balancing Fault Tolerance Migration

The main idea behind Load Balancing VM technique is to distribute load across all physical servers in order to avoid bottlenecks, improve availability and over or under provisioning of resources (figure 1.). In Energy Efficient VM Migration energy is conserved by migrating VMs from low utilised servers to servers that have enough capacity to host them, and then the low utilised servers can be shutdown to save energy in the data center. Fault Tolerance VM Migration aims to predict a physical machine failure beforehand and migrate all VMs from failing physical server to another physical server, this technique improves availability in cloud based data centers. However, no matter what algorithms or techniques are used for the migration process, it will involve VM memory migration, Disk migration etc.

VM live migration can be helped to provide seamless connectivity and minimal downtime for users. The proposed framework will also work as a load balancer. Physical servers in cloud data centers have limited resources and it may vary according to the workload of the particular PM, some PMs may get huge amount of workload while some get very low user traffic. The proposed framework will have a complete picture of all PMs’ available resources and workload, it will dynamically trigger VM migration from overloaded machines to underloaded machines to balance the load of physical machines. The dynamic load balancing strategy will reduce the differences among all nodes by migrating VMs from heavily loaded PMs to lightly loaded machines.

VM Memory Migrations: In live VM migration, the most important phase is transferring source VM memory state to the destination VM. Memory migration can be divided into three phases, push phase, stopand-copy phase, and pull phase. According to Botero [3] in push phase, the source continues running while certain pages are pushed across the network to the new destination. In Stop-and-copy phase, the source VM stopped, pages are copied across to the destination, and then the new VM started. In pull phase, the new VM starts its execution and if it access a page that has not yet been copied, then the

148

Figure 2: The proposed Framework

The proposed framework architecture is equipped with two main components, Central Controller and Local Controller. The Central Controller deployed on the controller physical node along with the local controller. There is only one central controller for a cluster. On the other hand the Data Collector & Distributor is responsible for fetching data from the central database and distributes it to the relevant components in the framework, and also saving central controllers data on the central database. The load balancer is responsible for balancing the load on physical machines in the data center, it resides in the Central Controller and it’s responsible for making following decisions:

Each PM periodically executes the overloaded detection algorithm to find out overloaded PMs in the datacentre, the algorithm will be based on setting a static CPU and memory utilization threshold to detect overloaded PMs. When the algorithm invoked, it compares the current CPU and memory utilisation of the host PM with the defined threshold. Algorithm detects an overloaded PM if the utilisation of PMs’ resources (CPU usage and Memory usage) is exceeded over 90 % of the total PM resources. The PMs underloaded algorithm works in a similar way to the overloaded PM algorithm. It detects an underloaded PM by searching for a host for VM migration and it chooses the first available host that has total resources threshold under 50 % of

• • • •

PM’s total resources. If algorithm can’t find a host that has not reached 50 % resources threshold, then the algorithm finds a host with minimal utilisation of resources compared with other PMs in the cluster.

Detection of overloaded PMs Detection of underloaded PMs Selection of best VMs to migrate Selection of best hosts for migrating VMs

149

IV.

Once the overloaded detection algorithm finds an overloaded host, it invoked an algorithm to find best VMs to offload from the host. An example is using the Minimum Migration Time Policy (MMTP) algorithm to find the best VM/VMs to offload from the host [2]. Once it selected the VMs that need to be migrated, it saves a copy of the list in the database and send a request to the VM Migration Scheduler. The rest of the framework components are described below.

In this work a framework for the management of virtual machines migration and allocation to PM that is based on resource usage and network bandwidth is proposed. At the core of the framework is the load balancer and the bandwidth monitor and predictor. It is a comprehensive framework for virtual machine migration in a cloud environment, particularly with heterogonous physical machines. The proposed framework and the underlying algorithms can be modelled and simulated in environment such a CloudSim which will be considered in future work.

Bandwidth Predictor: It is responsible for calculating available total bandwidth in the network and minimum bandwidth that need for VM migration. User Traffic Controller: It is responsible for controlling user traffic on the network in order to facilitate required minimum bandwidth for VM migration. This component does following calculations: • • •

CONCLUSION AND FUTURE WORK

REFERENCES [1] Alexandar.S, Setzer.Z.Network Aware Migration Control and Scheduling of Differentiated Virtual Machine Workloads.Technicle University of Munich. 2009 [2] Beloglazov.A. “Energy – Efficient Management of Virtual Machines in Data Centers for Cloud Computing.2013. University of Melbourne. [3] [3] Botero.D.P.A “ Brief Tutorial on Live Virtual Machine Migration from Security Prespective”.2012.Prenceton University .New Jersy. [4] Forbes.com.20 Most Popular Cloud Based Apps Downloaded in to Entrprises.Mckendrick.J.Available at:http://www.forbes.com/sites/ joemckendrick/2013/03/27/20-most-popular-cloud-basedapps-downloaded-into-enterprises/ [ Accessed 26.06.2014] [5] [5Kapil.D, Emmanuel S, Plli, Ramesh.C.J.”Live Virtual Machine Migration Techniques:Survey and Research Challenges. 3rd IEEE International Advanced Computing Conferece, pp 363-368.2012. [6] King.S.T,George.W,Dunlap.W, Chen.P.M.” Operating System Support for Virtual Machines.Proceeding of the 2003 USENIX Technical Conference. 2003 [7] Leelipushpam.P.G.J , Shermila.J.”Live Migration Techniques in Cloud Environment: Survey”. IEEE Conference on Information and Communication Technology. pp 408413.2013 [8] Hu.W, Hicks.A,Zhang.L, Dow.E.M, Sony.V , Jiang.H, Bull.R, Jeanna.N, N.Matthews. “A Quantity Study of VirtualMachine Live Migration”. 2013.Clarkson University .New York. [9] Virtualizationreview.com.2009.Type 1 and Type 2 Hypervisors Explained. at: http://virtualizationreview.com/blogs/Every dayvirtualization/2009/06/type-1 -and-type-2-hypervisorsexplained.aspx [ Accessed 27.02.2015] [10] Zhang.Q, Cheng.L,Boutaba.R.”Cloud Computing: State of the Art and Research Challenges. Brazilian Computer Society.2010. pp 7-18 [11] Zhou.R , Liu.F , Li.C , Li.T .”Optimizing Virtual Machine Live Storage Migration in Heterogeneous Storage Environment”. 2013.Ninth Annual International Conference on Virtual Execution Environments .Texas.U.S.A.

Calculating user traffic on each PM Calculating the minimum amount of user traffic to be controlled Select the best PMs to control user traffic.

VM Migration Scheduler: This component is responsible for scheduling VM migration and accepting scheduling request from Load balancer, Bandwidth Predictor and User Traffic Controller, it scheduled the requests periodically and pass execution commands to the Central VM Executor. Central VM Migration Executor: This component acts like the agent between local VM migration executer and VM migration scheduler. It accepts VM migration execution commands from the VM Migration Scheduler and pass them to the Local VM Migration Executor. Local Controller: The local controller deployed on every PM in cluster. The local controller is equipped with following components. Data Collector: This component periodically collects, CPU and memory utilization, bandwidth on connected link, and user traffic on each PM, and it also collects the CPU utilization by the hypervisor. Collected data will be saved in the local file based storage. Data Dispatcher: The dispatcher acts as the central hub that manages all data flow in the Local Controller. It has a simple mechanism for transferring data from the local file based data storage and to the central database. Local VM Migration Executor: This component is responsible for passing VM migration execution commands to the local Hypervisor. It gets VM migration execution commands from the Central VM Migration Executor. Data Storages: There are two main data storage systems, central database, deployed on the controller host storing historical data of every PM, and the local file based data storage storing resources usage and other statistics that collected from each PM, the data collector periodically transfer data to the central database.

150