The Proxmox HA Rule I'm Using to Keep Redundant VMs Apart

The Proxmox HA Rule I'm Using to Keep Redundant VMs Apart
View on original source
Category: SciTech
Share
Archive
Like
This is an easy one that can get missed when designing a high availability configuration with multiple virtual machines. We design our apps so that they have application redundancy with separate virtual machines or containers and container hosts, but then there can be a sneaky underlying issue with the HA design with which physical host they reside on. We may start out with workloads that support HA application availability residing on different hypervisor hosts. But, then over time, there is a skew that can happen with management and maintenance periods. This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber. As we have alluded to at the outset, what can happen is that the VMs and containers that support app high availability start out on different hypervisor hosts. For instance: appserver1 - pvehost01 appserver2 - pvehost02 Then, over time, we perform maintenance or other management tasks and take hosts down for patching, etc. When we do this, the app VMs or container hosts may get migrated over to a different host, which is sometimes thesame host. We then bring the resources back up and running and the virtual machines that support a high availability application are residing on the same hypervisor hosts. That is why I have implementednegative resource affinityin Proxmox. Before doing anything else when thinking about the resources that support HA, you can get a quick view of where all the VMs live at with the following: That will give you a list that looks similar to the following: That first pair immediately stands out as if you havebothof your servers that underpin DNS are on the same host. So even if you have two servers that provide redundancy, if they are both on the same host, if that host goes down, then you will lose DNS. Proxmox has a feature that is built in which is calledHA resource affinity rules. With these rules you can setuppositive affinity rulesandnegative affinity rules. Positive affinity rules keep workloads together. We don't want that for this use case. But negative resource affinity keeps workloads apart. That is what we want to accomplish our use case here for high availability. When you setup a negative resource affinity HA rule, Proxmox works to keep those workloads separated onto different hosts. So, in the listing above, we could setup a negative resource affinity rule for our dns01 and dns02 servers so that these are kept apart. When Proxmox is then making decisions on where these workloads live, it will attempt to keep these apart. This way, we aren't having to manually audit and look to make sure that HA application VMs are kept apart. The platform does this for us. When you are designing applications for high availability in production or the home lab, think in terms of application workload pairs. This is especially true if you have redundancy built into that environment from an app perspective. You want to follow suit with the underlying hypervisor environment to make sure that you are covered there. Take a look at my full walkthrough with this configuration of negative HA affinity rules in Proxmox here:https://www.virtualizationhowto.com/2026/09/i-was-running-redundant-vms-on-the-same-proxmox-host-without-realizing-it/ This Substack is reader-supported. To receive new posts and support my work, consider becoming a free or paid subscriber.

(0)Comments

 

A note on cookies

Newshunt uses essential cookies to keep you signed in and to remember your language and country, so the site works the way you expect. With your permission, we'd also like to use analytics cookies to understand how people use Newshunt and improve it over time.

Accepting only affects analytics. To learn more, view our Privacy Policy or Terms & Conditions.