# 12. Решение проблем В этом разделе собраны типичные проблемы, возникающие при эксплуатации инфраструктуры, и способы их устранения. ## Содержание - [SSH: не удаётся подключиться](#ssh-не-удаётся-подключиться) - [Samba: не монтируются шары](#samba-не-монтируются-шары) - [NPM: сертификат не выпускается](#npm-сертификат-не-выпускается) - [Docker: контейнер не запускается](#docker-контейнер-не-запускается) - [Proxmox: ВМ не стартует](#proxmox-вм-не-стартует) - [Grafana: нет данных](#grafana-нет-данных) - [Immich: не загружаются фото](#immich-не-загружаются-фото) - [Jellyfin: аппаратное ускорение не работает](#jellyfin-аппаратное-ускорение-не-работает) - [Общие проверки](#общие-проверки) --- ## SSH: не удаётся подключиться ### Симптомы - `Connection refused` - `Permission denied (publickey)` - Таймаут подключения ### Проверка 1. Доступен ли хост по сети: ```bash ping 192.168.1.201 ``` 2. Слушает ли SSH: ```bash ssh -v user@192.168.1.201 ``` 3. Проверьте файрвол на хосте: ```bash ufw status iptables -L -n -v | grep 22 ``` 4. Проверьте конфиг SSH на хосте: ```bash grep -E '^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)' /etc/ssh/sshd_config ``` ### Решение - Если порт не слушается: `systemctl status sshd` - Если файрвол блокирует: разрешить порт 22 из нужной подсети - Если проблема с ключами: убедиться, что ключ добавлен в `~/.ssh/authorized_keys` и права на файлы корректны (`600` для ключа, `700` для `.ssh`) --- ## Samba: не монтируются шары ### Симптомы - `mount error(13): Permission denied` - `mount error(112): Host is down` - В Windows не видит шару ### Проверка 1. Работает ли Samba на сервере: ```bash systemctl status smbd ``` 2. Правильный ли протокол (версия SMB): ```bash smbclient -L //192.168.1.203 -U zailon ``` 3. Проверка конфигурации: ```bash testparm ``` ### Решение - Убедиться, что пользователь существует в Samba: ```bash pdbedit -L ``` - Проверить `hosts allow` в `smb.conf` – должна быть разрешена подсеть клиента - Для Docker-контейнеров (qbittorrent) проверить, что учётные данные в `/etc/smb-creds/qb` корректны и файл имеет права `600` - Если используется шифрование `required`, убедиться, что клиент его поддерживает (для Windows 10/11 включено по умолчанию) --- ## NPM: сертификат не выпускается ### Симптомы - В интерфейсе NPM сертификат в статусе `Error` - Ошибка `Failed to issue certificate` в логах ### Проверка 1. Доступен ли домен из интернета: ```bash dig ab.zailon.ru ``` 2. Открыт ли порт 443 на роутере 3. Логи NPM: ```bash docker logs npm 2>&1 | grep -i error ``` ### Решение - Убедиться, что DNS-запись `A` для домена указывает на внешний IP `188.73.191.202` - Убедиться, что порт 443 на роутере проброшен на `192.168.1.201:443` - Если используется Let's Encrypt, проверить, что не превышен лимит запросов - Для внутренних доменов (без публичного доступа) использовать самоподписанные сертификаты или DNS-челлендж --- ## Docker: контейнер не запускается ### Симптомы - `docker start` выдаёт ошибку - Контейнер падает сразу после запуска - В логах ошибки ### Проверка 1. Посмотреть логи контейнера: ```bash docker logs ``` 2. Проверить, нет ли конфликта портов: ```bash docker ps -a ss -tulnwp | grep ``` 3. Проверить права на монтированные тома: ```bash ls -la /path/to/mount ``` ### Решение - Исправить ошибки в конфигурации (обычно они видны в логах) - Освободить занятый порт или изменить маппинг портов в `docker-compose.yml` - Убедиться, что пользователь внутри контейнера имеет доступ к смонтированным папкам (UID/GID) --- ## Proxmox: ВМ не стартует ### Симптомы - Ошибка `TASK ERROR: unable to open file '/etc/pve/nodes/olimp/qemu-server/205.conf'` - Ошибка `kvm: no such device` - ВМ зависает на старте ### Проверка 1. Статус служб Proxmox: ```bash systemctl status pve-cluster pvedaemon qemu-server ``` 2. Проверить наличие свободного места на хранилище: ```bash pvesm status ``` 3. Посмотреть логи: ```bash journalctl -u pvedaemon -f ``` ### Решение - Если проблема с конфигурационным файлом – восстановить из бэкапа (см. раздел 11) - Если не хватает памяти – остановить другие ВМ или увеличить ресурсы - Если ошибка KVM – убедиться, что виртуализация включена в BIOS и модули загружены: ```bash lsmod | grep kvm ``` --- ## Grafana: нет данных ### Симптомы - Дашборды не отображают метрики - Ошибка `No data` или `Data source not found` ### Проверка 1. Доступен ли источник данных (VictoriaMetrics, Loki): ```bash curl http://192.168.1.208:8428/api/v1/query?query=up curl http://192.168.1.208:3100/loki/api/v1/query_range?query={job="node_exporter"} ``` 2. Работает ли Promtail на хостах: ```bash systemctl status promtail ``` 3. Проверить конфигурацию источников данных в Grafana (Settings → Data Sources) ### Решение - Перезапустить VictoriaMetrics, Loki, Promtail - Проверить сетевые доступы между `manage` и другими хостами (порты 8428, 3100, 9080) - Убедиться, что файлы конфигурации Promtail корректны (пути к логам, метки) --- ## Immich: не загружаются фото ### Симптомы - Ошибка загрузки в веб-интерфейсе или приложении - Файлы не появляются в библиотеке ### Проверка 1. Статус контейнеров Immich: ```bash docker ps | grep immich ``` 2. Логи сервера: ```bash docker logs immich_server | tail -50 ``` 3. Доступность хранилища: ```bash df -h /mnt/immich ``` ### Решение - Проверить права на папку загрузок: должны быть доступны пользователю внутри контейнера (обычно 1000:1000) - Убедиться, что база данных PostgreSQL работает и доступна - Проверить конфигурацию обратного прокси (NPM) – не обрезает ли большие файлы (должно быть `client_max_body_size 2000m`) --- ## Jellyfin: аппаратное ускорение не работает ### Симптомы - Высокая загрузка CPU при воспроизведении - В логах ошибки `Failed to open VAAPI device` ### Проверка 1. Наличие устройства `/dev/dri` в контейнере: ```bash docker exec jellyfin ls -la /dev/dri ``` 2. Установлены ли драйверы на хосте: ```bash apt list --installed | grep -E 'intel-media-va-driver|mesa-va-drivers' ``` ### Решение - Добавить в `docker-compose.yml`: ```yaml devices: - /dev/dri:/dev/dri ``` - Установить драйверы на хосте `media`: ```bash apt install intel-media-va-driver-non-free ``` - Включить аппаратное ускорение в настройках Jellyfin (Администрирование → Воспроизведение → Аппаратное ускорение → VAAPI) --- ## Общие проверки Если проблема не локализована, выполните следующие шаги: 1. **Логи** – первое, что нужно смотреть: - Системные: `journalctl -xe` - Docker: `docker logs ` - Samba: `tail -f /var/log/samba/log.smbd` 2. **Сеть** – проверить доступность и открытые порты: ```bash ping 192.168.1.200 traceroute 192.168.1.200 nmap -p 22,80,443 192.168.1.201 ``` 3. **Диски** – проверить свободное место: ```bash df -h pvesm status # на Proxmox ``` 4. **Файрвол** – временно отключить для теста: ```bash ufw disable # только для теста! ``` 5. **Перезагрузка** – иногда помогает: ```bash reboot ``` --- **Связанные разделы:** - [Сеть и доступ](04-network.md) - [Samba – файловые шары](05-samba.md) - [Проксирование и SSL (NPM)](07-proxy-ssl.md) - [Мониторинг и логирование](08-monitoring.md)