Назад | Перейти на главную страницу

QoS / ограничение трафика на внутренних портах в OpenVSwitch

В настоящее время я пытаюсь установить контроль трафика в нашем облаке OpenStack, и мои вопросы в одном предложении будут следующими: возможно ли вообще ограничить скорость конкретного порта с типом internal?

Вся история такова: мы запускаем сеть OpenStack Neutron через OpenVSwitch. Datapath можно найти здесь:

Следовательно, чтобы ограничить пропускную способность загрузки / выгрузки определенной подсети, наиболее интуитивно понятным подходом является установка правил QoS на агентах маршрутизатора L3, а именно на портах qr-XXXXXX-XX и qg-XXXXX-XX в узлах Neutron. Оба они внутренний тип в 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.

Спасибо за ваше драгоценное время, и я искренне признателен за вашу помощь!

После дня поиска в Google я обнаружил, что ограничение скорости не работает на внутреннем порту. Ссылка http://openvswitch.org/pipermail/discuss/2013-April/009586.html