US11507403B2ActiveUtilityA1

Host computing systems determination to deploy virtual machines based on disk specifications

39
Assignee: VMWARE INCPriority: Jan 24, 2019Filed: Apr 22, 2019Granted: Nov 22, 2022
Est. expiryJan 24, 2039(~12.5 yrs left)· nominal 20-yr term from priority
G06F 9/5044G06F 3/067G06F 3/0631G06F 9/5016G06F 3/0604G06F 2009/45583G06F 2009/4557G06F 9/45558G06F 3/0664G06F 2009/45595
39
PatentIndex Score
0
Cited by
6
References
18
Claims

Abstract

Techniques for determining host computing systems to deploy virtual machines based on disk specifications are disclosed. In one example, a blueprint to deploy a virtual machine in a cloud computing environment may be received. Further, disk specifications required to deploy the virtual machine may be retrieved from the blueprint. Furthermore, candidate storage entities that support the retrieved disk specifications may be determined. A host computing system that has connectivity to the candidate storage entities may be determined. the determined host computing system may be recommended to deploy the virtual machine.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method comprising:
 receiving a blueprint to deploy a virtual machine in a cloud computing environment; 
 retrieving disk specifications required to deploy the virtual machine from the blueprint; 
 retrieving storage profiles associated with a plurality of storage entities from a storage-profile repository; 
 matching the retrieved disk specifications with the retrieved storage profiles by iterating over each storage profile to determine a datastore, a datastore cluster, and/or a storage policy that satisfies the retrieved disk specifications; 
 determining candidate storage entities, associated with the datastore, the datastore cluster, and/or the storage policy, that support the retrieved disk specifications based on the matching, wherein the candidate storage entities are selected from a group consisting of datastores, datastores that are associated with datastore clusters, and datastores that are compatible with storage policies, and wherein determining the candidate storage entities that support the retrieved disk specifications comprises:
 for each storage entity:
 when a storage entity that supports a retrieved disk specification is the datastore, determining the datastore as a candidate storage entity; 
 when the storage entity that supports the retrieved disk specification is associated with the storage policy, querying the storage policy to obtain a datastore or a datastore cluster and determining the obtained datastore associated with the storage policy as the candidate storage entity; and 
 when the storage entity that supports the retrieved disk specification is associated with the datastore cluster, querying the datastore cluster to obtain a datastore and determining the obtained datastore associated with the datastore cluster as the candidate storage entity; 
 
 
 determining a host computing system that has connectivity to the candidate storage entities; and 
 recommending the determined host computing system to deploy the virtual machine. 
 
     
     
       2. The method of  claim 1 , further comprising:
 deploying the virtual machine on the host computing system in accordance with the recommendation. 
 
     
     
       3. The method of  claim 1 , wherein matching the retrieved disk specifications with the retrieved storage profiles comprises:
 matching predefined tags associated with the retrieved disk specifications with the retrieved storage profiles associated with the plurality of storage entities. 
 
     
     
       4. The method of  claim 1 , further comprising:
 determining a processor resource availability and a memory resource availability of host computing systems in the cloud computing environment; 
 determining network connectivity between the host computing systems and the plurality of storage entities in the cloud computing environment; and 
 determining a storage resource availability of the candidate storage entities, wherein determining the host computing system that has connectivity to the candidate storage entities comprises:
 determining the host computing system that has connectivity to the candidate storage entities with available storage, and having available processor and memory resources to deploy the virtual machine. 
 
 
     
     
       5. The method of  claim 1 , wherein determining the host computing system that has connectivity to the candidate storage entities comprises:
 mapping each disk specification in the blueprint to at least one candidate storage entity; and 
 determining the host computing system that has connectivity to each of the mapped candidate storage entities. 
 
     
     
       6. The method of  claim 1 , further comprising:
 determining a virtual disk in the cloud computing environment that needs to be attached to the virtual machine using the blueprint; 
 determining a storage entity associated with the virtual disk; and 
 determining the host computing system that has connectivity to the candidate storage entities and the storage entity associated with the virtual disk. 
 
     
     
       7. The method of  claim 1 , wherein the blueprint comprises specifications of compute resources, network resources, and storage resources, and wherein the specifications of the storage resources comprise a plurality of virtual disks with various disk specifications. 
     
     
       8. The method of  claim 1 , wherein each of the disk specifications is selected from a group consisting of a storage-entity type, a storage-entity capacity, a data-reading rate, a data-writing rate, an access latency, an access failure rate, a failure frequency, support for data encryption, and a data persistency. 
     
     
       9. A management node comprising:
 a storage-profile repository to store a plurality of storage profiles associated with a plurality of storage entities in a cloud computing environment; 
 a processor; 
 memory coupled to the processor, wherein the memory includes:
 a storage entity determination unit communicatively coupled to the storage-profile repository, the storage entity determination unit to:
 receive a blueprint to deploy a virtual machine in the cloud computing environment: 
 retrieve disk specifications required to deploy the virtual machine from the blueprint; 
 retrieve the storage profiles associated with the plurality of storage entities from the storage-profile repository; 
 match the retrieved disk specifications with the retrieved storage profiles by iterating over each storage profile to determine a datastore, a datastore cluster, and/or a storage policy that satisfies the retrieved disk specifications; and 
 determine candidate storage entities, associated with the datastore, the datastore cluster, and/or the storage policy, that support the retrieved disk specifications based on the matching, wherein the candidate storage entities are selected from a group consisting of datastores, datastores that are associated with datastore clusters, and datastores that are compatible with storage policies, and wherein to determine the candidate storage entities that support the retrieved disk specifications comprises:
 for each storage entity: 
  when a storage entity that supports a retrieved disk specification is the datastore, determining the datastore as a candidate storage entity; 
  when the storage entity that supports the retrieved disk specification is associated with the storage policy, querying the storage policy to obtain a datastore or a datastore cluster and determining the obtained datastore associated with the storage policy as the candidate storage entity; and 
  when the storage entity that supports the retrieved disk specification is associated with the datastore cluster, querying the datastore cluster to obtain a datastore and determining the obtained datastore associated with the datastore cluster as the candidate storage entity; 
 
 
 a host determination unit to determine a host computing system that has connectivity to the candidate storage entities; and 
 a deployment unit in communication with the host determination unit to deploy the virtual machine on the host computing system. 
 
 
     
     
       10. The management node of  claim 9 , wherein the storage entity determination unit is to:
 match predefined tags associated with the retrieved disk specifications with the retrieved storage profiles associated with the plurality of storage entities. 
 
     
     
       11. The management node of  claim 9 , wherein the host determination unit is to:
 map each disk specification in the blueprint to at least one candidate storage entity; and 
 determine the host computing system that has connectivity to each of the mapped candidate storage entities. 
 
     
     
       12. The management node of  claim 9 , wherein the storage entity determination unit is to:
 determine a virtual disk in the cloud computing environment that needs to be attached to the virtual machine using the blueprint; and 
 determine a storage entity associated with the virtual disk, and wherein the host determination unit is to:
 determine the host computing system that has connectivity to the candidate storage entities and the storage entity associated with the virtual disk. 
 
 
     
     
       13. The management node of  claim 9 , wherein the memory further comprises:
 an application-blueprint-generation unit to generate the blueprint with specifications of compute resources, network resources, and storage resources, wherein the specifications of the storage resources comprise a plurality of virtual disks with various disk specifications. 
 
     
     
       14. The management node of  claim 9 , wherein the memory further comprises:
 a compute processing unit to determine a processor resource availability and a memory resource availability of host computing systems in the cloud computing environment; and 
 a network processing unit to determine network connectivity between the host computing systems and the plurality of storage entities in the cloud computing environment, 
 wherein the host determination unit is communicatively coupled to the compute processing unit, the network processing unit, and the storage entity determination unit to determine the host computing system that has connectivity to the candidate storage entities with available storage, and having available processor and memory resources to deploy the virtual machine. 
 
     
     
       15. A non-transitory machine-readable storage medium encoded with instructions that, when executed by a server in a cloud computing environment, cause the server to:
 receive a blueprint to deploy a virtual machine in the cloud computing environment; 
 retrieve disk specifications required to deploy the virtual machine from the blueprint; 
 retrieve storage profiles associated with a plurality of storage entities from a storage-profile repository; 
 match the retrieved disk specifications with the retrieved storage profiles by iterating over each storage profile to determine a datastore, a datastore cluster, and/or a storage policy that satisfies the retrieved disk specifications; 
 determine candidate storage entities, associated with the datastore, the datastore cluster, and/or the storage policy, that support the retrieved disk specifications based on the matching, wherein the candidate storage entities are selected from a group consisting of datastores, datastores that are associated with datastore clusters, and datastores that are compatible with storage policies, and wherein instructions to determine the candidate storage entities that support the retrieved disk specifications comprise instructions to:
 for each storage entity:
 when a storage entity that supports a retrieved disk specification is the datastore, determine the datastore as a candidate storage entity; 
 when the storage entity that supports the retrieved disk specification is associated with the storage policy, query the storage policy to obtain a datastore or a datastore cluster and determine the obtained datastore associated with the storage policy as the candidate storage entity; and 
 when the storage entity that supports the retrieved disk specification is associated with the datastore cluster, query the datastore cluster to obtain a datastore and determine the obtained datastore associated with the datastore cluster as the candidate storage entity; 
 
 
 determine a host computing system that has connectivity to the candidate storage entities; and 
 recommend the determined host computing system to deploy the virtual machine. 
 
     
     
       16. The non-transitory machine-readable storage medium of  claim 15 , further comprising instructions to:
 deploy the virtual machine on the determined host computing system in accordance with the recommendation. 
 
     
     
       17. The non-transitory machine-readable storage medium of  claim 15 , wherein instructions to match the retrieved disk specifications with the retrieved storage profiles comprise instructions to:
 match predefined tags associated with the retrieved disk specifications with the retrieved storage profiles associated with the plurality of storage entities. 
 
     
     
       18. The non-transitory machine-readable storage medium of  claim 15 , wherein instructions to determine the host computing system that has connectivity to the candidate storage entities comprise instructions to:
 map each disk specification in the blueprint to at least one candidate storage entity; and 
 determine the host computing system that has connectivity to each of the mapped candidate storage entities.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.