Архивировние и восставноление БД через BACKUP/RESTORE
<disclaimer>
Данная инструкция проверена только на версии KUMA 3.0.3
Описание
Данный метод позволяет выполнять локальное архивирование и восстановление партиций ClickHouse через встроенные механизмы BACKUP и RESTORE.
Настройка хранилища
1. Создать на сервере хранилища директорию для сохранения резервных копий, например, /tmp/test_backup
2. Сделать владельцем директории пользователя kuma с помощью команды:
chown kuma:kuma /tmp/test_backup/
3. Убедиться, что у пользователя kuma также есть права x и r на всех родительских директориях
4. Перейти в Web-интерфейс KUMA на вкладку "активные сервисы".
5. Открыть на редактирование требуемый сервис хранилища.
6. В поле "Переопределение параметров ClickHouse" задать разрешенный путь для сохранения резервных копий
<backups>
<allowed_path>/tmp/test_backup/</allowed_path>
</backups>
7. Сохранить сервис хранилища
8. На вкладке "Активные сервисы" выбрать галочкой соответствующий сервис и нажать перезапустить в верхнем меню для применения настроек
Как проверить, что изменения применились
1. Перейдите в консоль соответствующего сервиса Хранилища
2. Выполните команду
cat /opt/kaspersky/kuma/clickhouse/cfg/config.d/override.xml
3. В выводе должны быть параметры, переопределенные в настройках севриса
Выполнение архивирования
Запустить клиента clickhouse командой
/opt/kaspersky/kuma/clickhouse/bin/client.sh
Выполнить запрос для просмотра партиций, например, такой
SELECT partition, name, partition_id
FROM system.parts
WHERE table='events_local_v2'
AND NOT positionCaseInsensitive(partition,'audit')>0
ORDER BY partition DESC
В результате будут выведены названия и id партиций
Для фильтрации по дате можно воспользоваться следующим запросом
SELECT partition, name, partition_id
FROM system.parts
WHERE substring(partition,2,8) = '20240406'
AND table='events_local_v2'
AND NOT positionCaseInsensitive(partition,'audit')>0
В результате будут выведены все партиции, кроме партиций событий аудита за 6 апреля 2024 года
Для архивации потребуется значение из первой колонки (partition) или последней (partition_id)
Для архивации партиции по id необходимо выполнить команду
BACKUP TABLE kuma.events_local_v2
PARTITION ID '04fb255c7659adfd1d43ed2dd0646b10'
TO File('/tmp/test_backup/20240406_04fb255c7659adfd1d43ed2dd0646b10.tar.gz')
SETTINGS compression_method='gzip'
Описание параметров
04fb255c7659adfd1d43ed2dd0646b10 - id партиции из предыдущего запроса
/tmp/test_backup/ - директория для бэкапов
20240406_04fb255c7659adfd1d43ed2dd0646b10.tar.gz - имя файла бэкапа (может быть произвольным)
compression_method='gzip' - выбранный метод сжатия
В случае, если все прошло успешно будет получено сообщение о создании бэкапа:
Также посмотреть состояние бэкапа можно через запрос к таблице system.backups
SELECT * FROM system.backups ORDER BY start_time \G
Либо сразу с фильтрацией по соответствующему id, который был получен в результате выполнения резервного копирования
SELECT * FROM system.backups WHERE id = '66bc2331-9d66-445f-87e7-56e42e2c2b58' \G
После выполнения резервного копирования партицию можно удалить из интерфейса KUMA, либо с помощью клиента ClickHouse, либо же дождаться истечения срока хранения.
Пример удаления партиции из интерфейса
Перейти на вкладку "Активные сервисы"