zebra ospf cpu load

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

Re: zebra ospf cpu load

Post by brodayga »

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: 28
Joined: 26 Jan 2015, 13:58

Re: zebra ospf cpu load

Post by tugik »

Так я же так и написал "очень часто клиенты отключаются/подключаются происходит постоянное изменения топологии"
К примеру если бгп с залитым фулом где ~700к маршрутов так не подгружает сервер как в этом случае.
brodayga
Posts: 95
Joined: 23 Oct 2014, 06:13

Re: zebra ospf cpu load

Post by brodayga »

Решил переделать на 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_ »

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

Re: zebra ospf cpu load

Post by roysbike »

+1. Тему подниму . На одном сервере pppoe и ipoe(qinq), так вот на pppoe кто ,не всегда анонсит маршрут. Хз в чем дело ,может не успевает проскатить всех, так как 16к интерфейсов qinq
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: zebra ospf cpu load

Post by dimka88 »

Какие протоколы сконфигурированы в bird? Пробовали сделать unit-cache? Нас стенде можно через BNGBlaster воспроизводить подобные нагрузки.
Post Reply