1.建立cbq队列:

tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit

(将一个cbq队列绑定到网络物理设备eth0上,其编号为1:0;网络物理设备eth0的实际带宽为100Mbit,包的平均大小为1000字节;)

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

(创建根分类1:1/2/3;其父分类为1:0,分配带宽为60/70/80Mbit,该队列的最大可用带宽为60/70/80Mbit,最大传输单元加MAC头的大小为1500字节,优先级别为5.)

3.建立过滤器,绑定指定带宽限制类型至指定虚拟机ip:

tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip src 192.168.1.102 flowid 1:2

限制各ip地址的下载带宽,使用u32过滤器,对目的地址进行分类,对应已经创建的队列
需要添加新的被限制ip的下载带宽,需要先要创建新的分类(比如1:1),然后根据新的分类创建新的sfq队列,最后使用u32过滤器对目的地址进行带宽限制。
需要对几个ip限制下载带宽,就需要创建几个分类、队列、过滤2

标签: KVM, TC, cbq

添加新评论