Page 5 of 6

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 25 Jun 2018, 13:45
by dimka88
Тоже на стенде поковырял, воспроизвести не удалось.

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 25 Jun 2018, 14:57
by KovAl
На стенде у меня тоже не получилось, поэтому и спросил, возможно ли вообще такое в теории..
А предположение появилось вот отсюда - у меня в ЛК сделан сброс "гостевого соединения" (того, которое поднимается при radius reject).
Это сделано для того, чтобы абонент, сменивший "железку" не ожидал таймаута (30 мин.).
Абонент в ЛК просто подтверждает своё действие и через минуту получает "легальное подключение".
Так вот.. Есть в этом функционале такой код

Code: Select all

php
$iface = preg_replace("/^(\d{4})(\d+)$/","eth0.$1.$2",$acc_id);
.....
exec("/bin/sleep 3 && /usr/local/bin/sudo /usr/bin/ssh ".$nas." '/usr/bin/accel-cmd terminate if ".$iface."' > /dev/null 2>&1");
....
где $nas - это IP сервера с accel, $acc_id - это фактически svlan+cvlan id слитно "без точки" (например, 38691305), получаемый из mysql запроса.
Вот у меня и возникло предположение, что в какой-то момент - особенно во время массового перевода абонентов с PPPoE - возникает
нестандартная ситуация, когда в accel-cmd прилетает что-то "кривое", например, "пусто",
или ещё какое-то "уродливое сочетание" после "..terminate if ..." Что в итоге приводит к исполнению команды "eth0 down".
На всякий случай заменил "terminate if" на "terminate ip".
Завтра буду "тестировать" (перевод очередного "сегмента" на IPoE).

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 25 Jun 2018, 17:31
by dimka88
А на 82576 было выключение интерфейса?

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 03 Jul 2018, 11:32
by KovAl
dimka88 wrote: 25 Jun 2018, 17:31 А на 82576 было выключение интерфейса?
Было. На сегодняшний день уже дважды...
Т.о. сетевая карта не при делах..
Замена "accel-cmd terminate if..." на "accel-cmd terminate ip..." в собственных скриптах также ничего не изменила.
Подтверждается вчерашним (2.07.18) падением.
Что примечательно, последняя процедура перевода на IPoE проблем не вызвала.

Тупик.. :(

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 03 Jul 2018, 18:06
by dimka88
В скриптах ничего больше нет криминального? Это просто мистическая ситуация =)
Не вызывается ethtool в скриптах?

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 03 Jul 2018, 19:41
by KovAl
dimka88 wrote: 03 Jul 2018, 18:06 Не вызывается ethtool в скриптах?
Нет.
Ничего, работающего "напрямую" с интерфейсами NAS, нет.
Всё управление осуществляется штатными утилитами - accel-cmd, radclient.

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 04 Jul 2018, 11:54
by KovAl
Может есть смысл "пересобраться" на 4-м ядре (сейчас - 3.10.108-1.el6.elrepo.x86_64)?
Для "моего" CentOS 6.9 есть ядро 4.4.138-1.el6.elrepo.x86_64, ставится без проблем yum-ом.
accel на нём собирается без вопросов. Всё проверял на "игрушечной" старинной супермикре.

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 13 Jul 2018, 11:38
by KovAl
Переход на 4-е ядро (4.4.140-1.el6.elrepo.x86_64) ничего не изменил - всё так же непредсказуемо уходит в down "родительский" интерфейс..
Где ещё поискать "чёрную кошку"??

P.S. А не может быть этой "кошкой" демон snmpd? Ведь он активно шуршит по ВСЕМ интерфейсам..
Сегодня, "играясь" с логированием snmpd (ещё на ядре 3.10), каким-то образом умудрился загнать сервер в kernel panic.
В параметрах запуска snmpd только менял опции логирования, после чего и получил "ядром по лбу"..
После чего перешёл на 4-ку (accel и модули ipoe/vlan_mon пересобрал конечно) и получил тот же ethXX down, причём несколько раз за пару часов..
Возможно, конечно, сие (snmpd) - есть банальное совпадение, но..

P.P.S. А accel по-дефолту собирается с поддержкой snmp, или нет?

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 13 Jul 2018, 11:51
by dimka88
Если не указывать -DNETSNMP=TRUE то без него собирается. Я думаю стоит попробовать отключить snmp

Re: Спонтанное отключение всех IPoE интерфейсов

Posted: 13 Jul 2018, 14:31
by KovAl
Вот ещё такая мыслЯ появилась - а что если отключить на интерфейсе auto negotiation?
Сейчас у меня вот так -

Code: Select all

Pause parameters for eth2:
Autonegotiate:  on
RX:             off
TX:             off
P.S. Упс.. А похоже, что не отключается он.. Команду кушает, а вывод Autonegotiate всё одно "on".. :(