Настройка ClickHouse для работы с Backup Wrapper
Backup Wrapper использует утилиту clickhouse-backup для работы с резервными копиями. Для корректной работы сервиса предварительно необходимо настроить базу данных.
| Утилита clickhouse-backup устанавливается вместе с Backup Wrapper. Подробности приведены в разделе Установка и настройка Backup Wrapper. |
Сервис Backup Wrapper использует подход с созданием резервных DIFF-копий (через параметр --diff-from-remote). Благодаря этому подходу сервис создает одну полную резервную копию базы данных, а все последующие копии содержат только изменения относительно корневой резервной копии.
Вы можете настроить процесс создания резервных DIFF-копий. Например, в первый день недели создавать полную копию базы данных, а в каждый последующий день создавать DIFF-копию. При этом каждая DIFF-копия создается от полной копии базы данных, а не от предыдущей DIFF-копии. С началом новой недели цикл повторяется.
Преимущества данного подхода:
-
Упрощается восстановление базы данных: нужна только полная копия и последняя DIFF-копия.
-
Исключаются проблемы с разрывом цепочки, так как каждая DIFF-копия независима от других DIFF-копий.
| Рекомендуется хранить минимум два полных цикла резервных копий: две полные копии и DIFF-копии, созданные от них. |
Настройка ClickHouse
Настройка базы данных ClickHouse состоит из следующих этапов:
| Все действия необходимо производить на физическом сервере или виртуальной машине, на которых развернута база данных ClickHouse. |
Создание пользователя для работы с резервными копиями
-
Подключитесь к консольному клиенту ClickHouse, выполнив команду:
clickhouse-client -
Создайте пользователя для работы с резервными копиями и выдайте ему необходимые права, выполнив следующие SQL-запросы:
-- Создание пользователя. CREATE USER backup_user IDENTIFIED BY '<password>'; -- Выдача прав на чтение данных и метаданных. GRANT SELECT ON *.* TO backup_user; GRANT SHOW TABLES ON *.* TO backup_user; GRANT SHOW DATABASES ON *.* TO backup_user; GRANT SHOW COLUMNS ON *.* TO backup_user; GRANT SHOW DICTIONARIES ON *.* TO backup_user; -- Выдача права на создание локальной копии указанной партиции таблицы ClickHouse (FREEZE). GRANT ALTER FREEZE PARTITION ON *.* TO backup_user; -- Выдача доступа к системным таблицам. GRANT SELECT ON system.* TO backup_user; -- Выдача прав на восстановление данных. GRANT INSERT ON *.* TO backup_user; GRANT CREATE TABLE ON *.* TO backup_user; GRANT CREATE DATABASE ON *.* TO backup_user; GRANT ALTER TABLE ON *.* TO backup_user; GRANT DROP TABLE ON *.* TO backup_user;Здесь:
-
<password>— пароль нового пользователя.
Вы можете проверить выданные права, выполнив SQL-запрос:
SHOW GRANTS FOR backup_user; -
Настройка утилиты clickhouse-backup
-
Создайте файл
config.ymlв директории/etc/clickhouse-backup/. -
Добавьте в файл
config.ymlследующие строки:general: disable_progress_bar: true max_file_size: 1073741824 # 1 ГБ. backups_to_keep_local: 0 # Резервные копии не хранятся локально (Backup Wrapper управляет этим). backups_to_keep_remote: 0 # Резервные копии не удаляются автоматически. remote_storage: s3 clickhouse: host: localhost port: 9000 username: backup_user password: "<password>" skip_tables: - system.* - INFORMATION_SCHEMA.* - information_schema.* skip_disks: - cold_disk_1 timeout: 5m freeze_by_part: false freeze_by_part_where: "" # S3 настройки передаются через переменные из файла окружения wrapper. s3: access_key: "${S3_ACCESS_KEY}" secret_key: "${S3_SECRET_KEY}" bucket: "${S3_BUCKET}" endpoint: "${S3_ENDPOINT}" region: "${S3_REGION}" path: "${S3_PATH}" compression_format: tar compression_level: 1 sse: "" disable_ssl: false force_path_style: true # Для хранилища Minio.Здесь:
-
<password>— пароль пользователя backup_user, созданного ранее.
-
Многоуровневое хранения данных
Для высоконагруженных инсталляций рекомендуется разделение хранилища на уровни (hot/cold). Это позволяет:
-
Оптимизировать ресурсы, затрачиваемые на хранение резервных копий.
-
Ускорить резервное копирование, так как копируются только свежие данные.
-
Ускорить восстановление данных из резервной копии.
Подробности по настройке многоуровневого хранилища ClickHouse приведены в разделе Настройка многоуровневого хранилища ClickHouse.
Была ли полезна эта страница?