Управление резервными копиями в Managed Service for ClickHouse®
Вы можете создавать резервные копии и восстанавливать кластеры из имеющихся резервных копий.
Также Managed Service for ClickHouse® ежедневно создает автоматическую резервную копию. Вы можете задать время начала резервного копирования для нее.
Создать резервную копию
Важно
Для создания резервной копии используется случайный хост-реплика. Если нет консистентности данных между хостами кластера, то его восстановление из резервной копии не гарантирует полного восстановления данных. Подробнее см. в разделе Резервные копии.
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
- Нажмите кнопку Создать резервную копию.
Сервис начнет создавать резервную копию без дополнительного подтверждения.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать резервную копию кластера:
-
Посмотрите описание команды CLI для создания резервной копии ClickHouse®:
yc managed-clickhouse cluster backup --help
-
Запросите создание резервной копии, указав имя или идентификатор кластера:
yc managed-clickhouse cluster backup <имя_или_идентификатор_кластера>
Имя и идентификатор кластера можно получить со списком кластеров в каталоге.
Чтобы создать резервную копию, воспользуйтесь методом REST API backup для ресурса Cluster или вызовом gRPC API ClusterService/Backup и передайте в запросе идентификатор кластера в параметре clusterId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Важно
Во время создания резервной копии производительность кластера может снижаться.
Восстановить кластер из резервной копии
Восстанавливая кластер из резервной копии, вы создаете новый кластер с данными из резервной копии. Если в облаке не хватает ресурсов для создания такого кластера, восстановиться из резервной копии не получится. Средняя скорость восстановления из резервной копии — 10 МБайт/с на каждое ядро БД.
Вы можете восстановить как отдельный шард, так и весь кластер целиком. Восстановить кластер целиком можно только с помощью CLI или API.
Важно
При восстановлении резервной копии в кластер без хостов ZooKeeper, все таблицы на движке семейства ReplicatedMergeTree будут преобразованы в простые MergeTree-таблицы. Данные в преобразованных таблицах сохраняются. Подробнее см. в документации ClickHouse®
Чтобы восстановить из резервной копии существующий кластер:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
- Нажмите на значок
для нужной резервной копии, затем нажмите Восстановить кластер. - Если необходимо, измените настройки нового кластера. В списке Каталог можно выбрать каталог для нового кластера.
- Нажмите кнопку Восстановить кластер.
Чтобы восстановить из резервной копии удаленный ранее кластер:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - На панели слева выберите
Резервные копии. - Найдите нужную резервную копию по времени создания и идентификатору кластера. В колонке Имя содержатся идентификаторы в формате
<идентификатор_кластера>:<идентификатор_резервной_копии>
. - Нажмите на значок
для нужной резервной копии, затем нажмите Восстановить кластер. - Если необходимо, измените настройки нового кластера. В списке Каталог можно выбрать каталог для нового кластера.
- Нажмите кнопку Восстановить кластер.
Managed Service for ClickHouse® запустит операцию создания кластера из резервной копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы восстановить кластер из резервной копии:
-
Посмотрите описание команды CLI для восстановления кластера ClickHouse®:
yc managed-clickhouse cluster restore --help
-
Получите список доступных резервных копий кластеров ClickHouse®:
yc managed-clickhouse backup list
+--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+ | ID | CREATED AT | SOURCE CLUSTER ID | STARTED AT | SHARD NAMES | SIZE | TYPE | +--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+ | c9qud5etkq19********:... | 2023-12-08 00:09:17 | c9qud5etkq19******** | 2023-12-08 00:08:06 | shard1 | 30 KB | AUTOMATED | | ... | | | | | | | +--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+
-
Чтобы восстановить отдельный шард, передайте идентификатор одной резервной копии:
yc managed-clickhouse cluster restore \ --backup-id=<идентификатор_резервной_копии> \ --name=<имя_кластера> \ --environment=<окружение> \ --network-name=<имя_сети> \ --host type=<тип_хоста>,` `zone-id=<зона_доступности>,` `subnet-id=<идентификатор_подсети> \ --clickhouse-disk-size=<размер_хранилища_ГБ> \ --clickhouse-disk-type=<тип_диска> \ --clickhouse-resource-preset=<класс_хоста>
Где:
-
--backup-id
— идентификатор резервной копии. -
--name
— имя кластера. -
--environment
— окружение:PRODUCTION
— для стабильных версий ваших приложений.PRESTABLE
— для тестирования. Prestable-окружение аналогично Production-окружению и на него также распространяется SLA, но при этом на нем раньше появляются новые функциональные возможности, улучшения и исправления ошибок. В Prestable-окружении вы можете протестировать совместимость новых версий с вашим приложением.
-
--network-name
— имя сети. -
--host
— параметры хоста:type
— тип хоста:clickhouse
илиzookeeper
.zone-id
— зона доступности.subnet-id
— идентификатор подсети. Необходимо указывать, если в выбранной зоне доступности создано две или больше подсетей.
-
--resource-preset
— класс хоста. -
--disk-size
— размер хранилища в гигабайтах. -
--disk-type
— тип диска:-
network-hdd
; -
network-ssd
; -
local-ssd
; -
network-ssd-nonreplicated
.
-
-
-
Чтобы восстановить весь кластер целиком, передайте идентификаторы резервных копий всех шардов кластера:
yc managed-clickhouse cluster restore \ --backup-id=<список_идентификаторов_резервных_копий_всех_шардов> \ ...
Чтобы восстановить кластер из резервной копии, воспользуйтесь методом REST API restore для ресурса Cluster или вызовом gRPC API ClusterService/Restore и передайте в запросе:
- Идентификатор резервной копии нужного шарда в параметре
backupId
. Чтобы узнать идентификатор, получите список резервных копий в кластере. - Имя нового кластера, который будет содержать восстановленные из резервной копии данные, в параметре
name
. Имя кластера должно быть уникальным в рамках каталога. - Окружение кластера в параметре
environment
. - Конфигурацию кластера в параметре
configSpec
. - Конфигурацию хостов кластера в одном или нескольких параметрах
hostSpecs
. - Идентификатор сети в параметре
networkId
.
Чтобы восстановить весь кластер целиком, передайте идентификаторы резервных копий всех остальных шардов кластера в параметре additionalBackupIds
.
Получить список резервных копий
Чтобы получить список резервных копий кластера:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
Чтобы получить список всех резервных копий в каталоге:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - На панели слева выберите
Резервные копии.
В этих списках содержится следующая информация:
- Имя резервной копии.
- Шард-источник.
- Размер резервной копии.
- Тип резервной копии: автоматическая (
Automated
) или ручная (Manual
). - Время начала создания резервной копии по UTC (Coordinated Universal Time).
- Время окончания создания резервной копии по UTC.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список резервных копий кластеров ClickHouse®, доступных в каталоге по умолчанию, выполните команду:
yc managed-clickhouse backup list
+--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+
| ID | CREATED AT | SOURCE CLUSTER ID | STARTED AT | SHARD NAMES | SIZE | TYPE |
+--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+
| c9qud5etkq19********:... | 2023-12-08 00:09:17 | c9qud5etkq19******** | 2023-12-08 00:08:06 | shard1 | 30 KB | AUTOMATED |
| c9qud5etkq19********:... | 2023-12-07 08:17:04 | c9qud5etkq19******** | 2023-12-07 08:15:54 | shard1 | 30 KB | MANUAL |
+--------------------------+---------------------+----------------------+---------------------+-------------+-------+-----------+
В выведенной таблице содержится следующая информация:
- Идентификатор резервной копии.
- Время окончания создания резервной копии по UTC (Coordinated Universal Time).
- Идентификатор кластера, для которого создавалась эта резервная копия.
- Время начала создания резервной копии по UTC.
- Имя шарда-источника.
- Размер резервной копии.
- Тип резервной копии: автоматическая (
AUTOMATED
) или ручная (MANUAL
).
Чтобы получить список резервных копий кластера, воспользуйтесь методом REST API listBackups для ресурса Cluster или вызовом gRPC API ClusterService/ListBackups и передайте в запросе идентификатор кластера в параметре clusterId
.
Чтобы получить список резервных копий всех кластеров Managed Service for ClickHouse® в каталоге, воспользуйтесь методом REST API list для ресурса Backup или вызовом gRPC API BackupService/List и передайте в запросе идентификатор каталога в параметре folderId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Получить информацию о резервной копии
Чтобы получить информацию о резервной копии существующего кластера:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Резервные копии.
Чтобы получить информацию о резервной копии удаленного ранее кластера:
- Перейдите на страницу каталога
и выберите сервис Managed Service for ClickHouse. - На панели слева выберите
Резервные копии.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить данные о резервной копии кластера ClickHouse®, выполните команду:
yc managed-clickhouse backup get <идентификатор_резервной_копии>
Идентификатор резервной копии можно получить со списком резервных копий.
Чтобы получить информацию о резервной копии, воспользуйтесь методом REST API get для ресурса Backup или вызовом gRPC API BackupService/Get и передайте в запросе идентификатор резервной копии в параметре backupId
.
Чтобы узнать идентификатор, получите список резервных копий.
Задать время начала резервного копирования
В консоли управления
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы задать время начала резервного копирования, передайте нужное значение в формате HH:MM:SS
в аргументе --backup-window-start
команды изменения кластера:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \
--backup-window-start=<время_начала_резервного_копирования>
Идентификатор и имя кластера можно запросить со списком кластеров в каталоге.
Чтобы задать время начала резервного копирования, воспользуйтесь методом REST API update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге. - Новое время начала резервного копирования в параметре
configSpec.backupWindowStart
. - Список изменяемых полей конфигурации кластера в параметре
updateMask
(в данном случае —configSpec.backupWindowStart
).
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc