О проекте

Надежная ИТ-инфраструктура немыслима без стратегии аварийного восстановления (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 была переименована и обновлена.

  1. Откройте Центр пакетов (Package Center) в веб-интерфейсе DSM.
  2. Найдите и установите официальный пакет Container Manager (ранее Docker).
  3. Создайте в 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: Отсутствие лицензионных ограничений позволяет масштабировать решение на любое количество баз данных.