Benefit is claimed under 35 U.S.C. 119(a)-(d) to Foreign Application Serial No. 201941002611 filed in India entitled “DYNAMICALLY PROVISIONING PHYSICAL HOSTS IN A HYPERCONVERGED INFRASTRUCTURE BASED ON CLUSTER PRIORITY”, on Jan. 22, 2019, by VMWARE, Inc., which is herein incorporated in its entirety by reference for all purposes.
The present disclosure relates to hyperconverged infrastructure environments, and more particularly to methods, techniques, and systems for dynamically provisioning of physical hosts based on cluster type and/or workload priority in hyperconverged infrastructure environments.
A hyperconverged infrastructure is a rack-based system that combines compute, storage and networking components into a single system to reduce data center complexity and increase scalability. Multiple nodes can be clustered together to create clusters and/or workload domains of shared compute and storage resources, designed for convenient consumption. However, existing hyperconverged infrastructures require manual provisioning of physical hosts in a host pool to the clusters based on cluster type and/or workload requirements in the hyperconverged infrastructure. Oftentimes, a user, such as an IT administrator may be required to provision physical hosts manually based on a cluster type and/or workload priority requirement and this can be a very time-consuming process. Further, the user may have to manually check resource utilization of each cluster and then manually provision and/or deprovision the physical hosts in the host pool to the clusters.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present subject matter in any way.
Embodiments described herein may provide an enhanced computer-based and network-based method, technique, and system for dynamically provisioning physical hosts in a hyperconverged infrastructure based on cluster priority. A cluster is a collection of resources (such as nodes, disks, adapters, databases, etc.) that collectively provide scalable services to end users and to their applications while maintaining a consistent, uniform, and single system view of the cluster services. Example cluster may be a stretched cluster, a multi-AZ cluster, a metro cluster, or a high availability (HA) cluster that crosses multiple areas within a local area network (LAN), a wide area network (WAN) or the like.
By design, a cluster is supposed to provide a single point of control for cluster administrators and at the same time the cluster is supposed to facilitate addition, removal, or replacement of individual resources without significantly affecting the services provided by the entire system. On one side, a cluster has a set of distributed, heterogeneous physical resources and, on the other side, the cluster projects a seamless set of services that are supposed to have a look and feel (in terms of scheduling, fault tolerance, etc.) of services provided by a single large virtual resource. However, existing hyperconverged infrastructures require manual provisioning of physical hosts in a host pool to the clusters based on cluster type and/or workload requirements in the hyperconverged infrastructure. Oftentimes, a user, such as an IT administrator may be required to provision physical hosts manually based on a cluster type and/or workload priority requirement and this can be a very time-consuming process. Further, the user may have to manually check resource utilization of each cluster and then manually provision the physical hosts in the host pool to the clusters. Furthermore, existing hyperconverged infrastructures do not have any mechanism to reserve and/or designate physical hosts in the host pool to the clusters for use based on resource utilization in the clusters.
In public and private clouds there can be several thousand physical hosts in one cluster and the physical hosts, in such a scenario, may need to be provisioned and/or deprovisioned from host pools to reduce downtime. Doing such configuration, allocation and provisioning manually can be very tedious, impractical and unreliable. Any mistake in configuration, allocation, provisioning, and/or deprovisioning of the physical hosts to the clusters can seriously impact the datacentre and/or public/private cloud operation and may significantly increase down-time.
System Overview and Examples of Operation
In operation, a user maps physical hosts 126 in host pool 114 to respective clusters 116, 118, and 120 in hyperconverged infrastructure 100. Example mapping table 200 created by a user is shown in
User may create a workload-to-physical host (W2H) mapping table 108 including the physical hosts 126 in the host pool 114 along with associated cluster 116, 118 and 120 and one or more resource utilization threshold limits. Further during operation, W2H mapping agent may generate a unique cluster identifier (id) to each cluster and associate the generated unique cluster id with a physical host id. Example physical host id is a physical host serial number or any other id that is unique to a physical host. In some examples, physical hosts 126 in the host pool 124 may be mapped to respective clusters 116, 118, and 120 in the hyperconverged infrastructure 100 and set the associated one or more resource utilization threshold limits determined using artificial intelligence and machine learning during operation.
In operation, W2H mapping agent 106 may maintain W2H mapping table 108 as shown in
Further in operation, management cluster 102 may periodically obtain resource utilization data at a cluster level for each cluster 116, 118, and 120. In some embodiments, the W2H mapping agent 106 may obtain resource utilization data for one or more clusters 124 from RA 112 as shown in
Furthermore, in operation, management cluster 102 dynamically provisions and/or deprovisions one or more physical hosts 126 to one or more clusters 124 in the hyperconverged infrastructure 100 using the mapped physical hosts in the host pool 114 based on the obtained resource utilization data and the set one or more resource utilization threshold limits. In some embodiments, management cluster 102 may send a resource request call upon the resource utilization reaching the set maximum resource utilization threshold limit at a cluster 116, 118, and 120.
Upon receiving the resource request, management cluster 102 may prepare one or more physical hosts 126 in the host pool 114 based on the mapped physical hosts and the resource utilization data in the W2H mapping table 108. In some embodiments, SSDC manager 110 may prepare one or more physical hosts 126 based on imaging, networking, domain name system (DNS), network time protocol (NTP) and physical network interface card (NIC) requirements of the cluster. Example imaging of the one or more physical hosts 126 may be based on an associated cluster in the hyperconverged infrastructure 100. Further SDDC manager 110, upon receiving the resource request, may pre-configure the one or more physical hosts 126 based on the imaging, networking, domain name system (DNS), network time protocol (NTP) and physical network interface card (NIC) requirements of the cluster.
In some embodiments, W2H mapping agent 106 dynamically determines a number of physical hosts required to run a current workload associated with a cluster 116, 118, and 120. W2H mapping agent 106 may then move the current workload on to required physical hosts and any remaining physical hosts in the cluster may be de-provisioned and moved to the host pool 114. In some embodiments, SDDC manager 110 may determine a number of physical hosts needed for preparing and pre-configuring based on artificial intelligence (AI) and/or machine learning techniques. SDDC manager 110 then pre-configures the determined number physical hosts 126 with any required Kernel Adapters or other networking pre-requests associated with the cluster.
Management cluster 102 may then dynamically provision one or more prepared physical hosts 126 in the cluster 116, 118, and 120. In these embodiments, SDDC manager 110 may periodically monitor and obtain resource utilization data at a cluster level for each cluster via RA 112. SDDC manager 110 may then send a resource request to W2H mapping agent 106. W2H mapping agent 106 may then initiate a request to auto scale agent 104 to dynamically provision the cluster 116, 118, and 120 based on the W2H mapping table 108.
Also, in operation, management cluster 102 may send a deprovisioning request upon the resource utilization reaching the minimum resource utilization threshold limit at a cluster 116, 118, and 120. Management cluster 102 may then dynamically deprovision the one or more physical hosts 126 in the cluster 116, 118, and 120 based on the mapped physical hosts and the resource utilization data.
Management cluster 102 may dynamically change imaging and/or networking requirements to the mapped physical hosts 126 in the host pool 114 upon a change to the imaging and/or networking requirements to a physical host in a cluster 116, 118, and 120.
The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the logic, different logic, different architectures, or the like. Thus, the scope of the techniques and/or functions described is not limited by the particular order, selection, or decomposition of aspects described with reference to any particular routine, module, component, or the like.
Example Processes
At 502, physical hosts in a host pool are mapped to respective clusters in the hyperconverged infrastructure by a user. At step 504, one or more resource utilization threshold limits are set for each cluster by the user. At 506, resource utilization data at a cluster level is obtained periodically for each cluster. At 508, one or more physical hosts are dynamically provisioned/deprovisioned to one or more clusters in the hyperconverged infrastructure using the mapped physical hosts in the host pool based on the obtained resource utilization data and the set one or more resource utilization threshold limits.
The machine-readable storage medium 604 may store instructions 606-612. In an example, instructions 606-612 may be executed by processor 602 for monitoring the health of the application using historical application health data and application logs. Instructions 606 may be executed by processor 602 to map physical hosts in a host pool to respective clusters in the hyperconverged infrastructure. Instructions 608 may be executed by processor 602 to set one or more resource utilization threshold limits for each cluster. Instructions 610 may be executed by processor 602 to periodically obtain resource utilization data at a cluster level for each cluster in the hyperconverged infrastructure. Further, instructions 612 may be executed by processor to dynamically provision and/or deprovision one or more physical hosts to one or more cluster in the hyperconverged infrastructure using the mapped physical hosts in the host pool based on the obtained resource utilization data and the set one or more resource utilization threshold limits.
Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a non-transitory computer-readable medium (e.g., as a hard disk; a computer memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more host computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the components and/or data structures may be stored on tangible, non-transitory storage mediums. Some or all of the system components and data structures may also be provided as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
It may be noted that the above-described examples of the present solution are for the purpose of illustration only. Although the solution has been described in conjunction with a specific embodiment thereof, numerous modifications may be possible without materially departing from the teachings and advantages of the subject matter described herein. Other substitutions, modifications and changes may be made without departing from the spirit of the present solution. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
The terms “include,” “have,” and variations thereof, as used herein, have the same meaning as the term “comprise” or appropriate variation thereof. Furthermore, the term “based on”, as used herein, means “based at least in part on.” Thus, a feature that is described as based on some stimulus can be based on the stimulus or a combination of stimuli including the stimulus.
The present description has been shown and described with reference to the foregoing examples. It is understood, however, that other forms, details, and examples can be made without departing from the spirit and scope of the present subject matter that is defined in the following claims.
Number | Date | Country | Kind |
---|---|---|---|
201941002611 | Jan 2019 | IN | national |