Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Описание проблемы

На кластере ECSS-10, работающем на ОС Astra linux, кластер RestFS показывает статус disconnected_by_timeout (отключен по таймауту), хотя сам сервис (nginx/openresty, порт 9990) работает

Диагностика

Переключение default host restfs на 127.0.0.1 → показывает статус connected, обратно на system.restfs.ecss → таймаут. 


admin@[mycelium1@]:/$ restfs/change default host 127.0.0.1

admin@[mycelium1@]:/$ restfs/list
┌────────────┬─────────────────────┬─────────┐
│Cluster name│        Peer         │ Status  │
├────────────┼─────────────────────┼─────────┤
│default     │http://127.0.0.1:9990│connected│
└────────────┴─────────────────────┴─────────┘

admin@[mycelium1@]:/$ restfs/change default  host system.restfs.ecss


admin@[mycelium1@]:/$ restfs/list
┌────────────┬──────────────────────────────┬───────────────────────┐
│Cluster name│             Peer             │        Status         │
├────────────┼──────────────────────────────┼───────────────────────┤
│default     │http://system.restfs.ecss:9990│disconnected_by_timeout│
└────────────┴──────────────────────────────┴───────────────────────┘


Вывод: проблема не в restfs, а в резолвинге доменного имени system.restfs.ecss.

Корневая причина

 В конфигурации dnsmasq /etc/dnsmasq.d/ecss стояла строка server=77.88.8.8 (взята из примера в инструкции по установке - там предлагается указать свой DNS, локальный или глобальный, а 77.88.8.8 приведён просто как образец). Внешний DNS 77.88.8.8 из контура клиента недоступен — все  forward-запросы висели до таймаута, очередь dnsmasq набивалась до лимита в 150, и dnsmasq переставал отвечать даже на локальные имена зоны .ecss.

Решение

На обоих серверах в конфигурации dnsmasq /etc/dnsmasq.d/ecss закомментировать #server=77.88.8.8 и перезагрузить dnsmasq.

  • Нет меток