在kvm虚拟机管理的过程当中,对虚拟机带宽进行良好的控制是十分重要的。

linux系统当中对网络带宽的控制一般都是使用tc命令实现,tc即是traffic control的缩写,在这里可以找到有关tc命令的内容。

当然你可以手动使用tc命令来处理这些事情,比如使用cbq队列,htb队列等,都是可以实现的,网上找找应该有很多关于这方面的资料,

比如下面就是使用cbq队列限制src ip为192.168.1.102发送数据包的速率:

1.建立cbq队列:
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit
2.建立带宽限制分类:
tc class add dev eth0 parent 1: classid 1:1 cbq rate 60mbit allot 1500 prio 5 bounded isolated
tc class add dev eth0 parent 1: classid 1:2 cbq rate 70mbit allot 1500 prio 5 bounded isolated
tc class add dev eth0 parent 1: classid 1:3 cbq rate 80mbit allot 1500 prio 5 bounded isolated

3.建立过滤器,绑定指定带宽限制类型至指定虚拟机ip:
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip src 192.168.1.102 flowid 1:2

我比较推荐的方法还是直接使用libvirt,libvirt 中已经集成了带宽控制的功能,下面是关于带宽控制部分的xml描述:

使用方法:在网卡interface中加入

<bandwidth>
<inbound average='1000' peak='5000' burst='1024'/>
<outbound average='128' peak='256' burst='256'/>
</bandwidth>

以下是关于各项参数的解释,获取最新的信息可以到这里.

mandatory attribute:
average: It specifies average bit rate on interface being shaped.

optional attributes:
peak: which specifies maximum rate at which interface can send data,
burst: amount of bytes that can be burst at peak speed.

Accepted values: integer numbers.

units:
average: kilobytes per second
peak: kilobytes per second
burst: kilobytes.

http://itxx.sinaapp.com/blog/list/7

libvirt使用之---使用tc实现kvm虚拟机带宽控制相关推荐

  1. kvm虚拟机命令梳理

    kvm虚拟机命令梳理 1 1)查看KVM虚拟机配置文件及运行状态 2 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ 3 autostart目录是配置kvm虚拟机开机自启动目录. ...

  2. kvm linux重置密码,kvm虚拟机操作相关命令及虚拟机和镜像密码修改

    虚拟机生命周期管理 1)查看kvm虚拟机状态 #virsh list --all 2)KVM虚拟机开机 # virsh start oeltest01 3)KVM虚拟机关机或断电 关机 默认情况下vi ...

  3. linux查看xml文件的配置,3、kvm虚拟机日常管理与配置

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理. 1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostar ...

  4. 通过libVirt抓取kvm虚拟机监控指标数据

    通常在我们的云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如cpu的使用率.内存的使用率.磁盘io.网络io等基本信息.可以利用这些信息及时调整云平台 ...

  5. python调用libvirt_通过python获取kvm虚拟机的监控信息(基于libvirt API)

    通常在我们的云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如cpu的使用率.内存的使用率.磁盘io.网络io等基本信息.可以利用这些信息及时调整云平台 ...

  6. RHEL6.2上使用 libvirt创建和管理KVM虚拟机

    在2010年4月发布的RHEL 6.0 Beta版中 ,去掉了Xen,这也许是第一个不包含Xen Hypervisor的知名Linux发行版,之前有报道过Red Hat有可能会在RHEL 6.0中用K ...

  7. kvm虚拟机vnc配置

    本文是通过vnc方式访问虚拟主机上的KVM虚拟机.     这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来 ...

  8. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    2019独角兽企业重金招聘Python工程师标准>>> Centos7.4安装kvm虚拟机(使用virt-manager管理) 之前介绍了使用WebVirtMgr或Openstack ...

  9. KVM虚拟机安装与使用

    一.安装KVM 安装KVM模块.管理工具.libvirt 命令行安装 [root@Centos1 ~]# yum install -y kvm virt-manager libvirt 注: KVM: ...

最新文章

  1. 欧拉角和旋转矩阵相互转换
  2. SVN中提交时提示副本被锁定,执行清理时也提示副本被锁定的解决办法
  3. 云计算适用于中小企业吗?
  4. 针对这一行业痛点,创新工场投资的潞晨科技发布了大规模并行AI训练系统——“夸父”(Colossal-AI) ,通过多维并行、大规模优化器、自适应任务调度、消除冗余内存、降低能量损耗等方式,旨在打造一个
  5. JBoss Fuse –一些鲜为人知的技巧
  6. java 8是指什么_java中8个基本数据类型到底是指什么?是什么意思,有什么作用?我需要权威的回答,...
  7. git登录相关操作梳理
  8. windows编程函数(一)
  9. svn merger的时候 报远程主机强迫_SVN与Git比较(二)版本库与工作区
  10. HTML5 CSS3学习
  11. android实现activity半透明色
  12. linux 安装Elasticsearch
  13. 7-11 秋天的第一杯奶茶 (20 分)
  14. 可用c语言编程的科学计算器,一个用C语言实现的科学计算器
  15. Linuxnbsp;cat命令详解
  16. 斐讯w2换表盘_斐讯W2智能手表初体验:路由不要钱!手表也白送!
  17. 华三华为无线系列排障-----AP间无法实现自动漫游
  18. 软件测试-黑盒测试方法(二)---正交实验法、场景图、错误推测法
  19. ARD智能电动机控制器在苯乙烯生产过程中的应用
  20. spacemacs email layer

热门文章

  1. [python作业]给定字符串“site sea suede sweet see kase sse ssee loses“,匹配出所有s开头,e结尾的单词。
  2. 深圳10年,从月入5千到年薪百万,从家庭主妇到卖保险,这些年我经历了什么?
  3. 详解淘客失败原因 用淘宝客还能赚到钱吗
  4. tensorflow显存自适应分配(tf.1x和tf2.x)
  5. 三八节与芊芊一起赏雪
  6. PyQt5 复选框(勾选框)
  7. ANSYS中各个单元的思考和分析(杆和梁)
  8. 机器学习 非参数估计
  9. 三种购买zw32-12真空断路器方式优缺点
  10. 小爱智能音箱红外控制继电器