在一臺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.