Skip to main content

Архивировние и восставноление БД через 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" задать разрешенный путь для сохранения резервных копий

image.png

<backups>
        <allowed_path>/tmp/test_backup/</allowed_path>
</backups>

7. Сохранить сервис хранилища

8. На вкладке "Активные сервисы" выбрать галочкой соответствующий сервис и нажать перезапустить в верхнем меню для применения настроек

image.png

Как проверить, что изменения применились

1. Перейдите в консоль соответствующего сервиса Хранилища

2. Выполните команду 

cat /opt/kaspersky/kuma/clickhouse/cfg/config.d/override.xml

3. В выводе должны быть параметры, переопределенные в настройках севриса

image.png

Выполнение архивирования

Запустить клиента 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)

image.png

Для архивации партиции по 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' - выбранный метод сжатия

В случае, если все прошло успешно будет получено сообщение о создании бэкапа:

image.png

Также посмотреть состояние бэкапа можно через запрос к таблице system.backups

SELECT * FROM system.backups ORDER BY start_time \G

image.png

Либо сразу с фильтрацией по соответствующему id, который был получен в результате выполнения резервного копирования

SELECT * FROM system.backups WHERE id = '66bc2331-9d66-445f-87e7-56e42e2c2b58' \G

После выполнения резервного копирования партицию можно удалить из интерфейса KUMA, либо с помощью клиента ClickHouse, либо же дождаться истечения срока хранения. 

Пример удаления партиции из интерфейса

Перейти на вкладку "Активные сервисы"