我目前正在尝试对我们的 OpenStack 云进行流量控制,我的一句话就是:是否有可能使用内部类型对特定端口进行速率限制?
整个故事如下: 我们在 OpenVSwitch 上运行 OpenStack Neutron 网络。数据路径可以在这里找到:
因此,要限制特定子网的上传/下载带宽,最直观的方法是在 L3 路由器代理上设置 QoS 规则,即 Neutron 节点中的端口 qr-XXXXXX-XX 和 qg-XXXXX-XX。它们都是OVS 系统中的内部类型,我尝试了以下命令:
1.
ovs-vsctl set interface qr-XXXXXX-XX ingress_policing_rate=2000000
ovs-vsctl set interface qr-XXXXXX-XX ingress_policing_rate=2000
2.
ovs-vsctl -- set Port qr-XXXXXX-XX qos=@newqos \
-- --id=@newqos create QoS type=linux-htb other-config:max-rate=2000000 queues=0=@q0 \
-- --id=@q0 create Queue other-config:min-rate=2000000
尽管当我在虚拟机中尝试 iperf 时,它们似乎都没有效果。
同时,当在连接到每个 VM 的 qvoXXXXXX-XX 上应用完全相同的命令时,我确实实现了速率限制。我注意到它们是普通类型。
因此,我怀疑速率限制不支持内部端口,它连接了linux中的两个网络命名空间。
感谢您宝贵的时间,我非常感谢您的帮助!
经过一天的谷歌搜索。我发现内部端口上的速率限制似乎不起作用。参考是http://openvswitch.org/pipermail/discuss/2013-April/009586.html