首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Infiniband + KVM

Infiniband + KVM
EN

Server Fault用户
提问于 2014-10-20 07:53:34
回答 1查看 856关注 0票数 3

这个问题是从堆叠溢出的副本,正如我被告知,我的问题会更适合这里。

尽管搜索了很长时间,但我没有找到任何关于以下内容的好信息--尽管我认为,我不是第一个遇到这个问题的人:我们正在开发一个高性能的集群,使用MATLAB、MPI和Infiniband。在过去的几年里,这种环境一直运作得很好。但是为了获得更大的灵活性和更容易的维护,我们正在考虑用KVM虚拟化计算节点。

现在我遇到了一个大问题,就是让Infiniband“进入”我的虚拟机。我不仅要通过PCI-接口,而且要构建一个与以太网桥接器相对应的东西,我可以在我的主机上连接到我的机器(S)。我找到了一些讨论这个问题的消息来源--但没有提到如何安装/配置IB。有谁知道怎么做吗?

提前感谢!

EN

回答 1

Server Fault用户

发布于 2022-06-02 18:01:08

NVidia (Mellanox)是Infiniband的主要支持者,它对Infiniband虚拟化有很好的支持。有了NVidia ConnectX卡和SR支持,它可以在Redhat、Centos、Debian和其他x86_64和ARM版本下支持ConnectX。使用SR,您可以安装OFED和VM,而SR将为每个VM提供一个看起来像硬件网卡的接口。KVM有许多网络/桥接选项( NAT )、路由选项、隔离选项,这些选项允许您构建任意数量的虚拟网络(有或没有物理或虚拟功能适配器)。

确保您的Infiniband卡支持单根IO虚拟化,SR。SR似乎为每个VM提供了一个独特的物理网卡、GPU或其他IO设备.SR-IOV并不支持所有的Infiniband卡。

SR-IOV背景:

NVidia单根IO虚拟化

https://www.lynx.com/embedded-systems-learning-center/what-is-sr-iov-and-why-is-it-important-for-embedded-devices

https://en.wikipedia.org/wiki/Single-root_输入/输出_虚拟化

我假设您使用的是英特尔CPU、NVidia ConnectX卡、NVidia OFED和Redhat 7.9或更高版本或CentOS7.9或更高版本。这在其他版本的Linux上是可能的。我熟悉Centos和Redhat。

  • 您的计算机BIOS必须支持CPU、IOMMU和SR虚拟化。
  • 在BIOS中打开CPU虚拟化,在Intel处理器上,这也称为VT-x。
  • 打开IOMMU,BIOS中的输入输出内存管理单元,在Intel处理器上,这也称为VT-d。
  • 打开BIOS中的SR支持
  • Linux内核需要打开IOMMU。对于英特尔处理器,您可以将"intel_iommu=on“传递给内核。如果您使用Redhat,我总是添加IOMMUpass身"iommu=pt“,编辑/etc/default/grub并将其添加到GRUB_COMMAND_LINE中。

https://access.redhat.com/documentation/en-us/red_帽子_虚拟化/4.1/html/安装_指南/应用程序-配置_一个_管理程序_主机_为_pci_过路

  • “苏多·德拉库特--武力”
  • “sudogrub2-mkconfig -o /boot/.path_to your_grub_cfg”。对于非UEFI,这是"grub2-mkconfig -o /boot/grub2/grub.cfg“。
  • 如果这是成功的,您应该通过查看"dmesg“的输出,在引导过程中看到IOMMU和DMAR (DMA重组)消息。
  • 从NVidia下载并安装一个最近支持的与您的Infiniband卡、操作系统和处理器相匹配的NVidia,并让它在主机上工作。
  • 从NVidia下载并安装Mellanox固件工具mft。
  • 从NVidia下载和安装最新的固件,这是您支持的组合,操作系统,处理器和NVidia ConnectX卡。
  • 使用NVidia MST和Flint更新ConnectX卡上的固件。

https://network.nvidia.com/support/firmware/update-instructions/

  • 您必须使用mlxconfig在OFED中启用SR,并设置要支持的虚拟函数的数量和虚拟ConnectX卡的数量。"mlxconfig -d /dev/mst/YOUR_INTERFACE_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4“

https://support.mellanox.com/s/article/HowTo-Configure-SR-IOV-for-ConnectX-4-ConnectX-5-ConnectX-6-with-KVM-Ethernet

https://mymellanox.force.com/mellanoxcommunity/s/article/howto-configure-sr-iov-for-connect-ib-connectx-4-with-kvm--infiniband-x

https://shawnliu.me/post/configuring-sr-iov-for-mellanox-adapters/

  • "sudo lspci _ grep Mellanox“应该同时显示硬件和虚拟功能适配器。
  • 您需要从主机解除一个或多个虚拟函数的绑定,并将它们绑定到所需的虚拟机。

https://support.mellanox.com/s/article/howto-configure-sr-iov-for-connect-ib-connectx-4-with-kvm--infiniband-x

  • 然后,KVM管理器或virsh将允许您将虚拟函数添加为虚拟机中的PCI设备。

https://access.redhat.com/documentation/en-us/red_帽子_企业_linux/5/html/virtualization/sect-virtualization-adding_一个_pci_设备_至_一个_主机

  • 在虚拟机中安装OFED
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/638244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档