Formal Analysis of Virtual Machine Migration and Identification of Faults

Formal Analysis of Virtual Machine Migration and Identification of Faults

Santosh Kumar Majhi (VSS University of Technology, Department of Computer Science and Engineering, Burla, India) and Sunil Kumar Dhal (Sri Sri University, Faculty of Management Studies, Cuttack, India)
Copyright: © 2018 |Pages: 13
DOI: 10.4018/IJKBO.2018010102


Infrastructure as a service (IaaS) cloud supports flexible and agile execution of applications by creating virtualized execution environment namely, virtual machines (VMs) with on-demand infrastructural resources. In such environment, VM migration is used as a tool to facilitate system maintenance, load balancing and fault tolerance. The use of VM migration is to establish the portfolio of using dynamic and scalable infrastructure services offered by the service providers. In this paper, we study the VM migration process and investigate the potential faults which can occur during migration. Also, the state changes of a VM throughout its lifetime has been systematically analyzed and modeled as concurrent state machines. The potential faults are presented considering the live migration process of VM and accordingly VM state changes. In addition, a methodology for identifying the migration faults has been presented.
Article Preview


The cloud computing and its applications gain significant interests from the engineering and research community across different domains due to recent developments in virtualization technologies, capability of rapid provisioning and utilization of resources and on demand service accessibility. Virtualization is used to emulate the computing system behavior through virtual machines (VMs). The key enabler of cloud computing platform is the cloud operating system which manages interactions between different agents to provide system and application level services. The key agents of the cloud platform are hypervisor, Virtual Machines, and the underlying communication network. The widely used cloud operating systems are Openstack, Microsoft HyperV, Oracle Virtual box. Openstack supports different virtualization technologies (e.g., Xen, VMware, HyperV) to build and run virtual machines. Live migration is one of the important system services in cloud operating platform that transfers the execution context of a VM from one physical machine to another under the control of a hypervisor, where the source and destination machine might reside in two different data centers. It is used to facilitate load balancing, server maintenance, improved network scalability and storage backup. The widely used methods for implementing live migration are (i) pre-copy and (ii) post-copy based approach. In general, these methods involve a sequence of operations in iterations. These operations are dependent on data transfer schedule, availability of resources and timing constraints. The migration process is realized by establishing a shared network storage such as network attached storage (NAS) and storage area network (SAN) and/or a high-speed communication channel between the source and destination. For ensuring seamless live migration, the migrating VMs should retain their network identities and connections.

The multi-tenant computing platform with remote execution of applications during migration, operational interdependencies, sharing of resources and constraints, dependency with underlying networks may open up various functional and security problems. This may cause transfer of incorrect VM instance to a data center and which in turn may lead to exposure of the data center to the attackers. On the other hand, this may be manifested as catastrophic system failure, degradation of system performance, load balancing and in long run may result collapse of the data center. Security and functional failures, in computing platform, refers to the disclosure and alteration of data and operations which may be considered sensitive (Sehgal et al., 2011) based on CIA principle. Sensitive data includes (i) software data (program data in memory, on disk, or in other forms of storage); (ii) software and hardware operational state (resource allocation levels, program execution paths, etc.); (iii) control and network channels. Here, software refers to the hypervisor, VM, OSs in VMs and applications running in VMs. A number of research attempts (Saeed & Ehab, 2013; Ghorbani & Ceaser 2012) have been made in live migration planning towards determining sequence of migration steps e.g., the order in which a set of VMs can be relocated to physical machines without violating requirements. Then, the live migration is executed against each migration step under the control of hypervisor. Considering runtime usage of system level resources such as memory, CPU cycles and residual bandwidth, etc., it is evident that the availability of those resources change during migration. Systematic monitoring of these parameters is very important to assess and diagnose various potential faults or performance related issues during migration. It has been reported (Sehgal et al., 2011; John & James, 2009; Wang et al., 2010) that a significant number of errors may happen during live migration which may in turn lead to virtualization system crash and in long run may result collapsing of a data center. The functional analysis of live migration process is an important but challenging problem to ensure creating correct and consistent VM instances in the target machine i.e. to preserve VM states (system and network) before, during and after migration process.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 9: 4 Issues (2019): 1 Released, 3 Forthcoming
Volume 8: 4 Issues (2018)
Volume 7: 4 Issues (2017)
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing