【如何在虚拟机绑定PCIe直通设备】

1.虚拟机绑定PCIe直通设备

上集说到qemu+kvm搭建虚拟机,那么如何在虚拟机上绑定pcie直通设备呢?这里就要知道绑定pcie直通有什么作用呢?

作用:更高的性能:直通设备可以直接访问虚拟机,绕过虚拟化层,因此可以提供接近物理机性能的性能表现。这对于需要高性能的工作负载(如图形加速、高速网络传输等)非常有益。

更低的延迟:绕过虚拟化层可以减少传输和处理数据的时间,从而降低延迟。这对于对延迟敏感的应用程序(如实时数据处理、高频交易等)非常重要。

更好的资源隔离:通过直通设备,可以将物理设备与特定的虚拟机绑定,避免了虚拟机之间的资源冲突和干扰。这提供了更好的隔离性和安全性,保护了虚拟机的稳定性和性能。

更强大的功能支持:某些设备驱动程序要求直接访问硬件,以实现其全部功能。通过绑定直通设备,虚拟机可以完全利用设备的功能,从而提供更强大的功能支持。

1.1.首先在宿主机上echo 多个VF

echo N > /sys/bus/pci/devices/0001:66:00.0/sriov_numvfs N代表你要enable VF的个数
enable之后可以cat查看
cat /sys/bus/pci/devices/0001:06:00.0/sriov_numvfs

1.2.通过virt-manager绑定PCIe直通设备,安装如下步骤

在这里插入图片描述

1.3.UI界面绑定步骤选择需要绑定VF的pcie addr

1.4 配置文件绑定步骤,虚拟机的配置文件一般都在这个目录

在这里插入图片描述

/etc/libvirt/qemu

虚拟机的配置文件都是.xml结尾,vi需要配置的xml文件,配置路径如下
第一个address domain是真实的pcie地址,就是我们pci设置的BDF号,下面的是映射到虚拟机显示的这个pci设置的bdf号。
在这里插入图片描述

在这里插入图片描述

遇到问题:如果这里绑定pcie直通设备报错的话,需要先去宿主机enable一下kvm以及VFIO(VFIO的作用:在CentOS中,绑定PCIe直通设备并启用VFIO的作用是将特定的物理设备直接分配给虚拟机,使虚拟机能够直接访问和控制这些设备。

使用VFIO可以提供更高的性能和更低的延迟,因为虚拟机可以直接与物理设备进行通信,而无需通过中间的虚拟化层。

此外,VFIO还可以提供更好的安全性,因为直通设备可以被隔离在单独的虚拟机中,避免了虚拟机之间的干扰和攻击风险。

通过绑定PCIe直通设备并启用VFIO,用户可以在虚拟化环境中使用高性能的物理设备,如图形加速器、网络适配器等,从而提供更好的虚拟化体验和性能。)

sudo modprobe kvm
sudo modprobe vfio
sudo modprobe vfio_pci
sudo modprobe vfio_iommu_type1
enable之后lsmod |grep kvm查看是否初始化成功
在这里插入图片描述

2.给每个VF绑定namespace(因为我这里拿的SSD来绑定的VF,实际应用也可以拿其他的设备。)

2.1绑定nvme namespace前提,需要先给每个VF设置中断信息等。

nvme virt-mgmt /dev/nvme3 -c 1 -a 8 -r 0 -n 8
nvme virt-mgmt /dev/nvme3 -c 1 -a 8 -r 1 -n 7
nvme virt-mgmt /dev/nvme3 -c 1 -a 9

2.2先删除宿主机盘符的ns,不然创建namespace会报空间不足

nvme delete-ns /dev/nvme3 --namespace-id=1 --timeout=0
nvme create-ns /dev/nvme3 --nsze=0x26000000 --ncap=0x26000000 --flbas=0 --dps=0 --nmic=0 
nvme attach-ns /dev/nvme3 --namespace-id=1 --controllers=0
nvme attach-ns /dev/nvme3 --namespace-id=1 --controllers=1
nvme attach-ns /dev/nvme3 --namespace-id=2 --controllers=1

2.3 最后重启虚拟机查看设备是否初始化成功

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏天Aileft

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值