Описание проблемы
В большинстве случаев, длительная, либо полностью зависающая синхронизация OLT в EMS связана с высокой SNMP-нагрузкой на OLT. При этом нагрузку создаёт не только EMS, но и сторонние системы мониторинга и управления — например Zabbix, PRTG, LibreNMS, различные SNMP poller, системы телеметрии и пользовательские скрипты.
Во время синхронизации EMS выполняет большое количество SNMP-запросов к OLT для получения информации об ONT, интерфейсах, сервисах и статистике. Если OLT одновременно активно опрашивается несколькими системами, устройство начинает медленно отвечать на SNMP-запросы либо перестаёт отвечать на часть из них.
Обычно проблема проявляется следующим образом:
синхронизация OLT в EMS выполняется очень долго, либо не завершается;
появляются SNMP timeout (Ошибка : Системная ошибка обработки SNMP запроса: TIMEOUT/Timeout: 60000 ms);
данные по ONT обновляются частично;
OLT остаётся доступной по ICMP и CLI.
Чаще всего это наблюдается на OLT с большим количеством ONT, высокой загрузкой CPU и интенсивным SNMP polling. Дополнительно ситуацию могут усугублять проблемные ONT с OMCI-ошибками.
Причины
Самой частой причиной является перегрузка OLT большим количеством SNMP-запросов от нескольких систем одновременно. Когда OLT не успевает обрабатывать SNMP-запросы:
увеличивается время ответа;
появляются retransmission и timeout;
EMS не может завершить синхронизацию OLT в отведённое время (60000 ms).
Диагностика
Проверка стороннего SNMP polling
Необходимо проверить, какие внешние системы дополнительно опрашивают OLT, а также частоту polling interval и наличие тяжёлых SNMP walk. На практике именно сторонние системы мониторинга чаще всего создают избыточную нагрузку.
Проверка OLT
На OLT рекомендуется проверить:
- загрузку CPU и памяти;
show system environment
- количество ONT;
show interface ont <pon-ports> connected
- packet-drop на uplink;
switch show interfaces detailed counters <uplink>
При высокой нагрузке на CPU, OLT может отвечать на SNMP-запросы с задержкой. Также при большом количестве активных ONT, увеличивается общее время вычитывании всей информации по OLT. Активный рост ошибок на uplink-интерфейсе провоцирует потери и задержки в SNMP-сообщениях.
Дополнительная проверка ONT
Дополнительно рекомендуется проверить на OLT наличие проблемных ONT с OMCI-ошибками и нестабильной регистрацией, так как они также могут увеличивать нагрузку на OLT и замедлять синхронизацию.
Анализ дампов трафика
Если синхронизация OLT в EMS выполняется очень долго либо не завершается вообще, но OLT доступна по IP, необходимо анализировать дампы трафика во время синхронизации.
На EMS-сервере выполните захват трафика утилитой tcpdump:
tcpdump -i <interface> host <OLT_IP> -w olt_sync.pcap
Дамп следует анализировать в Wireshark, обращая внимание на:
- SNMP retransmission;
- timeout;
- packet loss;
- большое количество SNMP GET/GETNEXT запросов.
Либо, можно произвести снятие дампа трафика с аплинка OLT по преднастроенному зеркалированию. Настройка зеркалирования на OLT описана в статьях [LTP-X, MA4000] Настройка зеркалирования трафика, [LTP-N, LTX, MA5160] Настройка зеркалирования.
Решение
В первую очередь рекомендуется временно отключить все сторонние системы, выполняющие SNMP-опрос OLT, и повторно запустить синхронизацию OLT в EMS. На практике именно параллельный SNMP polling от нескольких систем чаще всего создаёт избыточную нагрузку на OLT и приводит к длительной либо зависающей синхронизации.
Если в процессе анализа сетевых дампов обнаруживаются дополнительные серверы или IP-адреса, выполняющие SNMP-запросы к OLT, их также необходимо временно исключить из опроса и повторно проверить синхронизацию.
Если после отключения стороннего SNMP polling синхронизация OLT в EMS начинает выполняться корректно, это подтверждает, что причиной проблемы являлась избыточная SNMP-нагрузка на OLT.
Проверка результата
После снижения SNMP-нагрузки необходимо повторно выполнить синхронизацию OLT в EMS и убедиться, что:
- время синхронизации сократилось;
- отсутствуют SNMP timeout;
- данные ONT корректно обновляются в EMS.