Метод ограничения пропускной способности нейтронов OpenStack

сейчас изучаю службу QoS нейтрона в OpenStack. Вот правило, а именно "ограничение пропускной способности". С помощью руководства пользователя документации OpenStack я могу ограничить пропускная способность сети, и после использования 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

Теперь я сбит с толку, какой метод в нейтроне может ограничить пропускную способность сети или порта. Проверив исходные коды, я не нашел метода ограничения пропускной способности.

Есть ли кто-нибудь, кто знает метод в нейтроне? И какие части играют важную роль в ограничении пропускной способности?

Спасибо за вашу помощь:)


person Otto    schedule 16.08.2017    source источник


Ответы (1)


Ограничения полосы пропускания в Neutron реализованы с помощью драйвера «QoS» («качество обслуживания»). Конкретный используемый драйвер зависит от вашей конфигурации, но одним из примеров является драйвер OVS (Open vSwitch) в neutron/plugins/ml2/drivers/openvswitch/agent/extension_drivers/qos_driver.py.

Этот код использует преимущества функций qos в OVS для выполнения формирования полосы пропускания (пакет управление очередями и выходной скоростью) на выходе (пакеты покидают коммутатор) и контроль (отбрасывание пакетов) на входе (пакеты, поступающие на коммутатор).

QoS для подключаемого модуля linuxbridge находится в neutron/plugins/ml2/drivers/linuxbridge/agent/extension_drivers/qos_driver.py и использует стандартную Linux команду управления трафиком (tc) через обертка в neutron/agent/linux/tc_lib.py.

person larsks    schedule 16.08.2017
comment
да, вы абсолютно правы. Моя конфигурация основана на Конфигурация. Я думаю, это для плагина linuxbridge. Могу я спросить, если я изменю tc_lib.py, это может привести к большей потере пакетов? Я хотел бы изменить управление трафиком, чтобы проверить разницу в потере пакетов с помощью Iperf. Спасибо. - person Otto; 16.08.2017
comment
Я не очень знаком с этой частью нейтронного кода, и комментарии здесь были бы ужасным местом для обсуждения. Вы можете задать этот вопрос в списке рассылки разработчиков openstack. - person larsks; 16.08.2017