NetWorker: сервер периодически не отвечает из-за неочищенных вызовов API REST
Summary: Серверный процесс (nsrd) NetWorker 19.13 или 19.14 периодически перестает отвечать из-за запросов API REST, создающих неочищаемые соединения jsvc.
Symptoms
Сообщения о проблемах:
- Сервер NetWorker (
nsrd) перестает отвечать. - Операции защиты NetWorker останавливаются или завершаются сбоем, сообщая о различных ошибках, связанных с подключением; Например, "
RPC connection timed out" или "Connection limit reached» - Пользовательские интерфейсы NetWorker перестают отвечать или не удается подключиться:
- NetWorker Management Console (NMC)
- Пользовательский веб-интерфейс NetWorker (NWUI)
nsrwatchnsradmin
- В среде настроены служебные программы создания отчетов API-интерфейса REST, которые подключаются к серверу NetWorker для создания отчетов или управления тикетами.
- Версия сервера NetWorker: 19.13.0.0 > , 19.13.0.3 или 19.14.0.0
Cause
Каждый запрос REST API NetWorker выполняет проверку подлинности по внутреннему AUTHC Службы. Запросы API создают подключения к AUTHC , но после этого эти соединения не закрываются.
[root@nsr ~]# netstat -apno | grep jsvc | head tcp6 0 0 :::9090 :::* LISTEN 2406135/jsvc.exec off (0.00/0/0) tcp6 0 0 :::36523 :::* LISTEN 2406135/jsvc.exec off (0.00/0/0) tcp6 0 0 ::1:60705 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6550.56/0/0) tcp6 0 0 ::1:45705 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6407.22/0/0) tcp6 0 0 ::1:36707 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6825.20/0/0) tcp6 0 0 ::1:57761 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6731.29/0/0) tcp6 0 0 ::1:51473 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6242.11/0/0) tcp6 0 0 ::1:58453 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6446.28/0/0) tcp6 0 0 ::1:53133 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6689.33/0/0) tcp6 0 0 ::1:49749 ::1:8779 ESTABLISHED 2406135/jsvc.exec keepalive (6618.93/0/0)
[root@nsr ~]# netstat -apno | grep jsvc | wc -l 4050
В этом примере с NetWorker связано 4050 подключений AUTHC сервис (jsvc).
Это утрированный пример из лабораторной среды, в которой REST API запрашивался один раз в секунду. В производственной среде проблема может проявиться при гораздо меньшем количестве AUTHC подключения, так как другие операции, устройства и рабочие процессы защиты NetWorker также потребляют доступные подключения и системные ресурсы.
В нормальных условиях два jsvc присутствуют во время работы сервера NetWorker. Дополнительно jsvc-связанные подключения могут появляться временно в зависимости от выполняемых операций, но они должны закрываться, когда больше не нужны. Не ожидается, что мы увидим десятки или тысячи jsvc подключений, оставшихся в keepalive в течение длительных периодов времени.
Resolution
Исправление кода NETWORKER-127181 ожидается в следующих выпусках NetWorker:
- 19.13.0.4
- 19.14.0.1
Временное решение.
Перезапустить Серверные сервисы NetWorker:
- Linux.
systemctl restart networker - Windows (синтаксис PowerShell):
net stop nsrd ; net start nsrd
Additional Information
Обеспечить OS TCP и передовые подходы к ядру: NetWorker: Рекомендации по настройке сети