I received a question today about a partitioned clusters (in vSphere 5.0) with HA. The question was which Master would own which VMs when a partition exists and how is determined which master can own which VM? I have already briefly explained the difference between an isolation and a partition. Now it is good to realize that when a partition exists the new master may take responsibility for VMs. I used “may” intentionally as there is no guarantee it will own any VMs at that point, so why is this and how does it take ownership of VMs?
A master takes ownership of VMs by locking a file on the datastores it is connected to. As soon as the master has an exclusive lock it owns the virtual machines that have their config file on the datastore. (Note that HA cares about the .vmx file and not the VMDK of the VMs.) The file is called “protectedlist” and is stored on each of the datastores under the .vSphere-HA folder as shown in the screenshot below.
Now a master will only release the lock on that file when it is placed in to maintenance mode, removed from the cluster, loses access to the datastore, is rebooted etc. If and when that would happen the other master(s) would take ownership of the VMs which are located on that datastore by locking that file. So what does that mean? That does indeed mean that in a “normal” situation even though you have two or more masters in a cluster, due to the fact the cluster is partitioned, you would still only have 1 master being responsible for all VMs in that cluster. Unless… unless that master is indeed placed in maintenance mode, loses access to the datastore etc.
Hope that clarifies things,
** edit: changed the wording to clarify the behavior of the master with regards to owning VMs **