我目前正在尝试对我们的 OpenStack 云进行流量控制,我的问题概括起来就是:是否有可能对内部类型的特定端口进行速率限制?
整个故事如下:我们在 OpenVSwitch 上运行 OpenStack Neutron 网络。Datapath 可以在这里找到:
因此,要限制特定子网的上传/下载带宽,最直观的方法是在 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 时它们似乎都没有效果。
同时,我在连接到每个虚拟机的 qvoXXXXXX-XX 上应用完全相同的命令时确实达到了速率限制。我注意到它们都是正常类型。
因此,我怀疑速率限制不支持在 Linux 中连接两个网络命名空间的内部端口。
感谢您宝贵的时间,我非常感谢您的帮助!
答案1
经过一天的谷歌搜索,我发现速率限制似乎对内部端口不起作用。ref 是http://openvswitch.org/pipermail/discuss/2013-April/009586.html