Jump to content
Калькуляторы

ospfd падает? на всех серверах по очереди

Доброго времени суток, коллеги!

 

Вчера/сегодня случилась у меня беда: падает ospfd, на всех серверах.

В dmesg - пусто. В логах квагги - пусто. Просто падает и всё. При этом полученные маршруты в таблице ядра остаются.

 

Версии - от 0.99.15 до последней, 0.99.17.

 

У кого-нибудь есть идеи?

Edited by Abram

Share this post


Link to post
Share on other sites

Еще один упал. 0.99.10.

 

Закономерности не вижу. FreeBSD, Debian, Arch, разные конфигурации, разные версии. Общее одно - quagga и ospfd.

При этом, bird не падает - работает себе.

Share this post


Link to post
Share on other sites

У меня когда-то была проблема с оспф когда синхронизировалось время (ntpdate в кроне, и не говорите что это не правильно, знаю)

 

Share this post


Link to post
Share on other sites

ntpd надо поднимать на всех хостах.

Share this post


Link to post
Share on other sites

+1 к проблеме со временем. Но только ospfd не падал, а рвались "сессии" с соседями, через несколько, может с десяток секунд соседские отношения восстанавливались.

Share this post


Link to post
Share on other sites

Да, похоже, все-таки время. На одном сервере часы на час отставали.

Share this post


Link to post
Share on other sites

О, это я удачно зашел.

Неделю несчастный 3750G мучаю и не могу понять что у него за непонятная загрузка периодически проскакивает. Время на серверах разное было, видать маршруты постоянно обновлялись.

Edited by kayot

Share this post


Link to post
Share on other sites

не думаю что время виновато. у нас это вообще неучитывалось никогда не на серверах не на роутерах, стоит и quagga и bird на серверах причём они не падали вчера вообще, вчера вечером у нас роутер тоже заглючил который на внешку смотрит и работал без проблем пол года. там и ospf и bgp. скорей всего на внешке проблема была.

Share this post


Link to post
Share on other sites

Сегодня была вторая волна.

Виноваты все-таки часы. Настроил на всех хостах ntp - работает.

На некоторых от греха подальше заменил кваггу на bird.

Share this post


Link to post
Share on other sites

Фиг там.

На всех хостах ntpd настроен и работает. Некоторые все равно валятся. :(

Share this post


Link to post
Share on other sites
Фиг там.

На всех хостах ntpd настроен и работает. Некоторые все равно валятся. :(

ntpd переводит время? На сколько(максимум) за один раз?

 

Share this post


Link to post
Share on other sites

Запустите tcpdump на всех серверах с ospf:

tcpdump -i any "proto ospf" -s 0 -w /root/ospf_dump

 

Может удасться выявить какую-нибудь гадость

Share this post


Link to post
Share on other sites

s.lobanov,

Спасибо. Не допер. :) На всех, правда, не получится, запустил на некоторых.

Фиг там.

На всех хостах ntpd настроен и работает. Некоторые все равно валятся. :(

ntpd переводит время? На сколько(максимум) за один раз?

ntpd, насколько я знаю, при возникновении рассинхронизации ускоряет либо замедляет часы. За несколько минут упущенные 2-3 милисекунды догоняются.
Edited by Abram

Share this post


Link to post
Share on other sites
Фиг там.

На всех хостах ntpd настроен и работает. Некоторые все равно валятся. :(

ntpd переводит время? На сколько(максимум) за один раз?

ntpd, насколько я знаю, при возникновении рассинхронизации ускоряет либо замедляет часы. За несколько минут упущенные 2-3 милисекунды догоняются.

Выделенное жирным - предположение или факт? Если предпложение, то надо посмотреть что происходит на самом деле(обычно надо смотреть что-то типа /var/log/ntp - там пишется насколько подводятся часы). У меня было так - если подводилось, на время, соизмеримое с hello-интервалом, то соседство разрушалось(но segfault-а не было). Передел конфиг ntpd, чтобы он очень часто на маленькие интервалы подводил время - всё стало ок.

 

Кстати, ваш баг врядли кто-то будет разбирать. segfault без корки - деньги на ветер.

Share this post


Link to post
Share on other sites
Выделенное жирным - предположение или факт?
Предположение. Читал где-то.
Кстати, ваш баг врядли кто-то будет разбирать. segfault без корки - деньги на ветер.
Кстати, да. Пересоберу в debug и запущу под gdb.
Edited by Abram

Share this post


Link to post
Share on other sites

Заметил, что ospfd с большой вероятностью падает, если ребутнуть несколько узлов. Возможно, получается флуд - не знаю.

Удалось воспроизвести. Сделал корку и tcpdump, отправил по адресу.

Share this post


Link to post
Share on other sites

Опять сегодня все рухнуло. Пока не убил bird на соседней машине - не поднималось (сразу падало в сегфолт). Так что подозрение на bird.

Share this post


Link to post
Share on other sites

Просмотрел tcpdump. Действительно, bird флудил LS Update-ами.

Нашел еще один bird =). Поставил на один сервер и забыл. Он тоже флудил, но поменьше. Сейчас пристрелю птичку певчую и опять буду проводить краш-тест.

Edited by Abram

Share this post


Link to post
Share on other sites

Краш-тест пройден.

 

Результат: виноваты и bird, и quagga (ospfd).

Первый - потому что флудит. Второй - потому что от этого падает.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this