You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在vCenter 6.5中使用Pyvmomi 6.5无法创建支持LACP的分布式交换机

解决Pyvmomi 6.5创建vCenter 6.5 DVS时无LACP支持的问题

嘿,我之前也碰到过一模一样的情况——手动在vCenter里建DVS时LACP默认就开着,但用Pyvmomi创建的DVS死活不支持LACP,导致那些LAG示例代码根本没法用。其实这大概率不是Pyvmomi的bug,而是咱们创建DVS的时候没加上启用LACP必须的配置项。

问题根源

vCenter手动创建DVS时,后台会自动给DVS设置lacpApiVersion这个属性,而Pyvmomi的默认创建逻辑里并没有包含这个参数,所以新生成的DVS自然就没有LACP支持能力。

解决办法:创建DVS时显式开启LACP

在调用CreateDvs_Task创建DVS的spec里,咱们得手动加上lacpConfig配置,指定LACP的支持版本。给你写个完整的代码示例:

from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim
import ssl

# 测试环境可跳过SSL验证,生产环境建议配置合法证书
ssl_context = ssl._create_unverified_context()

# 连接vCenter
vc_si = SmartConnect(
    host="你的vCenter地址",
    user="你的用户名",
    pwd="你的密码",
    sslContext=ssl_context
)

# 获取存放DVS的文件夹(根据你的环境调整,这里取第一个数据中心的网络文件夹)
content = vc_si.RetrieveContent()
datacenter = content.rootFolder.childEntity[0]
dvs_folder = datacenter.networkFolder

# 构建DVS创建规范
dvs_create_spec = vim.DistributedVirtualSwitch.CreateSpec()
dvs_config_spec = vim.DistributedVirtualSwitch.ConfigSpec()
dvs_config_spec.name = "My-LACP-Enabled-DVS"
# 设置上行端口名称,按需调整
dvs_config_spec.uplinkPortPolicy = vim.DistributedVirtualSwitch.NameArrayUplinkPortPolicy()
dvs_config_spec.uplinkPortPolicy.uplinkPortName = ["Uplink-01", "Uplink-02"]

# 关键配置:启用LACP支持
dvs_config_spec.lacpConfig = vim.DistributedVirtualSwitch.LacpConfig()
# vCenter 6.5支持lacpApiVersion1和lacpApiVersion2,v2功能更完整
dvs_config_spec.lacpConfig.lacpApiVersion = "lacpApiVersion2"
# LACP模式可选active或passive,默认是active
dvs_config_spec.lacpConfig.mode = "active"

dvs_create_spec.configSpec = dvs_config_spec

# 发起创建任务并等待完成
create_task = dvs_folder.CreateDvs_Task(spec=dvs_create_spec)
while create_task.info.state not in [vim.TaskInfo.State.success, vim.TaskInfo.State.error]:
    pass

if create_task.info.state == vim.TaskInfo.State.success:
    print("带LACP支持的DVS创建成功啦!")
else:
    print(f"创建失败:{create_task.info.error.msg}")

# 断开连接
Disconnect(vc_si)

验证步骤

创建完之后可以这么确认:

  • 登录vCenter Web UI,找到这个DVS,进入设置 > 链路聚合,就能看到LACP已经启用了
  • 用Pyvmomi查询DVS的lacpConfig属性,检查lacpApiVersion是否正确设置

小提示

  • lacpApiVersion2在vCenter 6.5里是推荐版本,支持更完整的LACP特性
  • 现在DVS已经支持LACP了,你之前找到的那些LAG示例代码就能直接用啦

内容的提问来源于stack exchange,提问作者Kelly Corcam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:59:38