bkp26 — Резервное копирование (Bareos Director)
Общее
| Параметр |
Значение |
| Тип |
CX23 (2 vCPU, 3.7 GB RAM, 40 GB SSD) |
| ОС |
Ubuntu 24.04.4 LTS (Noble Numbat) |
| Ядро |
6.8.0-90-generic |
| Public IP |
178.104.183.52 |
| Private IP |
10.26.0.8 |
| FQDN (внутренний) |
bkp26-local.digiproduct.co.il |
| Timezone |
Asia/Jerusalem |
| Проект |
infra26 |
| SSH |
ssh digi.i26.bkp26 (порт 1022) |
| Ansible playbook |
project/bkp26.yml |
Архитектура
bkp26 — центральный Bareos Director кластера infra26. Управляет резервным копированием всех серверов: запускает задания, получает данные от File Daemon'ов и записывает через Storage Daemon в Hetzner Object Storage.
Bareos Director (bkp26)
├── → FD на каждом сервере (порт 9102) — получает файлы
└── → SD (локальный, порт 9103) — пишет в S3 через dplcompat
└── → Hetzner Object Storage fsn1 / bucket: digibkpinfra26
Сервисы
| Сервис |
Версия |
Порт |
Описание |
| bareos-director |
25.0.4 |
0.0.0.0:9101 |
Управление заданиями резервного копирования |
| bareos-storage |
25.0.4 |
0.0.0.0:9103 |
Storage Daemon (запись в S3 через dplcompat) |
| bareos-filedaemon |
25.0.4 |
0.0.0.0:9102 |
Клиент (бэкап самого bkp26) |
| PostgreSQL |
17 |
0.0.0.0:5432 |
Каталог Bareos (catalog DB) |
| Nginx |
— |
0.0.0.0:80, 0.0.0.0:443 |
Bareos WebUI |
| PHP-FPM |
8.3 |
unix socket |
Backend WebUI |
| Postfix |
— |
0.0.0.0:25 |
Отправка уведомлений из Bareos |
| node_exporter |
— |
10.26.0.8:9100 |
Prometheus-метрики хоста |
| glpi-agent |
1.15 |
— |
Инвентаризация (glpi.digiproduct.co.il) |
Bareos WebUI
| Параметр |
Значение |
| URL |
https://bkp26.digiproduct.co.il |
| Backend |
PHP 8.3-FPM (unix socket) |
| SSL |
Let's Encrypt, certbot |
| Cron обновления |
0 3 * * * → certbot-helper.sh |
Зарегистрированные клиенты
Задания резервного копирования
Системные бэкапы (WeeklyCycle, 90 дней, max 100 томов)
| Задание |
Клиент |
bkp26-sys.s3 |
bkp26 |
lb26-sys.s3 |
lb26 |
mon26-sys.s3 |
mon26 |
dbprod26-sys.s3 |
dbprod26 |
dbtest26-sys.s3 |
dbtest26 |
prod26-sys.s3 |
prodapp26 |
test26-sys.s3 |
test26 |
Бэкапы сайтов (prod)
| Задание |
Расписание |
Клиент |
prod26-10-edupsyhappy.co.il.s3 |
HourlyCycle |
prodapp26 |
prod26-11-docs.digiproduct.co.il.s3 |
WeeklyCycle |
prodapp26 |
Бэкапы сайтов (test)
| Задание |
Клиент |
test26-10-dev.mitgavrim.digiproduct.co.il.s3 |
test26 |
test26-11-stage.mitgavrim.digiproduct.co.il.s3 |
test26 |
test26-12-makeitdigital.digiproduct.co.il.s3 |
test26 |
test26-13-conector.nonomimi.digiproduct.co.il.s3 |
test26 |
test26-14-conector.stage.nonomimi.digiproduct.co.il.s3 |
test26 |
test26-15-nonomimi2.digiproduct.co.il.s3 |
test26 |
test26-16-littleriverguesthouse.digiproduct.co.il.s3 |
test26 |
Системные задания Bareos
| Задание |
Описание |
backup-bareos-fd |
Бэкап самого Bareos FD |
BackupCatalog |
Бэкап PostgreSQL-каталога |
RestoreFiles |
Задание восстановления |
Хранилище (S3)
| Параметр |
Значение |
| Провайдер |
Hetzner Object Storage (S3-compatible) |
| Хост |
fsn1.your-objectstorage.com |
| Бакет |
digibkpinfra26 |
| Драйвер |
dplcompat (S3-Dplcompat) |
| Макс. параллельных заданий |
1 (на storage device) |
Каждый сервер имеет отдельный Storage Device: <client>-s3-dplcompat.
Каталог хранится в PostgreSQL 17 на этом же сервере.
bconsole
Доступ разрешён из сетей:
192.168.20.0/24 (Docker-сеть infra)
192.168.21.0/24 (Docker-сеть cli)
192.168.22.0/24 (Docker-сеть web)
192.168.23.0/24 (Docker-сеть fpm)
10.26.0.8/24 (приватная сеть кластера)
Подключиться из любого cli/fpm Docker-контейнера на prodapp26 или test26.
Мониторинг
| Компонент |
Порт |
Scraped by |
| node_exporter |
10.26.0.8:9100 |
116.203.108.152, 46.224.166.151 (mon26) |
| glpi-agent |
— |
роль bareos, env production-infra26 |
Файрвол
UFW отключён. Файрвол управляется через iptables (/etc/iptables/rules.v4).
Открытые порты: 25/tcp (Postfix), 80/tcp, 443/tcp, 1022/tcp (SSH), 9101–9103/tcp (Bareos), 5432/tcp (PostgreSQL).
Ansible-роли
Плейбук project/bkp26.yml:
| Роль |
Статус |
Назначение |
infra26 |
закомментирована (уже применена) |
базовая настройка: swap 4GB, Docker, timezone |
systemd_nginx |
закомментирована (уже применена) |
Nginx + certbot для WebUI |
node_exporter |
закомментирована (уже применена) |
Prometheus-экспортер хоста |
glpi_agent |
закомментирована (уже применена) |
инвентаризация |
systemd_pg17 |
закомментирована (уже применена) |
PostgreSQL 17 (каталог Bareos) |
systemd_bareos_dir |
закомментирована (уже применена) |
Bareos Director + Storage + WebUI |
systemd_bareos_client |
закомментирована (уже применена) |
bareos-filedaemon (бэкап самого сервера) |
bareos_bkp_system_s3 |
активна |
регистрация задания бэкапа bkp26 в Director |
Заметки
- SSH нестандартный порт: 1022
- Журнал systemd ограничен 300 MB (
@daily journalctl --vacuum-size=300M)
- Swap 4 GB создаётся ролью
infra26 при первом деплое
- PostgreSQL (
5432) доступен снаружи — при необходимости закрыть через iptables
- Postfix принимает на
0.0.0.0:25 — используется только Bareos Director для уведомлений