我一直在思考 VMware Fault Tolerance,我对网络方面的问题有疑问。我会说明我认为它是如何工作的,您可以告诉我我错在哪里。
假设我们有一台虚拟机,以 FT 模式运行。此虚拟机同时在两台物理主机上处于活动状态,但我的交换机和路由器仅将数据包从我的桌面定向到一台物理机上的其中一个虚拟机实例。这样对吗?
那么,如果“活动”物理主机死机了会发生什么?我的台式机、交换机和路由器如何知道从哪里开始发送数据包?“活动”主机上的虚拟机的 IP 地址如何如此快速地传输到“备份”主机?我的所有交换机和路由器是否都需要更新其 MAC 地址表?
VMware FT 的网络方面确实让我很困惑。我就是看不出数据包(为了便于讨论,假设它是 ICMP Ping)如何离开桌面,到达交换机,然后交换机决定将数据包发送到哪个 VMware 物理主机。
如果两台物理主机没有插入同一个交换机会怎么样?因为现在我们涉及到路由,并且可能存在较大的距离和延迟。
有人能帮我解决这个问题吗?我大概了解虚拟交换机的概念,但虚拟 IP 地址出现在同一个网络的两个地方这一概念让我非常困惑。
答案1
没有什么可混淆的;两个虚拟机的 vNIC 具有相同的 MAC,但只有活动虚拟机的 vNIC 传输数据包,在发生故障转移时,先前处于待机状态且现在处于活动状态的虚拟机的 vNIC 只会发送ARP/反向ARP它告诉交换机,虚拟机的 IP/s 和 MAC/s 现在与辅助主机的物理端口相关联 - 这是与 vMotion 使用的相同过程 - 它比您想象的要简单得多。哦,因为活动主机和备用主机都必须具有相同的交换机/VLAN,所以不涉及路由。