利用libvirt对虚拟机的网卡vnic进行QoS限速

openstack中提供了对整台虚拟机instance进行网络限速的方法,但我没有找到针对虚拟要的单个网卡进行QoS的限速方法,后来发现Libvirt有这个功能:


 查看虚机接口的限速设置
# virsh -c qemu+tcp://compute10/system domiftune vm_id tap3b790cc5-b0
其中 3b790cc5-b0 为 port id 的前 10 位

设置虚机接口限速
# virsh -c qemu+tcp://compute10/system domiftune vm_id tap3b790cc5-b0 --inbound <average bandwidth>,<peak bandwidth>,<burst size> --outbound <average bandwidth>,<peak bandwidth>,<burst size> --live

average bandwidth   kilobytes/second
peak bandwidth      kilobytes/second
burst size          kilobytes

实际限速值average, 峰值peak和突发值burst是可以合理计算出来的
建议的值:
peak=1.5*average
burst=peak/8*2=3average/8

取消限速:
目前还没找到方法可以取消限速,但是可以通过设置 --inbound -1,-1,-1

 其中取消限速可以用 python-libvirt 1.2.4+ 版本


版权声明:本文为qiushanjushi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。