LSchuldt
Contributor
Contributor

Limiting the hosts on which HA can restart a guest OS

I know that this subject has come up before so I'll recap briefly.

Customer has an ESX cluster with 6 hosts spread across three sites (campus network) with 2 hosts per site.

Because of differing network configurations, most of the VMs must remain on their site during HA restart and a few can be migrated and will work on any site.

The problem is that HA will restart a VM on any site, whether the networking matches that specified in the VM or not. If a machine is started on the wrong site, the NIC is disconnected from the network and needs to be reconnected manually.

Because of the desire to move some of the VMs to any site, breaking up the cluster into 3 clusters is not workable.

In another thread, someone suggested creating dummy machines and using the anti-affinity rules to force the machine back to the site on which it belongs. Unfortunately, the movment of the machine is handled by DRS. By the time DRS moves the machine to the correct site, the machine has been started on the wrong site and the network is disconnected.

So... does anyone know of a method to only allow a guest to be restarted on a machine where the guest's networking is a match for the host's? I've seen this question pop up before, but haven't really seen a definitive answer.

Thanks,

Larry

Tags (3)
0 Kudos
11 Replies
admin
Immortal
Immortal

Controls will be available in the upcoming vSphere 4.1 release to enable this behavior. You'll be able to set "soft" (ie. preferential) or "hard" (ie. strict) rules associating a set of vms with a set of hosts. HA will respect the hard rules and only failover vms to the appropriate hosts.

Elisha

Varunsh
Enthusiast
Enthusiast

HI Larry,

refer to http://communities.vmware.com/thread/272899

HA failover check for following things

1. Host with the maximum unreserved capacity

2. Network and Storage configuration should meet on target host

AntonVZhbankov
Immortal
Immortal

Create unique portgroups for each site, and one "global" protgroup on all ESXes.

Connect VMs that should not leave site to local site portgroup, and all global VMs to global portgroup.


---

MCSA, MCTS Hyper-V, VCP 3/4, VMware vExpert

http://blog.vadmin.ru

EMCCAe, MCITP: SA+VA, VCP 3/4/5, VMware vExpert http://blog.vadmin.ru
jkumhar75
Hot Shot
Hot Shot

I think the option suggested by the Anton would be the best option.By creating the global port group you can connect the vm's to those port group and avoid the network dicsconnection is case of HA.

Jay

VCP 310,VCP 410,MCSE

Consider awarding points for "helpful" and/or "correct" answers.

If you found this or other information useful, please consider awarding points for "Correct" or "Helpful". Jayprakash VCP3,VCP4,MCSE 2003 http://kb.vmware.com/
0 Kudos
LSchuldt
Contributor
Contributor

Varunsh,

That's what I thought. It doesn't seem to prevent the hosts from starting VMs where the network doesn't match, though.

When I first became involved with this configuration, all the VMs were connected to a network called Virtual Machine Network, even though there were three different networks involved. I broke up Virtual Machine Network into m35 VM Network, apc VM Network, and arc VM Network. I then made sure that the guests were on a host that had access to the correct network and configured the networking on the guests.

However, HA will still move a VM to a host that has a non-matching network.

larry

0 Kudos
LSchuldt
Contributor
Contributor

Anton,

That's exactly what I did!

larry

0 Kudos
LSchuldt
Contributor
Contributor

Jkumhar75,

That's what I did, but HA still doesn't want to restart VMs on a host with the proper network.

larry

0 Kudos
RParker
Immortal
Immortal

That's what I did, but HA still doesn't want to restart VMs on a host with the proper network.

The idea behind HA is to be transparent, and not restrict. It's the same thing if you want to set CPU affinity per VM, you are doing the same thing with HA, pinning a VM to a particular host.

Your HA cluster should be configured with enough resources and machines, so HA can decide which VM's can be brought up, but you should not restrict this to only one machine, it's meant to work across the entire cluster.

Maybe you have a good reason for this, but HA should be designed so this is not an issue.

0 Kudos
Varunsh
Enthusiast
Enthusiast

Now it will be interesting to know....as per our understanding HA check for unreserved capacity and network / storage configuration but if it is not restarting the virtual machines in that way, there is an issue with HA functionality ...or we have lack of information about HA or there is any hiidden check for restarting virtual machine....

HA failover check for following things

1. Host with the maximum unreserved capacity

2. Network and Storage configuration should meet on target host

Create unique portgroups for each site, and one "global" protgroup on all ESXes.

Connect VMs that should not leave site to local site portgroup, and all global VMs to global portgroup.

I hope larry's thread is ended with Richard's statement "functionality of HA" but if we are missing something I am sure that will be the solution for customizing HA as per requirment

0 Kudos
LSchuldt
Contributor
Contributor

All,

Last Friday, I made a DNS change to fix an issue with vMotion. When I returned to the site on Monday, both vMotion and HA were working properly.

In testing all three network groups, guest VMs were restarted on the correct host to retain network connectivity by HA. If both hosts on that network were powered down, HA would start a guest on a host with no network connectivity because there are no hosts with the required connectivity available. I guess I'll have to wait for version 4.1 to come out in order to fix that issue.

I consider the issue closed at this time. Thanks for all the suggestions!

0 Kudos
529122530
Enthusiast
Enthusiast

Just make the VM's VLAN in VGT is ok!

Or you can set the advanced options about HA,add:das.AllowNetwork*=network

0 Kudos