Skip to content

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

Зарегистрированные клиенты

Клиент Сервер IP
bkp26 bkp26 (сам себя) 10.26.0.8
lb26 lb26 10.26.0.2
mon26 mon26 10.26.0.3
dbprod26 dbprod26 10.26.0.4
dbtest26 dbtest26 10.26.0.5
test26 test26 10.26.0.6
prod26 prodapp26 10.26.0.7

Задания резервного копирования

Системные бэкапы (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 для уведомлений