Openstack Juno版本中对客户的VM进行限速是必不可少的。一个原因是可以保证用户使用的带宽不会超出阀值,另外如果客户的云主机中毒后会频繁对外发包,限制了虚拟路由器的接口带宽,可以保证一个租户的网络不稳定不会影响到云平台的其他用户。
具体的设置方法如下:
1. 先要查看虚拟路由器的名称。
查看虚拟路由器的名称
2.连接到Openstack控制节点,执行环境变量后使用neutron router-list查看虚拟路由器的设备UUID。
查看虚拟路由器设备的UUID
虚拟路由器的设备UUID为:0bfe6678-1b66-481d-8668-2bbb93f27556
3.使用neutron l3-agent-list-hosting-router命令通过路由器的设备UUID参数去获取到虚拟路由器所在的网络节点。
查看虚拟路由器所在的网络节点
通过观察,可以看到router2虚拟路由器创建在networker2的网络节点上。
4.在网络节点上执行命令:
ethtool –K enp5s0f1 gro off
ethtool –K eno2 gro off
5.通过ip netns |grep 0bfe6678-1b66-481d-8668-2bbb93f27556查找虚拟路由器对应的名称。
查找虚拟路由器的对应名称
查找到的虚拟路由器对应的名称为:
qrouter-0bfe6678-1b66-481d-8668-2bbb93f27556
6.通过ip netns exec 虚拟路由器名 ip address的命令查看虚拟路由器上的接口。
查看到的接口其中qr-XXX是对外网的设备,qg-XXX是对内网的设备。可以理解为qr-XXX限制云主机的下载,qg-XXX限制云主机的上传。
查看虚拟路由器上的接口名称
查看到虚拟路由器上的接口是:
qr-792fc84f-de
qg-c88e64f2-27。
7.如果要查看当前项目中对虚拟路由器接口上的限速可以使用命令:
ip netns exec qrouter-0bfe6678-1b66-481d-8668-2bbb93f27556 tc qdisc list dev qr-792fc84f-de
ip netns exec qrouter-0bfe6678-1b66-481d-8668-2bbb93f27556 tc qdisc list dev qg-c88e64f2-27
查看虚拟路由器限速情况
表示当前没有给此虚拟路由器的接口进行限速。
8.给路由器的接口增加限速,可以使用以下命令:
增加虚拟路由器接口限速
如果需要修改某个项目内的带宽,只要把add改成change,同时修改rate后的带宽值就行。
修改虚拟路由器接口限速
9.查看当前路由器的接口的网速,可以使用以下命令:
查看当前的虚拟路由器接口限速
