我有一台打算用作 vmware 主机的服务器。该服务器有两个 Infiniband Mellanox ConnectX-2 双端口卡。我想要做的是进行以下设置:
第一块卡应该作为本机以太网 10G 网络适配器工作,与另一端的以太网 10G 交换机通信。
第二张卡应作为启用 IPoIB 的本机 Infiniband 40G 适配器工作,并与另一端的 Infiniband 交换机通信。
现在,我正在安装 VMware ESXi 6,它有嵌入式 IB 驱动程序,但它们仅支持以太网模式,因此我有四个以太网端口。我已经下载并安装了 Mellanox 驱动程序 1.9.10.0(删除了嵌入式驱动程序),但它们也是仅适用于以太网的驱动程序。
然后我下载并安装了 Mellanox OFED 驱动程序 1.8.2.4,删除了 1.9.10.0。这些驱动程序仅适用于 Infiniband - 所以现在我有四个 IB 端口,无法将它们切换到以太网。这个驱动程序真正有趣的地方在于它的“mlx4_core”模块有一个名为“port_type_array”的参数,该参数应该在 IB 和 Eth 之间切换端口类型。问题是,该软件包不包含负责以太网的“mlx4_en”驱动程序,所以当我更改它时,应该是以太网的端口就会从系统中消失。
我有两个问题:
1) 是否可以单独安装 mlx4_en 驱动程序并将其与 OFED 包中的旧 mlx4_core 链接起来?
2) 是否有可能以某种方式强制 VMware 对我的每张卡使用不同的驱动程序?
答案1
ESXi 没有真正的直接构造来处理 IB,除非它模拟以太网或 FC/SCSI 等其他东西,它只有这些以太网/DCB 交换机。我会做的是保留以太网驱动程序,然后使用直接 I/O 将控制权传递给您的虚拟机,如果是第 3 和第 4 个控制器,这样虚拟机内的操作系统就可以做他们想做的事情,尽管这确实限制了使用它们的虚拟机数量。我很高兴在这件事上错了,所以我还建议您与 Mellanox 谈谈,我最近一直在与他们就物理实施进行合作,他们非常有帮助。