# Резервное копирование

# Резервное копирование и восстановление Ядра KUMA

<p class="callout info">Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

<p class="callout info">Официальная документация по данному разделу приведена в онлайн-справке на продукт: [https://support.kaspersky.com/help/KUMA/4.0/ru-RU/222208.htm](https://support.kaspersky.com/help/KUMA/4.0/ru-RU/222208.htm)</p>

<p class="callout success">Статья онлайн-справки «REST API»:  
[https://support.kaspersky.ru/kuma/4.0/217973](https://support.kaspersky.ru/kuma/4.0/217973)  
</p>

<p class="callout success">Статья онлайн-справки «Создание резервной копии Ядра KUMA»:  
[https://support.kaspersky.ru/kuma/4.2/316014](https://support.kaspersky.ru/kuma/4.2/316014)  
</p>

---

KUMA позволяет выполнять резервное копирование базы данных Ядра KUMA и сертификатов.

<p class="callout info"><span style="color: rgb(52,73,94);">Функция резервного копирования предназначена для восстановления KUMA – для переноса или копирования ресурсов следует использовать функции экспорта и импорта ресурсов.</span></p>

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

- С<span lang="en-us"> помощью REST API.</span>
- Через веб-интерфейс (начиная с версии 4.2)

<p class="callout warning"><span style="color: rgb(0, 0, 0);">Восстановление данных из резервной копии возможно только на той же версии <span lang="en-us">KUMA</span>.</span></p>


---

### <span style="color: rgb(0,0,0);">С помощью <span lang="en-us">REST</span> <span lang="en-us">API \[KUMA 3.4+\]</span></span>

#### <span style="color: rgb(0,0,0);"><span lang="en-us">Создание резервной копии</span></span>


KUMA поддерживает API-интерфейс, который работает через HTTP и представляет набор методов запрос/ответ.

Для создания резервной копии ядра используется метод `GET /system/backup`.

Для восстановления из резервной копии метод `POST /system/restore`.

<p class="callout success">KUMA Public API (v. 3):  
[https://support.kaspersky.com/help/KUMA/4.0/common/RestAPI/3/swagger\_dist/dist/index.html](https://support.kaspersky.com/help/KUMA/4.0/common/RestAPI/3/swagger_dist/dist/index.html)  
</p>

Чтобы создать резервную копию Ядра необходимо создать пользователя и предоставить ему права доступа к методам API `GET /system/backup` и `POST /system/restore` (для восстановления):

- Перейдите в раздел **Параметры** → **Доступ** → **Пользователи** и нажмите **Создать**. 
    - В появившемся окне **Пользователь** задайте параметры нового пользователя: 
        - - **Статус учетной записи пользователя** – Активна.
            - **Имя** – введите имя пользователя.
            - **Логин** – введите уникальный логин учетной записи пользователя. Длина должна быть от 3 до 64 символов (допускается использование только символов a–z, A–Z, 0–9, . \\ - \_).
            - **Адрес электронной почты** – введите уникальный адрес электронной почты пользователя. Адрес электронной почты должен быть действительным.
        
        <p class="callout info">Если отправка уведомлений на почту не предполагается, то можно указать любую почту, например test@abc.local</p>
        
        
        - - **Новый пароль** – введите пароль для учетной записи пользователя. Вы можете либо задать пароль вручную, либо нажать на кнопку **Сгенерировать пароль.** Пароль должен соответствовать следующим требованиям:  
                •    длина соответствует политике безопасности;  
                •    как минимум один символ в нижнем регистре;  
                •    как минимум один символ в верхнем регистре;  
                •    как минимум одна цифра;  
                •    как минимум один специальный символ из списка специальных символов в политике безопасности;  
                •    не более двух одинаковых символов подряд;  
                •    пароль не содержит логин.
        
        <p class="callout success">Статья онлайн-справки «Настройка политики безопасности при входе в веб-интерфейс KUMA»:  
        [https://support.kaspersky.ru/kuma/4.0/302832](https://support.kaspersky.ru/kuma/4.2/302832)</p>
        
        
        - - **Подтверждение пароля** – повторите пароль.
            - **Пользователь должен сменить пароль при следующем входе в систему** - уберите флажок, так как для служебной учетной записи это не требуется.
        
        
        - - **Неограниченный срок действия пароля** - установите этот флажок, чтобы на учетную запись пользователя не действовал параметр **Время жизни пароля**. Рекомендуется включать этот параметр для служебной учетной записи, ограничить такой учетной записи права и установить пароль максимальной сложности.
        
        
        - - **Роль** – выберите роли пользователя. В текущем примере достаточно минимальных прав – **Младший аналитик**.
            - **Тенант** - выберите тенант **Main**.
        
        <p class="callout success">Статья онлайн-справки «О тенантах»:  
        [https://support.kaspersky.ru/kuma/4.0/221264](https://support.kaspersky.ru/kuma/4.0/221264)  
        </p>
        
        
        - - **Наборы пространств** – в раскрывающемся списке выберите один или несколько наборов пространств, к которым вы хотите предоставить доступ, установив рядом флажок. Если у пользователя нет выбранных наборов пространств, будет предоставлен доступ к набору пространств по умолчанию.
            - Нажмите **Добавить**.
        
        [![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/zpfimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/zpfimage.png)
        
          
        
        [![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/52Simage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/52Simage.png)
        
          
        
        Учетная запись пользователя создана и отображается в таблице **Пользователи**.

Нажмите на созданного пользователя и в появившемся окне **Пользователь**:

- В секции Взаимодействие с KUMA через API нажмите **Сгенерировать** **токен.** В окне **Сгенерировать токен** укажите **Без окончания срока действия** (так как токен будет использоваться сервисной учетной записью backup для задач создания резервных копий) и поставьте флажок напротив методов `GET /system/backup` и `POST /system/restore`.
- Нажмите **Сгенерировать**.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/WV7image.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/WV7image.png)

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/7dvimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/7dvimage.png)

- Скопируйте и сохраните полученный токен доступа к API.

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/eJIimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/eJIimage.png)

Токен успешно создан.

Чтобы создать резервную копию Ядра:

- Выполните подключение к CLI сервера KUMA (серверу с компонентом Ядро при распределенной установке).
- Выполните следующую команду для создания резервной копии с помощью API:

```bash
curl -k -H "Authorization: Bearer ТОКЕН_ПОЛЬЗОВАТЕЛЯ" -H "accept: binary" -o /opt/backup.tar.gz https://<IP-адрес/FQDN-сервера KUMA>:7223/api/v3/system/backup
```

Файл резервной копии Ядра KUMA успешно создан.

<p class="callout info">Автоматизировать процесс создания резервной копии можно с помощью утилиты cron и дальнейшей выгрузки файла резервной копии на файловый сервер/сторонний ресурс. </p>

  
 Файл резервной копии Ядра KUMA успешно создан.

<p class="callout info">Если операция выполнена успешно, создается событие аудита со следующими параметрами:  
DeviceAction = "Core backup created"  
SourceUserID = "&lt;user-login&gt;"</p>

#### Восстановление из резервной копии

Чтобы создать резервную копию Ядра:

- Выполните подключение к CLI сервера KUMA (серверу с компонентом Ядро при распределенной установке).
- Выполните следующую команду для восстановления из резервной копии с помощью API:

```bash
curl -k --request POST 'https://<IP-адрес/FQDN-сервера KUMA>:7223/api/v3/system/restore' --header 'Authorization: Bearer <token>' -H 'accept: */*' -H 'Content-Type: binary' --data-binary '@/opt/backup.tar.gz'
```

<p class="callout info">Тело запроса должно содержать архив с резервной копией Ядра KUMA, полученный в результате выполнения API-запроса создания резервной копии.</p>

После получения архива с резервной копией KUMA выполняет следующие действия:

- Распаковывает архив с резервной копией Ядра KUMA во временную директорию.
- Сравнивает версию текущей KUMA и с версией резервной копии KUMA.
- Если версии соответствуют друг другу, создается событие аудита со следующими параметрами: 
    - DeviceAction = "Core restore scheduled"
    - SourceUserID = "&lt;имя пользователя инициировавшего восстановление KUMA из резервной копии"
- Если версии не различаются, выполняет восстановление данных из резервной копии Ядра KUMA.
- Удаляет временную директорию и стартует в штатном режиме.
- В журнале Ядра KUMA появится запись "WARN: restored from backup".

---

### <span style="color: rgb(0,0,0);">Через веб-интерфейс \[KUMA 4.2+\]</span>

[![image510.png](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/scaled-1680-/image510.png)](https://kb.kuma-community.ru/uploads/images/gallery/2026-08/image510.png)

---

### <span style="color: rgb(0,0,0);">Полезные ссылки</span>

- Создание резервной копии Ядра KUMA (Postman): [https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-bd766c26-c34b-467e-a28a-4ff65ac05328](https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-bd766c26-c34b-467e-a28a-4ff65ac05328)
- Восстановление Ядра KUMA из резервной копии (Postman): [https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-974b96b4-0876-449c-9001-9912783f6acc](https://www.postman.com/kl-ru-presales/workspace/kaspersky-products-apis-ru/request/23340929-974b96b4-0876-449c-9001-9912783f6acc)

# Резервная копия (локальная) событий из хранилища

### С помощью встроенного клиента clickhouse в KUMA

<p class="callout info">С KUMA 4.0 путь к клиенту CH - /opt/kaspersky/kuma/storage/&lt;ID Storage&gt;/deps/clickhouse/bin/client.sh</p>

#### Сохранение данных

Сохранение данных за определенную дату в файл CSV:

```bash
/opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "SELECT * FROM events_local_v2 WHERE toDate(fromUnixTimestamp64Milli(Timestamp)) = toDate('2024-07-16') FORMAT CSVWithNames;" > click_events.csv
```

Сохранение данных за определенную дату в файл CSV с максимальным сжатием (cырой файл CSV 1.4 Гб (строк 5630119) - сжатый 72 Мб):

```bash
/opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "SELECT * FROM events_local_v2 WHERE toDate(fromUnixTimestamp64Milli(Timestamp)) = toDate('2024-07-16') FORMAT CSVWithNames;" | gzip -9 -c > click_events.csv.gz
```

Gzip подходит для небольших объемов информации, т.к. он однопоточный. Для **ускорения** рекомендуется использовать `pigz` либо zstd, они используют все доступные ядра процессора, обеспечивая значительное ускорение экспорта больших CSV-файлов по сравнению с gzip. Если он не установлен, то:

```bash
sudo apt install pigz # Debian/Ubuntu
sudo yum install pigz # RHEL/CentOS
```

Далее команда сохранения выглядит с pigz следующим образом:

```bash
/opt/kaspersky/kuma/storage/c1114ebb-45e8-461c-a576-3a222dbfe3b2/deps/clickhouse/bin/client.sh \
  -d kuma \
  --multiline \
  --query "SELECT * FROM events_local_v2 \
           WHERE toDate(fromUnixTimestamp64Milli(Timestamp)) = toDate('2025-08-13') \
           FORMAT CSVWithNames;" \
  | pigz > click_events.csv.gz
```

команда сохранения выглядит с zstd следующим образом:

```bash
/opt/kaspersky/kuma/storage/c1114ebb-45e8-461c-a576-3a222dbfe3b2/deps/clickhouse/bin/client.sh \
  -d kuma \
  --multiline \
  --query "SELECT * FROM events_local_v2 \
           WHERE toDate(fromUnixTimestamp64Milli(Timestamp)) = toDate('2025-08-13') \
           FORMAT CSVWithNames;" \
  | zstd -T0 -15 -v -o click_events.csv.zst
```

Сохранение данных за определенную дату по определенному промежутку в часах (время в UTC) в файл CSV с максимальным сжатием (с 10:00:00 до 11:00:00):

```bash
/opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "SELECT * FROM events_local_v2 WHERE toDateTime(fromUnixTimestamp64Milli(Timestamp)) > toDateTime('2024-07-16 10:00:00') AND toDateTime(fromUnixTimestamp64Milli(Timestamp)) < toDateTime('2024-07-16 11:00:00') FORMAT CSVWithNames;" | gzip -9 -c > click_events.csv.gz
```

#### Загрузка данных в хранилище

Распаковать данные с сохранением архива: `gzip -dk click_events.csv.gz`  
Распаковать данные без сохранения архива: `gzip -d click_events.csv.gz`

Если необходима замена TenantID для видимости событий в определенном тенанте, нужно в распакованном файле CSV заменить третье значение после запятой (столбцы CSV `"ID","Timestamp","TenantID","ServiceID","ServiceName"...`), пример команды (старый TenantID 746c6045-b929-4edd-8e1e-84ebe4a11880, новый TenantID 911c6045-b929-4edd-8e1e-84ebe4a11911):

```bash
sed -i 's/746c6045-b929-4edd-8e1e-84ebe4a11880/911c6045-b929-4edd-8e1e-84ebe4a11911/g' click_events.csv
```

Загрузка событий из файла CSV в хранилище ClickHouse:

```bash
/opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "INSERT INTO events_local_v2 FORMAT CSV" < /root/click_events.csv
```

<p class="callout warning">В CSV файле не должно быть пустых строк, иначе будет ошибка: `Code: 27. DB::ParsingException: Cannot parse input: expected ',' before: '\n\n':`</p>

---

### С утилитой clickhouse-backup

Для создания резервной копией можно воспользоваться утилитой clickhouse-backup. Исполняемый файл (clickhouse-backup-linux-amd64.tar.gz) для ОС Linux  можно загрузить [**отсюда**](https://github.com/Altinity/clickhouse-backup/releases/latest). Подробнее про утилиту [https://github.com/Altinity/clickhouse-backup](https://github.com/Altinity/clickhouse-backup)

#### Подготовка

Разархивируем загруженный файл:

```bash
tar -xvf clickhouse-backup-linux-amd64.tar.gz
```

Добавляем возможность исполнения файла:

```bash
chmod +x clickhouse-backup
```

Добавляем следующую строку `<access_management>1</access_management>` в файл:

```bash
nano /opt/kaspersky/kuma/clickhouse/cfg/config.xml
```

В этот раздел конфига:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/XC0image.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/XC0image.png)

Создадим файл конфигурации:

```bash
nano click_backup_config.yml
```

Соследующим содержимым:

```bash
general:
  log_level: error
  # Uncomment below if needed
  # remote_storage: sftp

clickhouse:
  host: kuma-aio.sales.lab
  port: 9000
  username: default
  password: ""  # Use `null` or a valid password if required
  secure: true
  tls_key: "/opt/kaspersky/kuma/clickhouse/certificates/key.pem"
  tls_cert: "/opt/kaspersky/kuma/clickhouse/certificates/cert.pem"
  tls_ca: "/opt/kaspersky/kuma/clickhouse/certificates/ca-cert.pem"
  
  skip_tables:
    - system.*
    - INFORMATION_SCHEMA.*
    - information_schema.*
    - _temporary_and_external_tables.*

# Uncomment and configure the SFTP section if needed
# sftp:
#   address: "172.30.56.216"
#   port: 22
#   username: "sftpuser"
#   password: "password"
#   key: ""
#   path: "clickhouse-backup"
#   compression_format: gzip
#   compression_level: 1
#   concurrency: 1
#   debug: false
```

<p class="callout warning">Для логирования действий утилиты используйте значение `log_level: info` в конфигурации `click_backup_config.yml`</p>

В нашем случае восстанавливается Хранилище в инсталляции All-In-One.

Для создания копии данных (ВСЕХ событий) используйте команду:

```bash
./clickhouse-backup create -t kuma.events_local_v2 -c click_backup_config.yml
```

Резервная копия создастся по пути `/opt/kaspersky/kuma/clickhouse/data/backup/`

Для просмотра созданных резервных копий выполните:

```bash
./clickhouse-backup list -c click_backup_config.yml
```

Для восстановления из бекапа:

```bash
./clickhouse-backup restore 2024-04-08T11-07-24 -t kuma.events_local_v2 -c click_backup_config.yml
```

После восстановления при поиске может возникать следующая ошибка:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-10/scaled-1680-/PwQimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-10/PwQimage.png)

Для исправления ошибки перезапустите хранилище из активных сервисов.

Для удаления бекапа:

```bash
./clickhouse-backup delete local 2024-04-08T11-07-24 -c click_backup_config.yml
```

Удалить служебные данные утилиты:

```bash
./clickhouse-backup clean -c click_backup_config.yml
```

# Архивировние и восстановление БД через ClickHouse BACKUP/RESTORE

<p class="callout info">Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

<p class="callout danger">Данная инструкция проверена и актуальна только для версии KUMA 3.0.3.19</p>

---

### Описание

Данный метод позволяет выполнять локальное архивирование и восстановление партиций ClickHouse через встроенные механизмы BACKUP и RESTORE.

В статье описан пример ручного резервного копирования и восстановления на сервере в конфигурации All-in-One. При помощи скриптов данный подход может быть автоматизирован и распространен на распределенную конфигурацию.

<p class="callout warning">Всегда помните, если вы производите резервное копирование и/или архивирование и не проверяете корректность бэкапов, а также не пробуете их восстанавливать, существует вероятность, что вы не сможете восстановиться из резервной копии, когда это будет действительно необходимо.</p>

---

### Настройка хранилища

1\. Создать на сервере хранилища директорию для сохранения резервных копий, например, `/tmp/test_backup`

2\. Сделать владельцем директории пользователя kuma с помощью команды:

```bash
chown kuma:kuma /tmp/test_backup/
```

3\. Убедиться, что у пользователя kuma также есть права x и r на всех родительских директориях

4\. Перейти в Web-интерфейс KUMA на вкладку "активные сервисы".

5\. Открыть на редактирование требуемый сервис хранилища.

6\. В поле "Переопределение параметров ClickHouse" задать разрешенный путь для сохранения резервных копий

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/tOLimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/tOLimage.png)

```xml
<backups>
        <allowed_path>/tmp/test_backup/</allowed_path>
</backups>
```

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

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

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/EnNimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/EnNimage.png)

<details id="bkmrk-%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C%2C-%D1%87%D1%82%D0%BE-%D0%B8"><summary>Как проверить, что изменения применились</summary>

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

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

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

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

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/Yl6image.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/Yl6image.png)

</details>---

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

1\. Запустить клиента clickhouse командой

```
/opt/kaspersky/kuma/clickhouse/bin/client.sh
```

2\. Выполнить запрос для просмотра партиций, например, такой

```sql
SELECT partition, name, partition_id 
FROM system.parts 
WHERE table='events_local_v2' 
AND NOT positionCaseInsensitive(partition,'audit')>0
ORDER BY partition DESC
```

3\. В результате будут выведены названия и id партиций

<details id="bkmrk-%D0%94%D0%BB%D1%8F-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D0%B4%D0%B0"><summary>Для фильтрации по дате можно воспользоваться следующим запросом</summary>

```sql
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 года

</details>4\. Для архивации потребуется значение из первой колонки (partition) или последней (partition\_id)

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/dUyimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/dUyimage.png)

5\. Для архивации партиции по id необходимо выполнить команду

```sql
BACKUP TABLE kuma.events_local_v2
PARTITION ID '0405a4ae764614f2283652209b390809'
TO File('/tmp/test_backup/20250221_0405a4ae764614f2283652209b390809.zip')
SETTINGS compression_method = 'lzma', compression_level=3
```

<details id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2-"><summary>Описание параметров</summary>

*04fb255c7659adfd1d43ed2dd0646b10* - id партиции из предыдущего запроса

*/tmp/test\_backup/* - директория для бэкапов

*20240406\_04fb255c7659adfd1d43ed2dd0646b10.tar.gz* - имя файла бэкапа (может быть произвольным)

</details><p class="callout danger">**Важно!** В ClickHouse использующемся в KUMA до версии **3.4** включительно присутствует баг, при котором параметр **compression\_method** игнорируется, если у итогового файла выбрано расширение отличное от **.zip**  
</p>

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

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2025-02/scaled-1680-/p2gimage.png)

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

```sql
SELECT * FROM system.backups ORDER BY start_time \G
```

![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2025-02/scaled-1680-/kDPimage.png)

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

```sql
SELECT * FROM system.backups WHERE id = 'd52ba745-7ad0-4099-827a-db688aa62649' \G
```

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

<details id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BF%D0%B0%D1%80%D1%82"><summary>Пример удаления партиции из интерфейса</summary>

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

2\. Выбрать нужное хранилище, нажать по его имени правой кнопкой мыши и выбрать пункт "Смотреть разделы"

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/12cimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/12cimage.png)

3\. В разделах выбрать нужный и нажать удалить

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/dJWimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/dJWimage.png)

</details>---

### Выполнение восстановления

1\. Запустить клиента clickhouse командой

```
/opt/kaspersky/kuma/clickhouse/bin/client.sh
```

<p class="callout warning"> с версии 4.0 путь к клиенту:  /opt/kaspersky/kuma/ID-storage/deps/clickhouse/bin/client.sh</p>

2\. Выполнить запрос для восстановления

```sql
RESTORE TABLE kuma.events_local_v2 
PARTITION ID '0405a4ae764614f2283652209b390809' 
FROM File('/tmp/test_backup/20250221_0405a4ae764614f2283652209b390809.zip') 
SETTINGS allow_non_empty_tables=true
```

3\. В результате будет восстановлена выбранная партиция из бэкапа и получено соответствующее сообщение:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/hSPimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/hSPimage.png)

<details id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B1%D1%8D%D0%BA%D0%B0%D0%BF-%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D1%82-"><summary>Если бэкап содержит несколько партиций</summary>

В таком случае можно перечислить сразу несколько ID или названий партиций, например:

```sql
RESTORE TABLE kuma.events_local_v2 
PARTITIONS (20240405,'a1fbde7a-76d3-4bbc-a769-82126b41b56f',''),
(20240406,'faeede7a-76d3-4bbc-a769-82126b41e453','')
FROM File('/tmp/test_backup/20240406_04fb255c7659adfd1d43ed2dd0646b10.zip')
SETTINGS allow_non_empty_tables=true
```

Либо выполнить восстановления всех партиций из бэкапа (также полезно в случае, если не известно id или имя партиции)

```sql
RESTORE ALL 
FROM File('/tmp/test_backup/20240406_04fb255c7659adfd1d43ed2dd0646b10.zip')
SETTINGS allow_non_empty_tables=true
```

</details>По аналогии с резервным копированием в таблице system.backups можно посмотреть состояние

```sql
SELECT * FROM system.backups ORDER BY start_time \G
```

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/scaled-1680-/fxVimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2024-04/fxVimage.png)

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

```sql
SELECT * FROM system.backups WHERE id = 'd7758d2f-59c1-4650-afba-c1c288402bf5' \G
```

<p class="callout warning">При восстановлении партиция ВСЕГДА восстанавливается на диск горячего хранения. Перенос данных на холодное хранение выполняется раз в 1 час. Для форсирования операции необходимо перезапустить сервис Ядра KUMA</p>

---

### Полезные ссылки

ClickHouse Backup and Restore: [https://clickhouse.com/docs/en/operations/backup](https://clickhouse.com/docs/en/operations/backup)