We are deploying an HA/DRS cluster and I was asked if the VMotion communication was Unicast or Multicast. I am not sure.
The NLB posts seem to be inconclusive, too.
Anyone out there able to (definitely) help me?
it is hard to give a \*definite* answer to your question, because nobody ever made a statement that VMotion communication is either Unicast or Multicast (AFAIK).
However, the fact that such a statement doesn't exist, implies that it is Unicast. If it was Multicast, someone should explain why. To me there is no reason why VMotion communication should be Multicast. VMotion communication is initiated by a VirtualCenter server, but then takes place between two specific hosts, the sender and the receiver. No browsing mechanism or similar is involved.
Multi-Cast is only necessary when the recepients are unknown, but anybody could be listening.
VMotion is a targeted unicast because VirtualCenter knows both hosts and both hosts should know each other. If they don't, its because DNS is misconfigured on the hosts (its recommended to put static entries into the hosts lookup file on the ESX host)
Most definitely unicast, which is why you give vMotion an IP in the unicast range - e.g. a class A, B, or C address.
vMotion is one-to-one, point-to-point - ESX1 to ESX2 for example. You never have a vMotion between one and many hosts (what an interesting idea!).
Just as an FYI vmotion is not NLB, as all vmotion does is allow the transition of a vm from one machine to another. This is a built in way of moving the memory, and processes over to another machine using straight TCP/IP, it is not a broadcast like unicast or multicast is. The Virtual center determines where the vm is now, verifies where it is going and that it is supported and then moves it. I believe that since the network doesn't know which machine will have which processes/services it is neither Multicast/unicast it is more likely the initial server is doing most of the work and then proxying all of the network traffic over to the new box until the new box has all of the processes running correctly and then it takes over.
><![if gte mso 9]>