Optimizing high-availability virtual machine placements in advance of a computing cluster failure event
Placement scenario optimization mechanisms for automatic placement of computing entities onto nodes of a running multi-node computing cluster. A set of failure mode parameters define a high-availability requirement of the multi-node computing cluster. In advance of a failure event, and responsive to a determination that a then-current computing entity placement does not satisfy the high-availability requirement, the cluster is analyzed and a plurality of feasible placement scenarios are generated. Optimization criteria are applied to the feasible placement scenarios such that a best choice from among the feasible placement scenarios is identified and applied to the virtual machine placements over the cluster. A change monitoring and detection facility continually observes the multi-node computing cluster to detect a change of a failure mode parameter or to detect a change to the configuration of the virtual machines. Certain of such changes cause feasible placement scenarios to be generated, evaluated, selected, and applied.
1 . A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor cause the processor to perform acts comprising:
establishing a first set of virtualization system failure mode parameters that define a high availability requirement of a virtualization system that forms a multi-node computing cluster;
establishing a first virtual machine (VM) configuration, wherein the first VM configuration corresponds to the first set of virtualization system failure mode parameters and a first high availability compliance state that meets or exceeds the high availability requirement;
operating the virtualization system, at least until the virtualization system undergoes a transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters; and
responsive to the transition in the virtualization system, automatically establishing a second VM configuration, wherein the second VM configuration corresponds to the second set of virtualization system failure mode parameters and a second high availability compliance state, and the second high availability compliance state of the virtualization system is different from the first high availability compliance state of the virtualization system.
2 . The non-transitory computer readable medium of claim 1 , wherein automatically establishing a second VM configuration comprises at least migrating a virtual machine from a first location to a second location.
3 . The non-transitory computer readable medium of claim 1 , wherein the virtualization system undergoes the transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters in response to a change to a first failure mode parameter of the first set of virtualization system failure mode parameters.
4 . The non-transitory computer readable medium of claim 3 , wherein the virtualization system undergoes the transition before a failure event.
5 . The non-transitory computer readable medium of claim 3 , wherein the change to the first failure mode parameter was caused by a user or administrator and comprises a fault tolerance setting.
6 . The non-transitory computer readable medium of claim 3 , wherein the change to the first failure mode parameter corresponds to a number of node failures that can be tolerated.
7 . The non-transitory computer readable medium of claim 3 , wherein the first failure mode parameter corresponds to a virtual machine in a virtual disk that accesses a virtualized storage controller to perform data storage functions.
8 . A method comprising:
establishing a first set of virtualization system failure mode parameters that define a high availability requirement of a virtualization system that forms a multi-node computing cluster;
establishing a first virtual machine (VM) configuration, wherein the first VM configuration corresponds to the first set of virtualization system failure mode parameters and a first high availability compliance state that meets or exceeds the high availability requirement;
operating the virtualization system, at least until the virtualization system undergoes a transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters; and
responsive to the transition in the virtualization system, automatically establishing a second VM configuration, wherein the second VM configuration corresponds to the second set of virtualization system failure mode parameters and a second high availability compliance state, and the second high availability compliance state of the virtualization system is different from the first high availability compliance state of the virtualization system.
9 . The method of claim 8 , wherein automatically establishing a second VM configuration comprises at least migrating a virtual machine from a first location to a second location.
10 . The method of claim 8 , wherein the virtualization system undergoes the transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters in response to a change to a first failure mode parameter of the first set of virtualization system failure mode parameters.
11 . The method of claim 10 , wherein the virtualization system undergoes the transition before a failure event.
12 . The method of claim 10 , wherein the change to the first failure mode parameter was caused by a user or administrator and comprises a fault tolerance setting.
13 . The method of claim 10 , wherein the change to the first failure mode parameter corresponds to a number of node failures that can be tolerated.
14 . The method of claim 10 , wherein the first failure mode parameter corresponds to a virtual machine in a virtual disk that accesses a virtualized storage controller to perform data storage functions.
15 . A system comprising:
a storage medium having stored thereon a sequence of instructions; and
a processor that executes the sequence of instructions to cause the processor to perform acts comprising:
establishing a first set of virtualization system failure mode parameters that define a high availability requirement of a virtualization system that forms a multi-node computing cluster;
establishing a first virtual machine (VM) configuration, wherein the first VM configuration corresponds to the first set of virtualization system failure mode parameters and a first high availability compliance state that meets or exceeds the high availability requirement;
operating the virtualization system, at least until the virtualization system undergoes a transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters; and
responsive to the transition in the virtualization system, automatically establishing a second VM configuration, wherein the second VM configuration corresponds to the second set of virtualization system failure mode parameters and a second high availability compliance state, and the second high availability compliance state of the virtualization system is different from the first high availability compliance state of the virtualization system.
16 . The system of claim 15 , wherein automatically establishing a second VM configuration comprises at least migrating a virtual machine from a first location to a second location.
17 . The system of claim 15 , wherein the virtualization system undergoes the transition from operating with the first set of virtualization system failure mode parameters to operating with a second set of virtualization system failure mode parameters in response to a change to a first failure mode parameter of the first set of virtualization system failure mode parameters.
18 . The system of claim 17 , wherein the virtualization system undergoes the transition before a failure event.
19 . The system of claim 17 , wherein the change to the first failure mode parameter was caused by a user or administrator and comprises a fault tolerance setting.
20 . The system of claim 17 , wherein the change to the first failure mode parameter corresponds to a number of node failures that can be tolerated.
21 . The system of claim 17 , wherein the first failure mode parameter corresponds to a virtual machine in a virtual disk that accesses a virtualized storage controller to perform data storage functions.