Vmware-Esxi

主動/主動配置中的 ESXi VMKernel 埠有什麼問題?

  • February 21, 2022

我有以下簡化的配置:

在此處輸入圖像描述

本質上,我有一個帶有兩個物理網路適配器的 ESXi 主機。每個適配器插入不同的開關。每個交換機都通過一個中繼埠連接。一台 PC 連接到其中一個交換機。具有 VMKernel 埠和 VM 埠的 vSwitch 配置為在 Active/Active 配置中使用兩個物理 NIC:

在此處輸入圖像描述

我已經執行esxtop,可以看到 ESXi 主機選擇了連接到交換機 2 的物理網卡作為 VMKernel 埠。從 PC 上,如果我 ping ESXi 主機的管理 IP 地址,則 ping 是間歇性的。他們上上下下。

如果我在每台交換機上顯示 MAC 地址表,我會看到交換機 2 始終將 VMKernel 的 MAC 地址分配給連接到 ESXi 主機的交換機埠。但是,交換機 1 在其各自的物理埠上不斷添加和刪除 VMKernel 的 MAC 地址。每當交換機 1 將 VMKernel 的 MAC 分配給其物理埠時,ping 都會失敗。

失敗的原因是顯而易見的。Switch 1 例行獲取 ESXi VMKernel 埠的 MAC 地址的原因是問題所在。ESXi 主機已選擇連接到交換機 2 的介面作為活動埠。連接到 Switch 1 的介面應該處於非活動狀態。但是,看起來它可能正在響應 ARP 請求?

值得注意的是,這台主機上的所有虛擬機都沒有這個問題。它們都是可訪問的,並且一次只出現在一個 MAC 表中。此問題特別影響 VMKernel 埠。

**這個配置有問題怎麼辦?**我正在尋找某種類型的文件或解釋來解決這個問題。我知道將 VMKernel 埠設置為活動/待機模式可能會解決問題。但是,我找不到任何記錄為什麼這個目前配置是一個問題。

更新:

  • 我在 vSwitch 上禁用了 CDP,認為它可能會導致通過非活動 NIC 進行通信。
  • 我覆蓋了 VMKernel 埠的 vSwitch 設置,並將其設置為使用顯式故障轉移和 Active/Standby。我還將備用網卡放在未使用的池中。沒有任何幫助。解決這個問題的是改變埠順序。因此,當連接到交換機 1 的埠變為活動狀態時,我看不到問題。MAC 地址在 Switch 2 上根本沒有啟動。這是兩張截然不同的網卡,我想知道這是否不是某種驅動程序問題。

一定是某些原因導致 VMKernel MAC 地址在交換機 1 的埠上出現,但它每隔幾秒鐘就會出現一次。

STP 和埠的交換機配置:交換機 1

!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree extend system-id
!
interface Port-channel1
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface GigabitEthernet1/0/7
switchport access vlan 11
switchport mode access
!
interface GigabitEthernet1/0/23
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode desirable
!
interface GigabitEthernet1/0/24
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode desirable

開關 2

!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree extend system-id
!
interface Port-channel1
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface GigabitEthernet1/0/3
switchport access vlan 11
switchport mode access
!
interface GigabitEthernet1/0/23
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode desirable
!
interface GigabitEthernet1/0/24
switchport access vlan 11
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 1 mode desirable

ESXI 中的管理 vmk 在初始設置期間假定第一個 PCI 插槽中的 Nic 的 MAC 地址。這就是它永遠有效的方式。只有當物理設備也開始發送數據包時,這才會破壞事情。這通常不會發生,物理網卡不發送流量,它們傳遞流量。如果您決定將物理網卡從一台主機移動到另一台主機,也需要注意此行為,這會在物理交換機出現故障時導致 2 個主機連接中斷。我的猜測是,這個 Nic 開始報告 CDP/LLDP 流量,這是您的交換機看到 MAC 重複的時候。最簡單的解決方案是通過命令行重建 vmk。這需要通過直接控制台訪問 (DCUI)(KVM、ILO、IDRAC 等)來完成。

這是命令;(調整 IP/子網遮罩/埠組名稱等…以滿足您的需要。)

esxcli 網路 ip 介面刪除 –interface-name=vmk0

esxcli network vswitch 標準埠組添加 -p Management_Network -v vSwitch0

esxcli 網路 ip 介面添加 –interface-name=vmk0 –portgroup-name=Management_Network

esxcli network vswitch 標準埠組設置 -p Management_Network –vlan-id 50

esxcli 網路 ip 介面 ipv4 設置 –interface-name=vmk0 –ipv4=192.168.50.116 –netmask=255.255.255.0 –gateway=192.168.50.1 –type=static

esxcli network ip interface tag add -i vmk0 -t 管理

這將使用 VMware MAC 地址重建管理 vmk 以消除此問題。但是,我建議您聯繫硬體供應商/製造商,了解如何關閉來自物理卡的 CDP/LLDP。這將解決這一 ESXi 主機問題,但如果您允許卡繼續執行此功能,您最終會遇到其他問題。如果這問題真的像你原先想的那麼大,VMware 就不會是大公司了,這不是很常見……

引用自:https://serverfault.com/questions/1093203