dil

Очередная загадка для системных администраторов

Nov 14, 2016 13:51


Сегодня с утра начали поступать жалобы, что наши приложения в одном из датацентров периодически не могут достучаться до нужных им серверов. И клиенты, типа, жалуются на то же самое - что периодически не могут достучаться до наших тамошних серверов.

Ну я первым делом проверил живость наших машинок - количество процессов, загрузку процессоров, отсутствие проблем с дисками, но вроде всё в норме. Попробовал оттуда позапускать telnet, traceroute, tcptraceroute в сторону нужных серверов - и в натуре, то работает, то не работает. Ощущение такое, что где-то по дороге сеть перегружена, и оттого пакеты частично пропадают. Причём пропадают прямо сразу, traceroute иногда даже первого хопа не видит, хотя это наш собственный маршрутизатор на pfSense. Зашёл на него, процессор не сильно загружен, памяти хватает, своп вообще не используется, диск полупустой, трафик не сильно большой. На всякий случай спросили у провайдера, он прислал примерный график входящего/исходящего трафика за последние сутки, так вообще мелочи, меньше мегабита в секунду.

Итак, вопрос: попробуйте угадать, что там случилось, и как его починить.

Ответ под катом.

Присмотрелся в веб-интерфейс pfSense, а там.. State table: 100% (149942/150000)
Ну первым делом увеличил размер таблицы до 200000, и всё заработало как надо. Потом посмотрел в саму таблицу, и оказалось, что там многие тысячи соединений из одной клиентской подсетки на один наш сервер, для которого pfSense реализует 1:1 NAT.
Потом я ещё посмотрел на сам сервер, а там этих соединений на порядок меньше, но большинство из них в состоянии TIME_WAIT. Только по таймауту и отвалятся, но это нескоро.

То есть, получается, что трафика-то было немного, а вот соединений много, и это вызвало переполнение таблицы, а последующие попытки соединиться только ухудшали состояние.
С такой засадой я встретился впервые. И хорошо ещё, что pfSense явно показал заполненность этой таблицы. Будь там маршрутизатор без веб-интефейса, я б не догадался..

Оригинал этой записи в личном блоге.
(
| Комментировать в Dreamwidth)

ирландия, грабли, задачки для сисадминов, networking, рабочее, дублин, pfsense

Up