Skip to content

dbprod26 — База данных (production)

Общее

Параметр Значение
Тип CX23 (2 vCPU, 3.7 GB RAM, 40 GB SSD)
ОС Ubuntu 24.04.4 LTS (Noble Numbat)
Ядро 6.8.0-107-generic
Public IP 46.224.161.14
Private IP 10.26.0.4
Timezone Asia/Jerusalem
Проект infra26
SSH ssh digi.i26.dbprod26 (порт 1022)
Ansible playbook project/dbprod26.yml

Сервисы

Системные

Сервис Версия Порт Описание
Percona Server (MySQL) 8.4.8-8 10.26.0.4:3306 Production СУБД
mysqld_exporter 0.18.0 *:9104 MySQL-метрики для Prometheus
node_exporter 10.26.0.4:9100 Prometheus-метрики хоста
bareos-filedaemon 10.26.0.4:9102 Клиент резервного копирования
Nginx 0.0.0.0:80, 0.0.0.0:443 SSL-терминация для phpMyAdmin
glpi-agent 1.15 Инвентаризация (glpi.digiproduct.co.il)

Docker-контейнеры

Контейнер Образ Порт Память Описание
pma phpmyadmin:5.2.3 127.0.0.1:8013 1 GB / 128 MB phpMyAdmin (за Nginx)
cadvisor gcr.io/cadvisor/cadvisor:v0.55.1 10.26.0.4:8080 1 GB / 256 MB Метрики Docker

MySQL (Percona Server 8.4)

Параметр Значение
Версия Percona Server 8.4.8-8 (ps-84-lts)
Admin-пользователь dbadmin
Bind 10.26.0.4 (только приватная сеть)
Допустимые сети 10.26.0.0/16
RAM-профиль 4 GB
Percona XtraBackup pxb-84-lts

Базы данных

База Владелец Описание
edpshpcoil1755150804 edupsyhappy.co.il production БД сайта

Доступ к MySQL

MySQL слушает только на 10.26.0.4:3306 — доступен только с хостов в сети 10.26.0.0/16 (prod/test серверы приложений).
Новая БД и пользователь создаются ролью mysqldb_init при деплое нового сайта через prod26-NN-*.yml.

phpMyAdmin

Параметр Значение
URL https://prodpma26.digiproduct.co.il
Container phpmyadmin:5.2.3127.0.0.1:8013
PMA_HOST 10.26.0.4
Upload limit 64 MB

Nginx проксирует HTTPS → 127.0.0.1:8013. Контейнер доступен только локально.

SSL: prodpma26.digiproduct.co.il (Let's Encrypt, certbot)
Cron: 0 3 * * *certbot-helper.sh

Мониторинг

Компонент Порт Scraped by
node_exporter 10.26.0.4:9100 116.203.108.152, 46.224.166.151 (mon26)
mysqld_exporter *:9104 116.203.108.152, 46.224.166.151 (mon26)
cadvisor 10.26.0.4:8080 116.203.108.152, 46.224.166.151 (mon26)
glpi-agent роль percona, env production-infra26

Резервное копирование (Bareos)

Параметр Значение
Клиент bareos-filedaemon на 10.26.0.4:9102
Директор bkp26 (10.26.0.8), FQDN bkp26-local.digiproduct.co.il
Хранилище Hetzner Object Storage fsn1.your-objectstorage.com
Бакет digibkpinfra26
Расписание WeeklyCycle
Удержание 90 дней
Макс. томов (incremental) 100
Spool dir /var/lib/bareos/spool/dbprod26

Файрвол

UFW отключён. Файрвол управляется через iptables (/etc/iptables/rules.v4).
Открытые порты: 80/tcp, 443/tcp, 1022/tcp (SSH).
MySQL (3306) доступен только из приватной сети — не проброшен наружу.

Ansible-роли

Плейбук project/dbprod26.yml:

Роль Статус Назначение
infra26 закомментирована (уже применена) базовая настройка: swap 4GB, Docker, apt-upgrade, timezone
systemd_nginx закомментирована (уже применена) Nginx + certbot для phpMyAdmin
node_exporter закомментирована (уже применена) Prometheus-экспортер хоста
compose_cadvisor закомментирована (уже применена) Docker-метрики
glpi_agent закомментирована (уже применена) инвентаризация
systemd_percona закомментирована (уже применена) Percona Server 8.4 + XtraBackup
compose_pma закомментирована (уже применена) phpMyAdmin в Docker
mysqld_exporter закомментирована (уже применена) MySQL-метрики для Prometheus
systemd_bareos_client закомментирована (уже применена) bareos-filedaemon
bareos_bkp_system_s3 активна настройка задания бэкапа системы в S3

Связанные плейбуки

  • prod26-10-edupsyhappy.co.il.yml — создаёт БД edpshpcoil1755150804 на этом сервере (роль mysqldb_init)

Заметки

  • SSH нестандартный порт: 1022
  • Журнал systemd ограничен 300 MB (@daily journalctl --vacuum-size=300M)
  • Swap 4 GB создаётся ролью infra26 при первом деплое
  • RAM использование ~2.7 GB из 3.7 GB — сервер загружен, при росте нагрузки нужен апгрейд типа