尝试为主机上的 vSphere Distributed Switch 添加或配置网络连接时,操作发生回滚并且主机断开与 vCenter Server 的连接。

问题

尝试对主机上的 vSphere Distributed Switch 执行网络连接配置操作时,如创建虚拟机适配器或端口组,会导致主机断开与 vCenter Server 的连接,并显示错误消息“主机上的事务已回滚 (Transaction has rolled back on the host)”。

原因

当主机处于压力状态时,即许多并发的网络连接操作争用有限的资源时,执行某些操作的时间可能会超过 Distributed Switch 上默认的网络配置操作回滚超时时间。结果导致这些操作回滚。

例如,在一个拥有大量交换机端口或虚拟适配器的主机上创建 VMkernel 适配器时,由于所有端口和适配器都消耗主机的系统资源,就可能出现这种情况。

默认的操作回滚超时时间为 30 秒。

解决方案

  • 使用 vSphere Client 增大 vCenter Server 上的回滚超时时间。
    如果再次遇到相同的问题,请逐步回滚值为 60 秒的超时,直至操作有足够的时间成功完成。
    1. vCenter Server 实例的配置选项卡上,展开设置
    2. 选择高级设置,然后单击编辑
    3. 如果属性不存在,向设置中添加 config.vpxd.network.rollbackTimeout 参数。
    4. config.vpxd.network.rollbackTimeout 参数键入新值(以秒为单位)。
    5. 单击确定
    6. 重新启动 vCenter Server 系统以应用更改。
  • 通过编辑 vpxd.cfg 配置文件,增大回滚超时值。
    如果再次遇到相同的问题,请逐步回滚值为 60 秒的超时,直至操作有足够的时间成功完成。
    1. vCenter Server 的主机上,导航到目录 /etc/vmware-vpx
    2. 打开 vpxd.cfg 文件进行编辑。
    3. <network> 部分下的 <rollbackTimeout> 元素中,增加超时值。
      <config>
        <vpxd>
          <network>
            <rollbackTimeout>60</rollbackTimeout>
          </network>
        </vpxd>
      </config>
    4. 保存并关闭文件。
    5. 重新启动 vCenter Server 系统以应用更改。