Всем добрый день.
Есть интересная проблема с DGS-3627G. Для которой найдено на мой взгляд не стандартное решение, которое я считаю не совсем правильным.
Коротко схема сети:
Device Type DGS-3627G Gigabit Ethernet Switch
Boot PROM Version Build 1.10-B09
Firmware Version Build 2.40-B73
Hardware Version A1
Данный коммутатор является центральным в сети на 2500 человек.
Шлюзы всех пользовательских под сетей прописаны на нем.
Шлюз довольно больших файловых архивов также прописан на данном устройстве.
Через 2-х гигабитный транк (LACP) этот свитч соединен с DGS-3100-24 к которому подключены все локальные сервера.
Все подсети в разных виланах. Все маршрутизирует DGS-3627G.
Проблема:
В определенный момент времени пропадает трафик с локальных серверов.
И самое интересное, что именно с http серверов, ftp работают нормально. На игровых серверах периодически происходит дисконект.
Трафик пропадает на различных серверах с разной периодичностью и по отдельности, т.е. не на всех сразу.
В логах свитчей пусто.
Как это выглядит видно на графике. Тут видны лишь короткие обрывы. Обрывы бывали и по 10-15 минут.
Статистика снята с одного из www серверов. При этом перестает ходить tcp и udp. Сайты не открываются, по telnet, ssh, ftp, http - зайти не возможно. Сервера только пингуются. Причем первый пинг высокий (2-3 мс), все последующие <1 мс.
Причем замечено, если трафик пропал на длительное время, нужно просто пингануть сервер и все опять работает на какое то время. Если ставить пинг с серверов на шлюз, то трафик ходит нормально. Задержек или обрывов пинга при этом нет, оставлял на более чем сутки.
Перепробывал практически все, менял подсети, маски, игрался с настройками транка, перепробывал все известные и неизвестные функции свитча.
Кстати, если при этом снять шлюз со свитча и прописать его, например на PC роутере, то все работает отменно. Т.е. это все началось, когда я перевел локальные сервера в обход биллинга. Тем самым оправдались худшие подозрения - проблема либо в не сильно прямых руках, либо в DGS-3627G.
После нескольких дней непоняток куда рыть - стал идти простым способом - ждать и следить.
В момент очередного пропадания трафика tcpdump на одном из www серверов выдал множественные ARP запросы к этому серверу, на что сервер послушно ответил ARP ответами сообщив свой MAC. Но свитч упорно продолжал арпить, как бы не видя ответа.
Решение проблемы:
Решение оказалось тривиальным.
Я просто прописал в Static ARP Settings жестко все IP и MAC всех локальных серверов - и все как рукой сняло.
ARP таблица на свитче не переполнялась.
Перед такими сбоями я замечал небольшое увеличение загрузки CPU свитча на 10-15% от обычного режима, но скажем в 4 случаях из 5-ти.
Кстати, подсеть локальных серверов единственная имеет меску /26, все остальные подсети /24 или /30 на которых проблема не наблюдалась.
Вопрос:
1) Возможные причины такого поведения коммутатора?
2) Я не хочу привязывать на свитч всех пользователей! Не возникнет ли проблема с другими интерфейсами и тут же вопрос - почему ее сейчас нет?