【问题标题】:OpenStack neutron bandwidth limit methodOpenStack中子带宽限制方法
【发布时间】:2017-08-16 11:53:54
【问题描述】:

现在我正在学习 OpenStack 中的 neutron QoS 服务。这是一个规则,即“带宽限制”。使用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

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

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

感谢您的帮助:)

【问题讨论】:

    标签: python openstack bandwidth openstack-neutron


    【解决方案1】:

    Neutron 中的带宽限制是使用“QoS”(“服务质量”)驱动程序实现的。使用的特定驱动程序取决于您的配置,但一个示例是 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)。

    【讨论】:

    • 是的,你完全正确。我的配置基于Configuration。我猜是 linuxbridge 插件。请问,如果我更改tc_lib.py,可能会导致更多的丢包?我想更改流量控制以使用 Iperf 验证丢包差异。谢谢。
    • 我对中子代码的这部分不太熟悉,这里的 cmets 将是一个糟糕的讨论场所。你可能想把这个问题提交给openstack development mailing list
    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多