# Хост Proxmox (192.168.1.150) Описание хоста Proxmox VE: скрипты, systemd-сервисы, пути и демоны. Контейнеры и ВМ описаны в отдельных статьях (container-100.md и т.д.). --- ## Общие сведения - **IP:** 192.168.1.150/24 - **Доступ:** `ssh root@192.168.1.150` - **Роль:** гипервизор (LXC + KVM), точка запуска бэкапов, деплой секретов в контейнеры --- ## Диски | Устройство | Тип | Размер | Использование | |--------------|------|--------|----------------------------------| | /dev/nvme0n1 | NVMe | 256 GB | LVM (система, local-lvm) | | /dev/sda | HDD | 2 TB | ZFS | | /dev/sdb | SSD | 2 TB | ext4, /mnt/backup | | /dev/sdc | HDD | 2 TB | ZFS (RAID1 с sda) | | /dev/sdd | HDD | 8 TB | ext4 (внешний) | --- ## Каталог скриптов: /root/scripts/ Скрипты копируются из репозитория в `/root/scripts/` на хосте. ### Бэкапы (backup-*) | Скрипт | Таймер | Назначение | |--------|--------|------------| | backup-vps-miran.sh | 01:00 | VPS Миран: БД бота, voice_users, S3 | | backup-ct101-pgdump.sh | 01:15 | Nextcloud PostgreSQL | | backup-immich-photos.sh | 01:30 | rsync фото Immich с VM 200 | | backup-vps-mtproto.sh | 01:45 | Конфиги MTProto (VPS DE) | | backup-etc-pve.sh | 02:15 | /etc/pve, interfaces, hosts, resolv.conf | | backup-ct104-pgdump.sh | 02:30 | Paperless PostgreSQL | | backup-vaultwarden-data.sh | 02:45 | Данные Vaultwarden | | backup-ct103-gitea-pgdump.sh | 03:00 | Gitea PostgreSQL | | backup-vm200-pgdump.sh | 03:15 | Immich PostgreSQL (SSH на VM 200) | | backup-ct105-vectors.sh | 03:30 | Векторы RAG (vectors.npz) | | backup-restic-yandex.sh | 04:00 | restic → Yandex (без photos) | | backup-restic-yandex-photos.sh | 04:10 | restic → Yandex (только photos) | ### Дашборд мониторинга | Компонент | Назначение | |-----------|------------| | homelab-dashboard.service | Дашборд homelab (хост, контейнеры, сервисы) на порту 19998 | | /root/scripts/dashboard/ | Скрипты: dashboard-exporter.py, dashboard-server.py, index.html | | deploy-dashboard.sh | Деплой дашборда на хост | | add-to-homepage.sh | Добавить ссылку в Homepage (CT 103) | **URL:** http://192.168.1.150:19998 ### Мониторинг и уведомления | Скрипт | Назначение | |--------|------------| | healthcheck-ping.sh | Ping Healthchecks (04:35) — Dead man's switch | | watchdog-timers.sh | Проверка .ok файлов (12:00), алерт в Telegram при отсутствии | | smartd-notify.sh | Вызывается smartd при проблемах с дисками | | notify-telegram.sh | Общий шлюз уведомлений в Telegram | | notify-vzdump-success.sh | Уведомление после успешного vzdump (по systemd path) | ### Деплой (deploy-*) Скрипты разворачивают секреты из Vaultwarden в контейнеры и на VPS: | Скрипт | Куда | |--------|------| | deploy-beget-credentials.sh | CT 100 (certbot) | | deploy-nextcloud-credentials.sh | CT 101 | | deploy-gitea-credentials.sh | CT 103 | | deploy-paperless-credentials.sh | CT 104 | | deploy-rag-credentials.sh | CT 105 | | deploy-invidious-credentials.sh | CT 107 | | deploy-galene-credentials.sh | CT 108 | | deploy-wireguard-credentials.sh | CT 109 | | deploy-immich-credentials.sh | VM 200 | | deploy-vpn-route-check.sh | CT 100 (vpn-route-check) | ### Прочее | Скрипт | Назначение | |--------|------------| | immich-pgdump-remote.sh | Копируется на VM 200, вызывается backup-vm200-pgdump.sh по SSH | | restore-one-vzdump-from-restic.sh | Восстановление одного vzdump из Yandex | | verify-restore-level1.sh, verify-vzdump-level2.sh | Проверка восстановления | | backup-setup-sdb1-mount.sh | Монтирование /dev/sdb1 в /mnt/backup | | setup-vps-miran-backup-on-proxmox.sh | Настройка бэкапа VPS Миран на хосте | | npm-add-proxy.sh, npm-add-proxy-vault.sh, npm-cert-cloud.sh | Вспомогательные для NPM | --- ## Systemd: таймеры и сервисы Unit-файлы лежат в репозитории в `scripts/systemd/`, на хосте — в `/etc/systemd/system/`. ### Бэкапы (backup-*.timer) Все бэкапы запускаются через systemd timers (cron не используется). Расписание: [backup-howto.md](../backup/backup-howto.md). После успешного выполнения сервис создаёт файл `/var/run/backup-.ok` с timestamp. ### Watchdog (backup-watchdog-timers.timer) Ежедневно в **12:00** запускается `watchdog-timers.sh`: проверяет, что все `.ok` файлы свежие (не старше 24 ч). При отсутствии или устаревании — уведомление в Telegram. ### Healthcheck ping (backup-healthcheck-ping.timer) Ежедневно в **04:35** — ping в Healthchecks (Dead man's switch). Если бэкапы не прошли и ping не отправился, Healthchecks шлёт алерт. ### Vzdump (notify-vzdump-success) Задание vzdump настраивается в Proxmox UI. После успешного выполнения срабатывает path-юнит `notify-vzdump-success.service` → уведомление в Telegram. ### Проверка восстановления (verify-*) Таймеры для периодической проверки restic и vzdump: `verify-restore-level1-*`, `verify-vzdump-level2`. --- ## Ключевые пути | Путь | Назначение | |------|------------| | /mnt/backup/ | Локальные бэкапы (см. [backup-howto](../backup/backup-howto.md)) | | /var/run/backup-*.ok | Healthcheck-файлы для watchdog (timestamp последнего успешного запуска) | | /root/.healthchecks.env | URL и UUID для healthcheck-ping | | /root/.bw-master | Мастер-пароль Bitwarden CLI (chmod 600; для restic, pg_dump) | | /root/.restic-yandex.env | Переменные restic (репозиторий, ключи) | | /etc/smartd.conf | Конфигурация smartd | | /etc/pve/ | Конфиги Proxmox (бэкапятся в backup-etc-pve) | --- ## Демоны и сервисы | Сервис | Назначение | |--------|------------| | smartd | Мониторинг SMART дисков, при проблемах — smartd-notify.sh → Telegram | | pveproxy, pvedaemon | Proxmox API и веб-интерфейс | | corosync, pve-cluster | Кластер Proxmox (при одномузловой установке — локально) | --- ## Связанные документы - [Архитектура](../architecture/architecture.md) — обзор, контейнеры, поток запросов - [Бэкапы](../backup/backup-howto.md) — что, куда, когда, восстановление - [Схема сети](../network/network-topology.md) — топология, зависимости - [smartd](../monitoring/smartd-setup.md) — мониторинг дисков - [Healthchecks](../vps/healthchecks-miran-setup.md) — Dead man's switch на VPS Миран