Font Size: a A A

Research And Verification On Network-based Virtual Storage For Virtual Machine

Posted on:2011-10-23Degree:MasterType:Thesis
Country:ChinaCandidate:Y ZhangFull Text:PDF
GTID:2178360305454747Subject:Bioinformatics
Abstract/Summary:PDF Full Text Request
Virtualization technology is currently one of the most active and potential research fields in computer science and technology, which has drawn attention from both academic and industry. The virtual machine with its unique features, such as the isolation between hardware and software, virtual machine state encapsulation, live migration, as well as sharing the physical hardware resources, has been widely used in information systems. However, storage virtualization has limited the flexibility and freedom of virtual machines, in particular, has seriously constrained the virtual machine migration on the network. For example, live migration of virtual machines can make a computing system to be migrated from one physical machine to another physical computer. However, because all the disk data can't be migrated from one physical host to another physical host, these physical computers for live migration must be on a local area network to share the same LAN network storage resources as their own third-level storage devices. It is for this reason that the virtual machine can't be flexibly deployed in wide-area network as well as on the internet. To address this issue, this paper works on a way to provide storage services for virtual machine through the network. In other words, all the data stored in the third level data storage devices, including the necessary data for virtual machine to run as well as the operating system file system, etc. will be provided through the network. This kind of approach is called network-based virtual disk for virtual machine here.In order to provide storage services for virtual machines through the network, there are three issues needed to be addressed. First, how to capture the I/O requests from the virtual machine and redirect to the network I/O requests, enabling the network to provide data for the virtual machine. This requires the ability to capture the virtual machine I/O requests and the actual network storage device to complete the I/O requests and the results returned to the virtual machine. All these operations are transparent to the virtual machine. Second, how to provide real disk data access services for virtual machine on the network. This service is the real data source needed by virtual machine to run, which processes the I/O requests redirected from the virtual machine and returns the results achieved. Finally, a mechanism is needed to efficiently transfer and synchronize data between virtual machines and the actual disk data access services through network. Based on in-depth analysis of the requirement to provide virtual storage on network and the study on three issues mentioned above, the method to design a network-based virtual storage for virtual machine is presented.With the help of storage interface of virtual machine, designed a data forwarding virtual storage drive and data forwarding daemon on the host where virtual machine runs. Virtual storage drive is responsible for getting data from the local file system or a virtual storage server and sending to the virtual machine according to the I/O requests from virtual machine. Data forwarding daemon is the communication bridge between virtual storage drive and virtual storage server. Data forwarding daemon gets the I/O requests from the virtual machine and forwards the requests to server with data storage service. After obtaining the requested data or response from the server, data forwarding daemon will forward it to the virtual machine. In order to improve the performance, data forwarding daemon will cache the data obtained from the server. In this way, next time to visit the data which has been cached, data forwarding daemon can directly get the data from the local cache, thus avoiding re-obtain the data from the virtual storage server. At the same time, in order to reduce the latency of data request, the "pre-fetch" approach is adopted. Even if no requests from virtual machine, daemon process will fetch and cache the data which is not cached yet from the server for future use. If the requests for these data come from the virtual machine, the data can be directly read from the cache. The virtual data image mechanism is used in the server-side to maintain and present the data on the network. Data image or disk image is a collection of data existing in the form of file, including the operating system files, application files, user personal files and so on. In the storage form, the data image is a big image file with the same logical data organization as the disk file system format. Therefore, the system image is a big file in which all data is stored in the format like that of physical disk. The data image is essential for virtual machine to run. Server maintains and manages actual disk data of each virtual machine on its physical storage device. On the server, disk data of a virtual machine is divided into several parts, each part is an image file. On a request, server addresses the data block by the user's identity, address of the requested data, and the disk type to decide which data blocks in which file are requested, and then sends the requested data to the requesting party. Therefore, the virtual data image presented on the network is a disk image for virtual machine, but in the physical storage device of the server, it is totally different.Data Transferring and Synchronizing. As all the data necessary for the virtual machine to run is actually stored on the virtual storage server, the required data is needed to be transferred from the server for the virtual machine to run. Disk write operations of virtual machine have occurred in the local. When the local cache data has been modified by virtual machine, inconsistencies between local and the server will occur. In order to keep the state consistent, synchronization is also necessary. The format of data in transferring procedure is data block. In other words, the disk is just an array of continuous data blocks for the transferring process, regardless of the logical structure of the disk. Consequently, the data transferring is independent of the OS and file system of the virtual machine. Bit-map is used to record all the modified blocks, and all the revised data will be written back to the server to keep the data consistency. In order to improve data access performance, on-demand access and perfecting optimization methods are applied.In order to validate the result of studies mentioned above, a prototype is implemented for experiment. The experiment result established the availability of the virtual storage method. With the help of the I/O benchmark program, I/O performance is also analyzed during the experiment. The system validation results show that the virtual storage method can provide storage services for virtual machine through the network, to support the deployment of virtual machines on the network, and performance can be superior to existing network storage method.This paper presents a method to design a network-based virtual storage servcie for virtual machines, which is aimed to support the virtual machine mobility. With this method, virtual machine can be deployed on different physical hosts on the network.
Keywords/Search Tags:Virtualization, Virtual Storage, Mobility, Network Storage
PDF Full Text Request
Related items