AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1093203
Accepted
Appleoddity
Appleoddity
Asked: 2022-02-10 10:21:04 +0800 CST2022-02-10 10:21:04 +0800 CST 2022-02-10 10:21:04 +0800 CST

主动/主动配置中的 ESXi VMKernel 端口有什么问题?

  • 772

我有以下简化的配置:

在此处输入图像描述

本质上,我有一个带有两个物理网络适配器的 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
vmware-esxi cisco-catalyst
  • 3 3 个回答
  • 584 Views

3 个回答

  • Voted
  1. Best Answer
    Kevin
    2022-02-11T17:07:50+08:002022-02-11T17:07:50+08:00

    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 就不会是大公司了,这不是很常见……

    • 3
  2. Zac67
    2022-02-10T10:29:23+08:002022-02-10T10:29:23+08:00

    多年来,我一直在运行非常相似的设置,没有任何问题。

    你是如何配置交换机端口的?您不应该做任何特别的事情(没有(M)LAG/LACP),因为 ESXi 会处理所有事情。堆叠交换机很好,只是不要聚合端口,配置任何链路状态镜像或类似的东西。

    Switch2 应该在面向 ESXi 的端口上永久拥有 VMkernel 端口的 MAC,在面向交换机 2 的端口上永久拥有 switch1。

    MAC 来回摆动可能是由另一个问题引起的,例如频繁的 STP 拓扑更改(ESXi 通常不可见,但可能仍然存在)。检查交换机的日志是否有任何异常。

    Switch 1 例行获取 ESXi VMKernel 端口的 MAC 地址的原因是问题所在。

    没有任何 LAG,只有在主机实际将带有 VMK 端口 MAC 的帧发送到交换机 1 时才会发生这种情况。除非到 switch2 的链接失败,否则它通常不会这样做。

    连接到 Switch 1 的接口应该处于非活动状态。

    对于 VMK 端口,是的。可能有 VM 流量附加到同一端口组。

    但是,看起来它可能正在响应 ARP 请求?

    ARP 与否,带有 VMK 端口 MAC 的帧不会无缘无故地来自另一个端口。

    • 2
  3. VFrontDe
    2022-02-22T09:22:33+08:002022-02-22T09:22:33+08:00

    您发布的交换机端口配置显示您正在使用催化剂交换机上的端口通道。

    只是不要那样做!对于独立的 ESXi 主机,这不受支持。ESXi 仅在软件内自行处理负载平衡和故障转移。如果您绝对想使用基于外部交换机的端口通道,那么这需要您使用 vCenter 和分布式交换机。

    有关详细信息,请参阅https://kb.vmware.com/s/article/82609和https://kb.vmware.com/s/article/1001938。

    • 1

相关问题

  • ESXi NAS 配置

  • 如何将 Acronis 生成的 vmdk 添加到 esxi?

  • 在 VMWare ESX 和 ESXi 之间进行选择 [关闭]

  • 将(大)虚拟机从 ESXi 3.5 转换为 Hyper-V Server 2008 R2

  • VMWare:ESX 还是 3i?我需要COS吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve