О проекте
Надежная ИТ-инфраструктура немыслима без стратегии аварийного восстановления (Disaster Recovery). Если бэкап виртуальных машин закрывает вопрос восстановления системы целиком, то для баз данных (СУБД) требуется более гранулярный подход — создание консистентных дампов по расписанию.
Для решения этой задачи я использую Databasys — профильное Open Source решение для централизованного резервного копирования СУБД, таких как MySQL и PostgreSQL. Инструмент упакован в Docker-контейнер, что делает его развертывание максимально предсказуемым и независимым от основной операционной системы хоста.
Почему Synology NAS?
Идеальное место для хранения дампов баз данных — это выделенный сетевой накопитель (NAS), изолированный от основных вычислительных узлов. Оборудование Synology отлично подходит для этой роли благодаря поддержке RAID-массивов, файловой системы Btrfs (с защитой от bit rot) и встроенной поддержке контейнеризации.
Развертывание Databasys непосредственно на Synology позволяет настроить схему, при которой хранилище само «забирает» дампы с боевых серверов, минимизируя нагрузку на продуктивную сеть.
🛠 Практика: Развертывание Databasys на Synology
Процесс запуска состоит из двух простых этапов.
Шаг 1: Установка Docker на Synology
В современных версиях Synology DSM (начиная с 7.2) экосистема Docker была переименована и обновлена.
- Откройте Центр пакетов (Package Center) в веб-интерфейсе DSM.
- Найдите и установите официальный пакет Container Manager (ранее Docker).
- Создайте в File Station общую папку для хранения конфигураций и дампов, например:
/docker/databasys.
Шаг 2: Запуск контейнера
Для декларативного описания инфраструктуры лучше всего использовать docker-compose. В Container Manager (раздел Project) или через SSH-доступ к NAS создайте файл docker-compose.yml:
version: '3.8'
services:
databasys:
image: databasys/databasys:latest
container_name: databasys_backup
restart: unless-stopped
environment:
- DB_TYPE=postgres # или mysql
- DB_HOST=192.168.1.100
- DB_PORT=5432
- DB_USER=backup_user
- DB_PASS=SecurePassword123
- CRON_SCHEDULE=0 2 * * * # Запуск каждую ночь в 02:00
- RETENTION_DAYS=14 # Хранить архивы 14 дней
volumes:
- /volume1/docker/databasys/backups:/backups
Запустите стек. Databasys автоматически подключится к указанной базе данных, снимет дамп, сожмет его и сохранит на защищенном томе Synology, а старые архивы будут удаляться согласно политике удержания (Retention Policy).
Выводы:
Внедрение Databasys через Docker — это элегантный и надежный способ решить проблему бэкапов СУБД.
Автономность: Контейнер содержит все необходимые зависимости и клиенты (pg_dump, mysqldump).
Безопасность: Дампы могут храниться на изолированном NAS, защищенном от потенциальных угроз внутри основной сети.
Open Source: Отсутствие лицензионных ограничений позволяет масштабировать решение на любое количество баз данных.