在一台DELL R710上安装了esxi5.0,并部署了两台esxi5.0的VM,名为vesxA,vesxB.
并在两台vesx上分别创建了vmkernel,连接到同一vSwitch,完成后,发现两台vesx间不能用vmkernel通信。
后请教有经验的同事,说是虚中虚需要在vSwitch中开启 混杂模式,经测试问题解决。
但是为什么呢?
请教高人得出答案:
由于vSwitch中的MAC TABLE记录只能从虚拟机的.vmx文件中读取。而.vmx中记录的MAC是虚拟机的网卡的MAC,当我们新建了一个vmkernel port后,生成的MAC并没有写入.vmx。所以当vSwitch 收到关于vmkernel port后,发现没有相关MAC记录,就会把包丢弃。
有人会问,交换机不是有Flooding功能么?
估计是由于vSwitch节省资源开销的原因,没有使用这个功能,所以这个时候就需要打开混杂模式,将vSwitch变成vHUB.