Установка и настройка Backup Wrapper

Сервис Backup Wrapper необходимо устанавливать, если управление резервными копиями планируется производить вне кластера системы. Если вы планируете управлять процессом резервного копирования из кластера системы, то можете перейти сразу к инструкции Настройка резервного копирования из кластера системы.

Требования для установки

Общие требования:

  • Дистрибутивы ОС Linux, поддерживающие 64-битную архитектуру. Например, РЕД ОС, CentOS, Ubuntu, Debian.

  • S3-совместимое хранилище для хранения резервных копий, например: MinIO, AWS S3, Yandex Object Storage.

Требования для PostgreSQL:

Требования для ClickHouse:

Установка Backup Wrapper

Программа Backup Wrapper устанавливается как systemd-служба на физический сервер или виртуальную машину. Процесс установки состоит из следующих шагов:

  1. Установка утилиты wrapper на сервере, на котором расположена база данных.

  2. Установка утилиты client на сервере, который будет запускать резервное копирование.

Установка утилиты wrapper

Чтобы установить утилиту wrapper:

  1. Подключитесь к серверу, на котором расположена база данных.

  2. Загрузите файлы установщика, выполнив команду:

    wget https://files.rvision.ru/platform/6dfaa56c92a665a855a9/backup-wrapper-1.0.0.tar.gz
    tar -xzvf backup-wrapper-1.0.0.tar.gz
  3. Перейдите в директорию с установщиком, выполнив команду:

    cd backup-wrapper-1.0.0
  4. Запустите установщик, выполнив команду:

    sudo ./install.sh wrapper <db_type>

    Здесь:

    • <db_type> — тип базы данных:

      • postgres — база данных PostgreSQL.

      • clickhouse — база данных ClickHouse.

    Вместе с установкой утилиты wrapper также происходит установка вспомогательных утилит wal-g и clickhouse-backup.
  5. Откройте файл конфигурации backup-wrapper.env, выполнив команду:

    sudo vi /etc/backup-wrapper/backup-wrapper.env
  6. Заполните обязательные параметры подключения:

    • LISTEN_ADDR — адрес и порт, на котором развернут сервис, например: 127.0.0.1:8080.

    • DB_PATH — путь до директории данных утилиты wrapper, например: /var/lib/backup-wrapper/backup.db.

    • EXECUTOR_TYPE — тип базы данных, для которой необходимо сделать резервную копию:

      • postgres — PostgreSQL.

      • clickhouse — ClickHouse.

  7. Измените параметры аутентификации:

    • AUTH_USER — логин пользователя Backup Wrapper.

    • AUTH_PASSWORD — пароль пользователя Backup Wrapper.

    Обязательно замените значения по умолчанию в полях AUTH_USER и AUTH_PASSWORD.
  8. Настройте параметры для работы с резверными копиями PostgreSQL:

    • WALG_PATH — путь до исполняемого файла утилиты wal-g. По умолчанию: /usr/local/bin/wal-g.

    • POSTGRES_DATA_PATH — путь до директории с данными PostgreSQL (PGDATA). По умолчанию путь для версии PostgreSQL 16: /var/lib/postgresql/16/data.

  9. Настройте параметр CLICKHOUSE_BACKUP_PATH для работы с резервными копиями ClickHouse. Параметр позволяет указать путь до исполняемого файла утилиты clickhouse-backup. По умолчанию: /usr/local/bin/clickhouse-backup.

  10. Настройте уровень логирования, заполнив параметр LOG_LEVEL значением info.

  11. Запустите утилиту wrapper, выполнив следующую команду:

    sudo systemctl start backup-wrapper
  12. Включите автозапуск утилиты при загрузке системы, выполнив команду:

    sudo systemctl enable backup-wrapper

Для работы с утилитой wrapper также доступны следующие команды:

  • Проверка статуса:

    sudo systemctl status backup-wrapper
  • Просмотр логов:

    sudo journalctl -u backup-wrapper -f
  • Перезапуск после изменения конфигурации:

    sudo systemctl restart backup-wrapper
  • Остановка утилиты:

    sudo systemctl stop backup-wrapper

Установка утилиты client

