Бэкапы в кластере OpenSearch
В облачных базах данных OpenSearch автоматически создаются бэкапы индексов. Вам не нужно самостоятельно настраивать бэкапы и следить за их созданием.
Для создания бэкапов индексов используется встроенный механизм снапшотов OpenSearch. Снапшот — снимок текущего состояния индексов с данными. Подробнее о механизме снапшотов в инструкции Take and restore snapshots документации OpenSearch.
Бэкапы создаются инкремен тально:
- первый бэкап содержит полную копию всех данных;
- все последующие бэкапы содержат только изменения с момента предыдущего успешного бэкапа.
Из бэкапов можно восстановить индексы только в том кластере, в котором они были созданы. После удаления кластера бэкапы индексов не хранятся. Восстановить кластер или создать новый из бэкапов индексов удаленного кластера нельзя.
Бэкапы хранятся изолированно от бэкапов других пользователей.
Бэкапы нельзя выгрузить. Автоматическое создание бэкапов нельзя отключить.
Расписание создания бэкапов
Бэкапы индексов создаются один раз в 30 минут.
Срок хранения бэкапов
Бэкапы индексов хранятся 7 дней.
Восстановить индексы из бэкапа
Вы можете восстановить индексы из бэкапов через OpenSearch API или веб-интерфейс OpenSearch Dashboards.
Нельзя восстановить системные индексы, содержащие глобальное состояние и настройки кластера, например .opendistro_security.
OpenSearch API
OpenSearch Dashboards
-
Получите дату и время создания бэкапа, из которого нужно восстановить индексы. Для этого выведите список бэкапов:
curl -XGET -u 'admin:<password>' \
--cacert ~/.opensearch/root.crt \
'https://<ip_address>:<port>/_cat/snapshots/dbaas-repo'Укажите:
<password>— пароль пользователя-администратора;<ip_address>— IP-адрес ноды;<port>— порт для подключения.
В ответе появится список бэкапов. Скопируйте из имени бэкапа дату и время его создания — они указаны в формате
yyyymmdd-hh-mm. Например:dbaas-snapshot-20250928-09-48 SUCCESS 1759052881 09:48:01 1759052883 09:48:03 1.8s 5 5 0 5
dbaas-snapshot-20250928-10-18 SUCCESS 1759054681 10:18:01 1759054682 10:18:02 600ms 5 5 0 5
dbaas-snapshot-20250928-10-48 SUCCESS 1759056481 10:48:01 1759056482 10:48:02 600ms 5 5 0 5Здесь
20250928-09-48,20250928-10-18и20250928-10-48— дата и время создания бэкапов. -
Получите имена индексов, которые нужно восстановить. Для этого выведите информацию о бэкапе:
curl -XGET -u 'admin:<password>' \
--cacert ~/.opensearch/root.crt \
'https://<ip_address>:<port>/_snapshot/dbaas-repo/dbaas-snapshot-<timestamp>?pretty'Укажите:
<password>— пароль пользователя-администратора;<ip_address>— IP-адрес ноды;<port>— порт для подключения;<timestamp>— дата и время создания бэкапа, которые вы получили на шаге 1.
В поле
indicesскопируйте имена индексов, которые нужно восстановить. -
Проверьте, есть ли в кластере открытые индексы с такими же именами, которые вы хотите восстановить. Для этого выведите информацию обо всех открытых индексах:
curl -XGET -u 'admin:<password>' \
--cacert ~/.opensearch/root.crt \
'https://<ip_address>:<port>/_cat/indices?v&h=index,health,status,docs.count,store.size&s=index&expand_wildcards=open,hidden'Укажите:
<password>— пароль пользователя-администратора;<ip_address>— IP-адрес ноды;<port>— порт для подключения.
Имена индексов будут указаны в поле
index. -
Если в кластере уже есть открытые индексы с такими же именами, которые вы хотите восстановить, удалите их. В кластере OpenSearch нельзя дублировать имена открытых индексов.
curl -XDELETE -u 'admin:<password>' \
--cacert ~/.opensearch/root.crt \
'https://<ip_address>:<port>/<index>'Укажите:
<password>— пароль пользователя-администратора;<ip_address>— IP-адрес ноды;<port>— порт для подключения;<index>— имя индекса для удаления. Если нужно указать несколько индексов, разделите их запятой.
-
Восстановите индексы:
curl -XPOST -u 'admin:<password>' --cacert ~/.opensearch/root.crt 'https://<ip_address>:<port>/_snapshot/dbaas-repo/dbaas-snapshot-<timestamp>/_restore' \
-H 'Content-Type: application/json' \
-d '{
"indices": "<index>",
"include_global_state": false
}'Укажите:
<password>— пароль пользователя-администратора;<ip_address>— IP-адрес ноды;<port>— порт для подключения;<timestamp>— дата и время создания бэкапа, которые вы получили на шаге 1;<index>— имя индекса, который нужно восстановить. Если нужно указать несколько индексов, разделите их запятой.
Для восстановления индексов через веб-интерфейс OpenSearch Dashboards к группе нод с ролью Dashboard должен быть подключен публичный IP-адрес.
-
В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
-
Откройте вкладку Активные.
-
Откройте страницу кластера базы данных.
-
В меню кластера выберите Dashboards.
-
В поле Username введите логин пользователя-администратора — admin.
-
В поле Password введите пароль — задается при создании кластера. После создания кластера пароль нельзя посмотреть в панели управления, но можно изменить.
-
Нажмите Log in.
-
В левом верхнем углу веб-интерфейса OpenSearch Dashboards откройте меню и выберите Snapshot Management → Snapshots → вкладка Snapshots.
-
Отметьте бэкап, из которого нужно восстановить индексы.
-
На жмите Restore.
-
В поле Specify restore option выберите Restore specific indices.
-
Выберите индексы, которые нужно восстановить.
-
В поле Rename restored indices выберите правило формирования имен восстанавливаемых индексов:
- Do not rename — не изменять имена индексов при восстановлении. Используйте это правило, только если в кластере отсутствуют открытые индексы с такими же именами — в OpenSearch нельзя дублировать имена открытых индексов;
- Add prefix to restored index names — добавить префикс к именам восстанавливаемых индексов;
- Rename using regular expression (Advanced) — переименовать индексы с помощью регулярного выражения.
-
В блоке Advanced options:
- снимите чекбокс Restore cluster state from snapshots;
- опционально: отметьте дополнительные параметры. Подробнее о дополнительных параметрах при восстановлении индексов в инструкции Take and restore snapshots документации OpenSearch.
-
Нажмите Restore snapshot.