获取SR-IOV虚拟功能计数器

时间:2016-12-01 15:07:59

标签: intel qemu kvm libvirt nic

假设我在具有2个虚拟功能的主机上启用了 SR-IOV passthrough ,我正在运行两个 QEMU / KVM VM与libvirt ,每个都连接到分别是VF,有没有办法看到主机上的 VF 计数器(例如rx / tx pkts)? 我曾尝试使用ethtool -S来查看统计数据,但我只能看到物理函数的全局计数器 我找到了一个用于OpenStack Ceilometer的SR-IOV计数器插件,但它是一个Mellanox插件,并在Guest VM上使用专有驱动程序。
任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

在主机上启用VF时,VF最初绑定到主机内核网络驱动程序模块,因此将显示为ethNN,允许您查询统计信息。然后,当您使用PCI设备分配将VF连接到guest虚拟机时,VF将从主机内核驱动程序中解除绑定,因此ethNNN设备将在主机中消失。因此,无法在主机中查询该VF的网络统计信息。

实现这一目标的唯一方法是不使用PCI设备分配,而是在直接模式下使用MACVTAP将VF与来宾相关联。这不如使用PCI分配那么高,但由于virtio-net设计,它仍然相当不错,让你可以看到主机中的NIC来监控流量。