The present invention relates generally to the data processing field, and more particularly, relates to method and apparatus for implementing deployment of a virtual machine (VM) in a cloud environment including VM boot profiling used for the VM image download prioritization.
In deploying a virtual machine (VM) in a cloud environment, the part of the process that takes the longest is the transfer of the image from some repository, for example, Glance in OpenStack, to the hosting platform, for example to a boot disk from which the VM must boot and operate.
One example technique to mitigate the VM image transfer time includes prefetching VM images to the host. In order to be optimal, all possible images should be stored locally on the host. This becomes more difficult and expensive, both in terms of hardware and bandwidth, as the number and diversity of such images increases; and it makes maintenance of the images difficult.
Another technique to mitigate the VM image transfer time includes caching images closer to the target host. Again, this uses bandwidth and hardware proportional to the number of VM images in play; and it still ultimately requires transfer of the image to the host prior to VM boot.
Another technique to mitigate the VM image transfer time includes using copy-on-write (COW) file systems to allow quick pseudo-cloning of an image already deployed locally. This works great as long as many VMs will share the same image; however, it does not help for the first VM deployed on that host, for which the entire image must still be transferred.
A need exists for an efficient and effective method and apparatus for implementing deployment of a virtual machine (VM) in a cloud environment including transfer of the VM image.
Principal aspects of the present invention are to provide a method and apparatus for implementing enhanced deployment of a virtual machine (VM) in a cloud environment. Other important aspects of the present invention are to provide such method and apparatus substantially without negative effects and that overcome many of the disadvantages of prior art arrangements.
In brief, a method and apparatus are provided for implementing enhanced deployment of a virtual machine (VM) in a cloud environment. VM boot profiling is performed and used for providing VM image download prioritization. The VM boot profiling facilitates the transfer of the earliest needed portions of the VM image first, allowing the VM to boot and begin operating quickly while the later needed portions of the VM image are still transferring.
In accordance with features of the invention, the VM boot profiling includes high level summary logging of an order and files that are accessed during boot time to be used by other processes to improve image transfer performance for booting.
In accordance with features of the invention, the VM boot profiling includes logging an order and location of files that are accessed at boot time.
In accordance with features of the invention, the VM boot profiling includes organizing the files for optimal transfer at boot time.
In accordance with features of the invention, the VM boot profiling includes marking check points in the boot process.
The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which illustrate example embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention. In particular, references to “file” should be broadly considered to include and may be substituted with block, page or any other logical subdivision of data,
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In accordance with features of the invention, a method and apparatus are provided for implementing enhanced deployment of a virtual machine (VM) in a cloud environment. VM boot profiling is performed for providing VM image download prioritization. The VM boot profiling includes high level summary logging the order and files that are accessed during boot time to be used by other processes to improve image transfer performance for booting.
Having reference now to the drawings, in
Computer system 100 includes a system memory 106. System memory 106 is a random-access semiconductor memory for storing data, including applications and programs. System memory 106 is comprised of, for example, a dynamic random access memory (DRAM), a synchronous direct random access memory (SDRAM), a current double data rate (DDRx) SDRAM, non-volatile memory, optical storage, and other storage devices.
I/O bus interface 114, and buses 116, 118 provide communication paths among the various system components. Bus 116 is a processor/memory bus, often referred to as front-side bus, providing a data communication path for transferring data among CPUs 102 and caches 104, system memory 106 and I/O bus interface unit 114. I/O bus interface 114 is further coupled to system I/O bus 118 for transferring data to and from various I/O units.
As shown, computer system 100 includes a storage interface 120 coupled to storage devices, such as, a direct access storage device (DASD) 122, and a CD-ROM 124. Computer system 100 includes a terminal interface 126 coupled to a plurality of terminals 128, #1-M, a network interface 130 coupled to a network 132, such as the Internet, local area or other networks, shown connected to another separate computer system 133, and a I/O device interface 134 coupled to I/O devices, such as a first printer/fax 136A, and a second printer 136B.
I/O bus interface 114 communicates with multiple I/O interface units 120, 126, 130, 134, which are also known as I/O processors (IOPs) or I/O adapters (IOAs), through system I/O bus 116. System I/O bus 116 is, for example, an industry standard PCI bus, or other appropriate bus technology.
System memory 106 stores an operating system 140, system image files 1-Z, 142, image event log entries 144, an agent 146 for generating profiles, a profiling and boot control program 148 in accordance with the preferred embodiments.
In accordance with features of the invention, in an illustrative embodiment of VM boot profiling such as shown in
Referring now to
As indicated at a block 202 in
During the profiling mock deploy of
As indicated at a block 210 in
As indicated at a block 218 in
In accordance with features of the invention, during Boot, such as shown in
Referring to
As indicated at a block 326 in
Referring now to
A sequence of program instructions or a logical assembly of one or more interrelated modules defined by the recorded program means 404, 406, 408, and 410, direct the system 100 for implementing enhanced deployment of a virtual machine (VM) in a cloud environment of the preferred embodiment.
While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
8793684 | Breitgand et al. | Jun 2014 | B2 |
8856086 | Chao et al. | Oct 2014 | B2 |
20100058045 | Borras | Mar 2010 | A1 |
20120060153 | Bealkowski | Mar 2012 | A1 |
20120084775 | Lotlikar | Apr 2012 | A1 |
20130290694 | Civilini et al. | Oct 2013 | A1 |
20140172783 | Suzuki et al. | Jun 2014 | A1 |
20160105280 | Kinshumann | Apr 2016 | A1 |
20160170784 | Liguori | Jun 2016 | A1 |
Entry |
---|
Zhang, Z.; “VMThunder: Fast Provisioning of Large-Scale Virtual Machine Clusters”; IEEE Transactions on Parallel & Distributed Systems, vol. 25, No. 12, pp. 3328-3338, Dec. 2014. |
Anonymously; “Fast virtual machine boot utilizing a network image”, http://ip.com/IPCOM/000225783; Mar. 5, 2013. |
Microsoft; “Rapid Operating System Profile Switching”; http://ip,com/IPCOM/000177876; Jan. 8, 2009. |
Anonymously; “Method for Efficient Image Distribution over a Cloud Environment”; http://ip.com/IPCOM/000233940; Jan. 3, 2014. |
Number | Date | Country | |
---|---|---|---|
20180018183 A1 | Jan 2018 | US |