Expand the root disk size from 35 GB to 50 GB and implement log size limits for Docker containers. Add details about the new monitoring dashboard for homelab services, including deployment instructions and access URL. Ensure clarity on log rotation policies and risks associated with disk space usage.
158 lines
7.7 KiB
Markdown
158 lines
7.7 KiB
Markdown
# Хост 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-<name>.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 Миран
|