Как диагностировать проблемы NFS и DNS
Как
диагностировать проблемы NFS и DNS
Назначение
DNS и NFS являются критическимикритически важными инфраструктурными зависимостями системы Printum.
Проблемы с нимиDNS или NFS могут вызывать:
- restart loop контейнеров;
отказнедоступностьПринтМенеджер;ПринтМенеджера;- ошибки синхронизации;
- недоступность
очередей;очередей печати; - проблемы
Встроенноеработыприложение.встроенных приложений;
Как диагностировать проблемы DNS
Проверка resolv.conf
Проверить:
cat /etc/resolv.conf
Убедиться:
Проверка hostname resolution
Проверить:
ping monitoring.local
Проверить:
Типовые признаки DNS-проблем
DNS
| Симптом | Возможная причина |
|---|---|
| hostname не |
|
| Ошибки timeout | |
Как
Диагностика диагностироватьDNS
Проверка resolv.conf
Проверить содержимое файла:
cat /etc/resolv.conf
Необходимо убедиться:
Проверка разрешения hostname
Проверить разрешение hostname:
ping monitoring.local
Дополнительно рекомендуется выполнить:
nslookup monitoring.local
Проверить:
Проверка сетевой связности
Проверить доступность серверов:
ping printmanager.local
При использовании отказоустойчивой конфигурации необходимо проверить связность между:
Диагностика NFS
Проверка доступности порта
NFS-портов
Проверить:Проверить доступность NFS:
telnet nfs-serverserver.local 2049
ПроверитьЕсли используется stunnel:
telnet nfs-serverserver.local 20490
Ожидаемый результат:
Connection refused.
Проверка mounted volumes
Проверка NFS volume в Docker
Проверить список Docker volumes:
docker volume ls
Найти volume, который используется ПринтМенеджером (printmanager-app).
Проверить параметры volume:
docker volume inspect <volume_name>
Проверить:
Проверка mount внутри контейнера
Проверить:Зайти в контейнер ПринтМенеджера:
docker exec -it printmanager-app sh
Проверить подключённые файловые системы внутри контейнера:
df -h
Дополнительно проверить доступность каталога:
ls -la <mount_path>
Проверить:
volumeкаталогmounted;доступен из контейнера;нетотсутствуютstaleошибкиmount;Stale file handle;нетфайловаяreadonlyсистемаmode.не находится в режимеread-only;
Проверка volumes
Проверить:
ls /var/lib/docker/volumes/
Проверка сервисов NFS
На NFSNFS-сервере server:проверить состояние сервисов:
systemctl status nfs-server.service
Если используется stunnel:
systemctl status stunnel.service
Проверить:
active (running);
отсутствуют restart loop;
отсутствуют ошибки systemd.
Перезапуск сервисов
NFSПри необходимости выполнить перезапуск:
systemctl restart nfs-server.service
Если используется stunnel:
systemctl restart stunnel.service
После перезапуска рекомендуется повторно проверить:
Что делать при restart loop контейнеров
Проверить:Если контейнеры Printum постоянно перезапускаются, необходимо последовательно проверить:
- DNS;
- NFS;
networkсетевуюconnectivity;связность;mountmountedpoints.volumes;
После исправления:устранения проблемы выполнить перезапуск контейнеров:
cd /opt/printmanager
docker-compose down && docker-compose up -d
Что
Дополнительная важнодиагностика Docker
Проверить состояние контейнеров:
docker ps -a
Просмотреть логи контейнера:
cd /opt/printmanager/
docker-compose logs -f --tail=5
Важно помнить
- DNS
—являетсяоднаодной из самых частых причин инфраструктурных отказов. - NFS
критиченкритически важен для работыПринтМенеджер.отказоустойчивой конфигурации ПринтМенеджера. - Большинство restart loop связано с инфраструктурными зависимостями.
- Проверка DNS и NFS должна быть первым
шагомэтапом диагностики. - В Active-Active конфигурации стабильная работа DNS и NFS обязательна для всех узлов кластера.