- 启动脚本
- chmod 777/usr/share/doc/iproute-2.6.18/examples/cbq.init-v0.7.3
- /usr/share/doc/iproute-2.6.18/examples/cbq.init-v0.7.3 start
- cat/var/cache/cbq.init
- cat/etc/sysconfg/cbq/cbq-2.eth3
- mv/etc/sysconfg/cbq/cbq-0000.example/etc/sysconfg/cbq/_cbq-0000.example
- /usr/share/doc/iproute-2.6.22/examples/cbq.init-v0.7.3 start
- tc-s-d class show dev eth3
- cat/var/cache/cbq.init
- /usr/share/doc/iproute-2.6.22/examples/cbq.init-v0.7.3 list
启动脚本
CBQ的设置使用tc(traffic control)命令来进行。但是tc命令的选项很多,非常复杂。iproute工具包中含有读入配置文件并自动执行tc命令的启动脚本,这里就使用这个脚本。
这个启动脚本默认读入/etc/sysconfig/cbq/中的cbq-*文件。由于这里已经存在示例文件,因此可以尝试运行脚本。
chmod 777/usr/share/doc/iproute-2.6.18/examples/cbq.init-v0.7.3
/usr/share/doc/iproute-2.6.18/examples/cbq.init-v0.7.3 start
**CBQ:failed to compile CBQ configuration!
小贴士:RHEL6中有/etc/sysconfig/cbq/,但是没有cbq.init文件。RHEL6中的/sbin/cbq就相当于cbq.init。
在这个示例中进行CBQ的设置,就会出错。脚本已运行的命令记录在/var/cache/cbq.init中。
cat/var/cache/cbq.init
/sbin/tc qdisc del dev eth0 root
/sbin/tc qdisc add dev eth0 root handle 1 cbq bandwidth 10Mbit avpkt 3000 cell 8
/sbin/tc class change dev eth0 root cbq weight 1Mbit allot 1514
**CBQ:class ID of cbq-0000.example must be in range<0002-FFFF>!
最后显示的是错误的详细信息。cbq的配置文件名为/etc/sysconfig/cbq/cbq-<类ID>,类ID必须设置2以上的数值。
在上例中,对于配置文件由于类ID为0,因此启动失败。根据环境将文件名改为cbq-2.eth3再次运行。在eth3中将发往IP地址192.168.0.100的分组通信设置为100Mbit/sec。
cat/etc/sysconfg/cbq/cbq-2.eth3
DEVICE=eth3,1000Mbit,100Mbit
RATE=100Mbit
WEIGHT=10Mbit
RULE=192.168.0.100
mv/etc/sysconfg/cbq/cbq-0000.example/etc/sysconfg/cbq/_cbq-0000.example
/usr/share/doc/iproute-2.6.22/examples/cbq.init-v0.7.3 start
设置内容可以使用tc命令来确认。
tc-s-d class show dev eth3
或者也可以通过/var/cache/cbq.init的内容来确认。
cat/var/cache/cbq.init
/sbin/tc qdisc del dev eth3 root
/sbin/tc qdisc add dev eth3 root handle 1 cbq bandwidth 1000Mbit avpkt 3000
cell 8
/sbin/tc class change dev eth3 root cbq weight 100Mbit allot 1514
/sbin/tc class add dev eth3 parent 1:classid 1:2 cbq bandwidth 1000Mbit rate
100Mbit weight 10Mbit
prio 5 allot 1514
cell 8 maxburst 20 avpkt 3000 bounded
/sbin/tc qdisc add dev eth3 parent 1:2 handle 2 tbf rate 100Mbit buffer 10Kb/8 limit 15Kb mtu 1500
/sbin/tc filter add dev eth3 parent 1:0 protocol ip prio 100 u32 match ip dst 192.168.0.100 classid 1:2
使用下列命令也可以确认。