1. Technical Field
Embodiments of the present disclosure relate to virtual machine technology, and particularly to a control computer and method for deploying virtual machines in a data center.
2. Description of Related Art
In cloud computing technology, a plurality of physical machines (e.g., servers) are included in a data center. Each physical machine can be installed with a plurality of virtual machines (VMs) for providing multiple services to users. Each virtual machine occupies certain computing resources (e.g., CPU, memory, and hard disk) of the physical machines. When a new virtual machine is required to be installed in the data center, an appropriate physical machine is needed to be determined to deploy the virtual machine.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module”, as used herein, refers to logic embodied in hardware 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 hardware 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.
In this embodiment, the control computer 10 further includes a storage system 16 and at least one processor 17. The storage system 16 may be a dedicated memory, such as an EPROM, a hard disk drive (HDD), or flash memory. In some embodiments, the storage system 16 may be an external storage device, such as an external hard disk, a storage card, or a data storage medium.
In step S301, the receipt module 200 receives a user request for installing a virtual machine in the data center 12 from a client computer 15, and receives a specified amount of computing resources required by the virtual machine. The computing resources required by the virtual machine may include CPU resource, memory resource, and hard disk resource. In one embodiment, the amount of computing resources required by the virtual machine is determined according to a type of the virtual machine specified by the user. In one example with respect to
In step S302, the determination module 210 determines an amount of available computing resources of each of the physical machines 13. In one example with respect to
In step S303, the comparison module 220 compares the specified amount of computing resources required by the virtual machine with the amount of available computing resources of each of the physical machines 13, and determines one or more physical machines 13 that satisfy the specified amount of computing resources required by the virtual machine. In one example with respect to
In step S304, the setup module 230 sets a deployment strategy of the virtual machine. In one embodiment, the deployment strategy of the virtual machine includes a uniform deployment strategy, a centralized deployment strategy, a memory priority strategy, a hard disk priority strategy, a user unified deployment strategy, and a distance priority strategy. According to the uniform deployment strategy, virtual machines are uniformly deployed in the physical machines 13, to balance loads of the physical machines 13. According to the centralized deployment strategy, a physical machine 13 is deployed with as many virtual machines as the physical machine 13 can. According to the memory priority strategy, a virtual machine is deployed in a physical machine 13 with the most available memory. According to the hard disk priority strategy, a virtual machine is deployed in a physical machine 13 with the most available hard disk. According to the user unified deployment strategy, virtual machines requested by the same user is deployed in the same physical machine 13. According to the distance priority strategy, virtual machines requested by a user is deployed in a physical machine 13 that is in proximity to the user.
In step S305, the deployment module 240 determines a physical machine 13 from the one or more physical machines 13 according to the deployment strategy of the virtual machine, and deploys the virtual machine in the determined physical machine 13. In one example, if the uniform deployment strategy is set in step S304, the deployment module 240 searches a physical machine 13 with the most available computing resources from the one or more physical machines 13, and deploys the virtual machine in the physical machine 13 with the most available computing resources. In another example, if the centralized deployment strategy is set, the deployment module 240 searches a physical machine 13 with the least available computing resources from the one or more physical machines 13, and deploys the virtual machine in the physical machine 13 with the least available computing resources.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
100146656 | Dec 2011 | TW | national |