OpenStack中子带宽限制方法

OpenStack neutron bandwidth limit method

现在正在学习OpenStack中的neutron QoS服务。这是一个规则,即"bandwidth limit"。有了OpenStack Doucumentation的用户指南,我可以限制网络带宽,通过Iperf使用后,我验证了带宽限制是有效的。

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.30.0.7 port 5001 connected with 192.168.115.105 port
42726
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 6.5 sec  1.25 MBytes  1.62 Mbits/sec

现在我很困惑neutron中有什么方法可以限制网络或端口的带宽。通过查看源代码,我没有找到带宽限制的方法。

有谁知道neutron中的方法吗?哪些部分在限制带宽方面起着重要作用?

感谢您的帮助:)

Neutron 中的带宽限制是使用 "QoS" ("quality of service") 驱动程序实现的。使用的特定驱动程序取决于您的配置,但一个示例是 neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py.

中的 OVS(Open vSwitch)驱动程序

此代码利用 qos features in OVS 在出口(离开交换机的数据包)上执行带宽整形(数据包排队和输出速率控制)并在入口(进入交换机的数据包)上执行监管(丢弃数据包)。

linuxbridge 插件的 QoS 在 neutron/plugins/ml2/drivers/linuxbridge/agent/extension_drivers/qos_driver.py 中,它通过 neutron/agent/linux/tc_lib.py 中的包装器使用标准 Linux traffic control command (tc)。 =16=]