假设我在具有2个虚拟功能的主机上启用了 SR-IOV passthrough ,我正在运行两个 QEMU / KVM VM与libvirt ,每个都连接到分别是VF,有没有办法看到主机上的 VF 计数器(例如rx / tx pkts)?
我曾尝试使用ethtool -S
来查看统计数据,但我只能看到物理函数的全局计数器
我找到了一个用于OpenStack Ceilometer的SR-IOV计数器插件,但它是一个Mellanox插件,并在Guest VM上使用专有驱动程序。
任何帮助将不胜感激。
答案 0 :(得分:1)
在主机上启用VF时,VF最初绑定到主机内核网络驱动程序模块,因此将显示为ethNN,允许您查询统计信息。然后,当您使用PCI设备分配将VF连接到guest虚拟机时,VF将从主机内核驱动程序中解除绑定,因此ethNNN设备将在主机中消失。因此,无法在主机中查询该VF的网络统计信息。
实现这一目标的唯一方法是不使用PCI设备分配,而是在直接模式下使用MACVTAP将VF与来宾相关联。这不如使用PCI分配那么高,但由于virtio-net设计,它仍然相当不错,让你可以看到主机中的NIC来监控流量。