zebra ospf cpu load

Any topics
brodayga
Posts: 94
Joined: 23 Oct 2014, 06:13

Re: zebra ospf cpu load

Post by brodayga » 09 Nov 2017, 13:28

tugik wrote:
20 Sep 2017, 17:42
Вообще зависит, дело в том что когда у Вас очень часто клиенты отключаются/подключаются происходит постоянное изменения топологии и это приводит к лавинному обновлению всей таблицы. И естественно в этот момент zebre сносит крышу от такого.
Конечно переход c quagga ospf на quagga bgp уменьшает нагрузку, но все же, лучше перейти на bird bgp который создает меньшую нагрузку на сервер.
Спасибо за ответ хоть и немного запоздалый. Честно сказать на bird так и не перешёл, на сервере до сих пор крутится quagga нагрузка от зебры всё та же и она все также не критична - нет ядер загруженных более 50 %.
Говоря что от количества маршрутов не зависит я имел ввиду , что если не будет изменний количества интерфейсов нагрузки тоже не будет. Мне привели пример с 7000+ маршрутов, на бордере где нет дин интерфейсов, и сказали всё ок. Я дал ответ что если фейковых ( отключающихся и подкл сессий) нет то тоже всё ок.
В том то и дело что "quagga ospf на quagga bgp" ни на грам не снизил нагрузку. На тот момент было интересно почему нагрузка от OSPF и BGP одинакова. Объясненить почему ospf грузит я мог-- из-за специфики самого протокола. Как я помню, проблема в том что зебра перебирает все интерфейсы и это не зависит от используемого протокола. Видимо архитектура у них такая. С тех пор к вопросу не возвращался.

tugik
Posts: 26
Joined: 26 Jan 2015, 13:58

Re: zebra ospf cpu load

Post by tugik » 10 Nov 2017, 17:24

Так я же так и написал "очень часто клиенты отключаются/подключаются происходит постоянное изменения топологии"
К примеру если бгп с залитым фулом где ~700к маршрутов так не подгружает сервер как в этом случае.

brodayga
Posts: 94
Joined: 23 Oct 2014, 06:13

Re: zebra ospf cpu load

Post by brodayga » 17 Nov 2017, 11:23

Решил переделать на bird + bgp.
Нагрузка снизилась где то в 2 раза от демона маршрутизации . Но есть пару вопросов, с bird знаком около часа и видимо что то не понимаю.
Везде пишут что маршруты "импортируют из кернел" в случае с ппп интерфейсами, но я так и не понял как это сделать без

Code: Select all

protocol device и protocol direct
Конструкция ниже работает. Но может есть более правильный вариант. В этом варианте из кернел вообще можно ничего не брать. значит я что то не так сделал.
Спойлер
protocol direct {
interface "ppp*"; # Restrict network interfaces it works with
import all;
}

protocol kernel {
learn; # Learn all alien routes from the kernel
scan time 20; # Scan kernel routing table every 20 seconds
import all; # Default is import all
export none; # Default is export none
}

protocol device {
scan time 1800;
}

protocol bgp {
local as 65000;
neighbor 10.115.120.9 as 65000;
hold time 180;
startup hold time 240;
connect retry time 120;
next hop self; # Disable next hop processing and always advertise our local address as nexthop
source address 10.115.120.10; # What local address we use for the TCP connection
export filter {
if net ~ [ y.x.w.0/21+] then {
accept;
}
else reject;
};
}

_longhorn_
Posts: 36
Joined: 03 Sep 2015, 14:37

Re: zebra ospf cpu load

Post by _longhorn_ » 13 Nov 2018, 12:13

Подниму старую тему.
Аналогичная ситуация. На сервере с accel используем bird для динамической маршрутизации. При сканировании интерфейсов в ЧНН нагрузка от bird может доходить до 100% CPU. На НАГе читал, что можно импортировать маршруты из ядра. Если убрать из bird.conf секцию protocol device, то bird не видит ни одного интерфейса. Если же оставить protocol device, но убрать хотя-бы protocol direct, то так же bird не видит ни одного маршрута из сисиемной таблицы маршрутизации и ничего не анонсит бордеру.
Может кто-нибудь сталкивался с подобным и знает как правильно сконфигурировать bird?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest