This application claims priority to Chinese Patent Application No. 201310490136.0 filed on Oct. 18, 2013, the contents of which are incorporated by reference herein.
1. “CLOUDBOOT SYSTEM, VIRTUAL MACHINE WITH THE CLOUDBOOT SYSTEM, AND METHOD FOR STARTING UP THE VIRTUAL MACHINE” by Huang et al., whose Attorney Docket No is US54180.
The present disclosure relates to cloud computing, and particularly to an installation system for installing a guest operating system to a virtual machine and a method thereof.
A virtual machine (VM) is a software implementation of a machine that executes programs similar to a physical machine, such as a server and a personal computer. Usually, the VM is constituted in the physical machine by a corresponding virtual platform and a guest operating system for the VM can only be installed based on the corresponding virtual platform. For example, a virtual machine constituted by a XEN platform (an open source enterprise-ready server virtualization and cloud computing platform) can only install a corresponding guest operating system based on the XEN platform, and cannot install a corresponding guest operating system based on other virtual platforms, such as a Kernel-based Virtual Machine (KVM) platform.
Implementations of the present technology will now be described, by way of example only, with reference to the attached figures.
It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures and components have not been described in detail so as not to obscure the related relevant feature being described. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features. The description is not to be considered as limiting the scope of the embodiments described herein.
Several definitions that apply throughout this disclosure will now be presented. The term “module” refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising” means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like. The connection can be such that the objects are permanently connected or releasably connected.
Referring to
The server 200 includes a processing unit 21 and a storage unit 22. The VM 300 also includes a processing unit 31 and a storage unit 32. In at least one embodiment, the processing unit 21 can be a central processing unit, a digital signal processor, or a single chip, for example. In at least one embodiment, the storage unit 22 can be an internal storage system, such as a flash memory, a random access memory (RAM) for temporary storage of information, and/or a read-only memory (ROM) for permanent storage of information. In at least one embodiment, the VM 300 is constituted in a computing device (not shown), such as a server, a personal computer, and the like. The storage unit 32 can be a storage space assigned from a storage device, such as a hard disk, of the computing device. The processing unit 31 can be one of processing chips, such as one of centre processing units of the computing device.
The installation system 1 includes a management module 10 at least one communication module 20, and at least one couldboot system 30. Each communication module 20 is associated with one corresponding couldboot system 30.
In at least one embodiment, the management module 10 can be collections of software instructions stored in the storage unit 22 of the server 2 and executed by the processing unit 21 of the server 2. The cloudboot system 30 can be collections of software instructions stored in the storage unit 32 of the VM 300 and executed by the processing unit 31. In at least one embodiment, the communication module 20 can be a program stored in the storage unit 32 of the VM 300. For example, the communication module 20 can be a remote procedure call (RPC) box, which functions as a email program. In another embodiment, the communication module 20 associated with the cloudboot system 30 can be a communication chip set in the computing device including the corresponding VM 300.
In at least one embodiment, the cloudboot system 30 is compatible with a number of virtual platforms. The cloudboot system 30 includes various virtual driver files respectively corresponding to various virtual platforms. If the VM 300 already have stored and installed the cloudboot system 30, when the VM 300 is started up, the cloudboot system is run firstly. When the cloudboot system 14 is running, the cloudboot system 14 determines a virtual platform which can support the VM 100, and determines a virtual driver file corresponding to the determined virtual platform, and then starts up the guest operating system 12 stored in the storage unit 20 according to the determined virtual driver file. In at least one embodiment, the cloudboot system 14 first loads the virtual driver file, and starts up the guest operating system according to the loaded the virtual driver file. Therefore, utilizing the cloudboot system 14 of the present disclosure, the VM 100 can be started up by another virtual platform by using the corresponding virtual driver file.
Referring to
When the communication module 20 receives the startup command, the VM 300 and the corresponding cloudboot system 30 of the VM 300 is started up. In at least one embodiment, the VM can be trigged to start up upon the startup command received by the communication module 20. When the cloudboot system 30 is running, if the communication module 20 further receives the download command, the cloudboot system 30 downloads the installation file from the server 200 and executes the installation file to install the guest operating system 12 corresponding to the installation file on the VM 300.
According to the present disclosure, the guest operating system 12 can be installed in the VM 300 based on various virtual platforms due to the cloudboot system 300 includes various virtual driver files respectively corresponding to various virtual platforms.
In at least one embodiment, the storage unit 32 of the VM 300 is divided into at least a first partition 16 and a second partition 18 at least. The cloudboot system 30 is stored and installed in the first partition 16. The cloudboot system 30 executes the installation file to install the guest operating system 12 corresponding to the installation file on the second partition 18 of the VM 300.
In at least one embodiment, the storage unit 32 of the VM 300 divided into at least the first partition 16 and the second partition 18 when installing the cloudboot system 30 on the VM 300. The related technology of installing the cloudboot system 30 on the VM 300 are disclosed in a related patent applications whose attorney docket No. is US54180.
In at least one embodiment, a size of the first partition 16 can be 200 megabits.
In block 201, a management module provides a management interface provided for a user to input or select a command for a VM, and transmit the command input or selected by the user to a communication module associated with the VM.
In block 202, the VM is started up when the communication module receives a startup command.
In block 203, a corresponding cloudboot system of the VM is running when the VM is starting up.
In block 204, the cloudboot system downloads an installation file from the server and executes the installation file to install the guest operating system corresponding to the installation file on the VM when the communication module further receives the download command.
In at least one embodiment, the method further includes: the cloudboot system determines a virtual platform supporting the VM, and determines a virtual driver file corresponding to the determined virtual platform, and loads the virtual driver file, and then starts up the guest operating system according to the loaded virtual driver file.
It is believed that the present embodiments and their advantages will be understood from the foregoing description, and it will be apparent that various changes may be made thereto without departing from the spirit and scope of the disclosure or sacrificing all of its material advantages, the examples hereinbefore described merely being exemplary embodiments of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201310490136.0 | Oct 2013 | CN | national |