Virtual machine deployment based on workload and hardware in a hyper-converged infrastructure (HCI) environment
Disclosed systems and methods align virtual machines (VMs) with hyperconverged infrastructure (HCI)-based hardware based on a determination of the VM's characteristic type. Each cluster node may be provisioned with a specific combination of hardware. In some embodiments, disclosed methods include determining, for each of the plurality of nodes, a target workload type based at least in part on the combination of information handling resources provisioned on each node. Disclosed methods may manage deployment of the VMs among the cluster nodes based on one or more factors including a workload compatibility factor determined in accordance with a workload type of each VM and a target workload type of each node, where the target workload type may reflect a hardware characteristic of the node.
1 . A method implemented in a hyperconverged infrastructure (HCI) platform, the HCI platform comprising a plurality of HCI clusters, each HCI cluster including a plurality of nodes with a combination of information handling resource types comprising at least compute resources, storage resources, and networking resources, the method comprising:
identifying, by a workload classification subsystem executing in the HCI platform, a workload type for each respective VM of a plurality of virtual machines (VMs) deployed on the HCI platform, wherein identifying the workload type for each respective VM comprises:
collecting, by a metrics collector, metrics indicative of information handling system resources utilized by the respective VM, the metrics regarding at least CPU, memory, I/O, and network;
preprocessing the metrics to normalize and filter the metrics and to produce features for the respective VM; and
applying a machine-learning model to the features for the respective VM to output the workload type for the respective VM selected from a set comprising compute-intensive, storage-intensive, network-intensive, and performance-intensive types;
determining, for each respective node of the plurality of nodes, a target workload type based at least in part on a resource profile of the respective node derived from the combination of information handling resource types provisioned on the respective node, the resource profile comprising capacity indicators for the compute resources, the storage resources, and the networking resources provisioned on the respective node;
computing, for each respective VM and for each respective node, a respective workload compatibility factor that is a function of the workload type identified for the respective VM and the target workload type determined for the respective node;
deploying, by a scheduler, the plurality of VMs among the plurality of nodes based on the respective workload compatibility factors, including initiating placement or migration of one or more VMs of the plurality of VMs to nodes of the plurality of nodes having a respective higher workload compatibility factor; and
executing the one or more VMs on the nodes having the respective higher workload compatibility factor.
2 . The method of claim 1 , wherein the workload type for the respective VM is determined based on an information handling resource type most stressed by the respective VM.
3 . An information handling system comprising:
a central processing unit (CPU); and
a memory, accessible to the CPU, and including processor executable instructions that, when executed by the processor, cause the processor to perform operations, implemented in a hyperconverged infrastructure (HCI) platform, the HCI platform comprising a plurality of HCI clusters, each HCI cluster including a plurality of nodes provisioned with a combination of information handling resource types comprising at least compute resources, storage resources, and networking resources, the operations including:
identifying, by a workload classification subsystem executing in the HCI platform, a workload type for each respective VM of a plurality of virtual machines (VMs) deployed on the HCI platform, wherein identifying the workload type for each respective VM comprises:
collecting, by a metrics collector, metrics indicative of information handling system resources utilized by the respective VM, the metrics regarding at least CPU, memory, I/O, and network;
preprocessing the metrics to normalize and filter the metrics and to produce features for the respective VM; and
applying a machine-learning model to the features for the respective VM to output the workload type for the respective VM selected from a set comprising compute-intensive, storage-intensive, network-intensive, and performance-intensive types;
determining, for each respective node of the plurality of nodes, a target workload type based at least in part on a resource profile of the respective node derived from the combination of information handling resource types provisioned on the respective node, the resource profile comprising capacity indicators for the compute resources, the storage resources, and the networking resources provisioned on the respective node;
computing, for each respective VM and for each respective node, a respective workload compatibility factor that is a function of the workload type identified for the respective VM and the target workload type determined for the respective node;
deploying, by a scheduler, the plurality of VMs among the plurality of nodes based on the respective workload compatibility factors, including initiating placement or migration of one or more VMs of the plurality of VMs to nodes of the plurality of nodes having a respective higher workload compatibility factor; and
executing the one or more VMs on the nodes having the respective higher workload compatibility factor.
4 . The information handling system of claim 3 , wherein the workload type is determined based on an information handling resource type most stressed by the respective VM.
5 . A non-transitory computer readable medium, comprising processor-executable instructions executable by a processor implemented in a hyperconverged infrastructure (HCI) platform, the HCI platform comprising a plurality of HCI clusters, each HCI cluster including a plurality of nodes and each respective node provisioned with a combination of information handling resource types comprising at least compute resources, storage resources, and networking resources, the instructions including:
identifying, by a workload classification subsystem executing in the HCI platform, a workload type for each respective VM of a plurality of virtual machines (VMs) deployed on the HCI platform, wherein identifying the workload type for each respective VM comprises:
collecting, by a metrics collector, metrics indicative of information handling system resources utilized by the respective VM, the metrics regarding at least CPU, memory, I/O, and network;
preprocessing the metrics to normalize and filter the metrics and to produce features for the respective VM; and
applying a machine-learning model to the features for the respective VM to output the workload type for the respective VM selected from a set comprising compute-intensive, storage-intensive, network-intensive, and performance-intensive types;
determining, for each respective node of the plurality of nodes, a target workload type based at least in part on a resource profile of the respective node derived from the combination of information handling resource types provisioned on the respective node, the resource profile comprising capacity indicators for the compute resources, the storage resources, and the networking resources provisioned on the respective node;
computing, for each respective VM and for each respective node, a respective workload compatibility factor that is a function of the workload type identified for the respective VM and the target workload type determined for the respective node;
deploying, by a scheduler, the plurality of VMs among the plurality of nodes based on the respective workload compatibility factors, including initiating placement or migration of one or more VMs of the plurality of VMs to nodes of the plurality of nodes having a respective higher workload compatibility factor; and
executing the one or more VMs on the nodes having the respective higher workload compatibility factor.
6 . The non-transitory computer readable medium of claim 5 , wherein the workload type is determined based on an information handling resource type most stressed by the respective VM.