Чтобы установить утилиту client:

  1. Подключитесь к серверу, на котором будет запускаться процесс резервного копирования.

  2. Загрузите файлы установщика, выполнив команду:

    wget https://files.rvision.ru/platform/6dfaa56c92a665a855a9/backup-wrapper-1.0.0.tar.gz
    tar -xzvf backup-wrapper-1.0.0.tar.gz
  3. Перейдите в директорию с установщиком, выполнив команду:

    cd backup-wrapper-1.0.0
  4. Запустите установщик, выполнив команду:

    sudo ./install.sh client
  5. Откройте для редактирования файл конфигурации backup-client.env, выполнив команду:

    sudo vi /etc/backup-wrapper/backup-client.env
  6. Настройте подключение к утилите wrapper, заполнив следующие параметры:

  7. Настройте подключение к S3-совместимому хранилищу, заполнив следующие параметры:

    • S3_ENDPOINT — URL-адрес S3-совместимого хранилища, например, http://minio:9000

    • S3_BUCKET — название контейнера (bucket) для хранения резервных копий.

    • S3_PATH — путь до директории внутри контейнера (bucket), где будут храниться резервные копии.

    • S3_ACCESS_KEY — идентификатор ключа доступа к S3-совместимому хранилищу.

    • S3_SECRET_KEY — секретный ключ доступа к S3-совместимому хранилищу.

  8. Проверьте, что конфигурация утилиты client настроена корректно:

    1. Запустите утилиту вручную, выполнив команду:

      sudo systemctl start backup-client
    2. Проверьте логи выполнения утилиты, выполнив команду:

      sudo journalctl -u backup-client -f
  9. Включите таймер для автоматического резервного копирования, выполнив команду:

    sudo systemctl enable --now backup-client.timer
  10. Чтобы изменить расписание таймера, выполните следующую команду:

    sudo systemctl edit backup-client.timer --full
  11. Измените значение параметра OnCalendar.

  12. Перезагрузите конфигурацию менеджера системы, выполнив команду:

    sudo systemctl daemon-reload
  13. Перезапустите таймер backup-client.timer, выполнив команду:

    sudo systemctl restart backup-client.timer
Для управления задачами резервного копирования используется контроллер CronJob, если вы настраиваете Backup Wrapper из кластера, в котором развернута система.

Для работы с утилитой client также доступны следующие команды:

  • Проверка расписания таймера:

    systemctl list-timers backup-client.timer
  • Отключение автоматического резервного копирования:

    sudo systemctl disable --now backup-client.timer
  • Просмотр истории запусков за последние 7 дней:

    journalctl -u backup-client --since "7 days ago"

Проверка работы Backup Wrapper

Перед полной автоматизацией работы с резервными копиями рекомендуется проверить корректность заданных настроек.

Проверка настройки ClickHouse

Чтобы проверить корректность настроек ClickHouse:

  1. Подключитесь к серверу, на котором развернута база данных ClickHouse.

  2. Проверьте список таблиц баз данных, доступных для резервного копирования, с помощью команды:

    clickhouse-backup tables
  3. Запустите тестовое резервное копирование, выполнив команду:

    clickhouse-backup create_remote test-only
  4. Проверьте созданные резервные копии, выполнив команду:

    clickhouse-backup list remote
    Если вы настраивали многоуровневое хранилище ClickHouse, то в выводе должны отобразиться резервные копии данных с диска горячего хранения (hot).

Проверка настройки Backup Wrapper

Чтобы проверить работоспособность сервиса:

  1. Отправьте запрос на хост утилиты wrapper, выполнив команду:

    curl -u <auth_user>:<auth_password> http://<ip_port>/health
  2. Создайте резервную копию через API-запрос, выполнив команду:

    curl -u <auth_user>:<auth_password> -X POST http://<ip_port>/api/v1/backup
  3. Создайте резервную копию через утилиту client, выполнив команду:

    /usr/local/bin/backup-client --env-file=/etc/backup-wrapper/backup-client.env --wait
  4. Посмотрите список созданных резервных копий, выполнив команду:

    curl -u <auth_user>:<auth_password> http://<ip_port>/api/v1/backups

Здесь:

Была ли полезна эта страница?

Обратная связь