Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17]

Снимок и восстановление

Снимок — это резервная копия работающего кластера Elasticsearch. Снимки можно использовать для:

  • Регулярного резервного копирования кластера без простоя
  • Восстановления данных после удаления или сбоя оборудования
  • Передачи данных между кластерами
  • Сокращения расходов на хранение, используя поисковые снимки в холодных и замороженных уровнях данных

Процесс создания снимков

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

  • AWS S3
  • Google Cloud Storage (GCS)
  • Microsoft Azure

После регистрации репозитория снимков можно использовать управление жизненным циклом снимков (SLM), чтобы автоматически создавать и управлять снимками. Затем можно восстановить снимок для восстановления или передачи его данных.

Содержимое снимков

По умолчанию снимок кластера содержит состояние кластера, все потоки данных и все открытые индексы, включая системные индексы. Состояние кластера включает:

  • Постоянные настройки кластера
  • Шаблоны индексов
  • Устаревшие шаблоны индексов
  • Конвейеры сбора данных
  • Политики ILM
  • Сохранённые скрипты
  • Для снимков, созданных после 7.12.0, состояния функций

Также можно создавать снимки только определённых потоков данных или индексов в кластере. Снимок, включающий поток данных или индекс, автоматически включает его алиасы. При восстановлении снимка можно выбрать, восстановить ли эти алиасы.

Снимки не содержат и не резервируют:

  • Временные настройки кластера
  • Зарегистрированные репозитории снимков
  • Конфигурационные файлы узлов
  • Файлы конфигурации безопасности

Состояния функций

Состояние функции содержит индексы и потоки данных, используемые для хранения конфигураций, истории и других данных для функции Elasticsearch, такой как безопасность Elasticsearch или Kibana.

Состояние функции обычно включает один или несколько системных индексов или системных потоков данных. Оно также может включать обычные индексы и потоки данных, используемые функцией. Например, состояние функции может включать обычный индекс, содержащий историю выполнения функции. Хранение этой истории в обычном индексе позволяет проще её искать.

Как работают снимки

Снимки автоматически дублируются для экономии места и снижения сетевых затрат. Для резервного копирования индекса снимок создаёт копию сегментов индекса и хранит их в репозитории снимков. Поскольку сегменты неизменяемы, снимку требуется только копировать любые новые сегменты, созданные с момента последнего снимка в репозитории.

Каждый снимок также логически независим. При удалении снимка Elasticsearch удаляет только сегменты, используемые исключительно этим снимком. Elasticsearch не удаляет сегменты, используемые другими снимками в репозитории.

Снимки и распределение фрагментов

Снимок копирует сегменты из первичных фрагментов индекса. При запуске снимка Elasticsearch сразу начинает копировать сегменты любых доступных первичных фрагментов. Если фрагмент запускается или перемещается, Elasticsearch подождёт завершения этих процессов перед копированием сегментов фрагмента. Если один или несколько первичных фрагментов недоступны, попытка создания снимка завершается неудачно.

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

Время начала и окончания создания снимка

Снимок не представляет кластер в точный момент времени. Вместо этого каждый снимок включает время начала и окончания. Снимок представляет собой вид данных каждого фрагмента в какой-то момент времени между этими двумя моментами.

Совместимость снимков

Для восстановления снимка в кластере версии снимка, кластера и любого восстановленного индекса должны быть совместимы.

Совместимость версий снимков

Версия кластера

Версия снимка

6.8

7.0–7.1

7.2–7.17

5.0–5.6

Yes

No

No

6.0–6.7

Yes

Yes

Yes

6.8

Yes

No

Yes

7.0–7.1

No

Yes

Yes

7.2–7.17

No

No

Yes

Снимок нельзя восстановить в более ранней версии Elasticsearch. Например, нельзя восстановить снимок, созданный в версии 7.6.0, в кластере, работающем под версией 7.5.0.

Совместимость индекса

Любой индекс, который вы восстанавливаете из снимка, также должен быть совместим с текущей версией кластера. Если вы попытаетесь восстановить индекс, созданный в несовместимой версии, попытка восстановления завершится неудачей.

Версия кластера

Версия создания индекса

6.8

7.0–7.1

7.2–7.17

5.0–5.6

Yes

No

No

6.0–6.7

Yes

Yes

Yes

6.8

Yes

No

Yes

7.0–7.1

No

Yes

Yes

7.2–7.17

No

No

Yes

Индекс нельзя восстановить в более ранней версии Elasticsearch. Например, нельзя восстановить индекс, созданный в версии 7.6.0, в кластере, работающем под версией 7.5.0.

Совместимый снимок может содержать индексы, созданные в несовместимой версии. Например, снимок кластера 6.8 может содержать индекс, созданный в версии 5.6. Если вы попытаетесь восстановить индекс 5.6 в кластер 7.17, попытка восстановления завершится неудачей. Имейте это в виду, если вы создаёте снимок перед обновлением кластера.

В качестве обходного решения, вы можете сначала восстановить индекс в другой кластер, работающий с последней версией Elasticsearch, совместимой как с индексом, так и с вашим текущим кластером. Затем вы можете использовать reindex-from-remote, чтобы перестроить индекс в вашем текущем кластере. Переиндексация из удаленного источника возможна только в том случае, если поле _source индекса включено.

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

Предупреждения

Другие методы резервного копирования

Создание снимка — единственный надёжный и поддерживаемый способ резервного копирования кластера. Вы не можете создать резервную копию кластера Elasticsearch, просто скопировав каталоги данных узлов. Нет поддерживаемых методов восстановления данных из резервной копии на уровне файловой системы. Если вы попытаетесь восстановить кластер из такой резервной копии, это может завершиться ошибкой с сообщениями о повреждении, отсутствии файлов или других несоответствиях данных, или, возможно, показаться успешным, но при этом часть данных будет потеряна.

Копия каталогов данных узлов кластера не работает как резервная копия, потому что она не является последовательной копией их содержимого в один момент времени. Вы не можете исправить это, выключая узлы во время копирования, или создавая атомарные снимки на уровне файловой системы, потому что Elasticsearch требует согласованности, охватывающей весь кластер. Для резервного копирования кластера необходимо использовать встроенную функциональность создания снимков.

Содержимое репозитория

Не изменяйте ничего внутри репозитория и не запускайте процессы, которые могут повлиять на его содержимое. Если что-то помимо Elasticsearch изменяет содержимое репозитория, будущие операции создания снимков или восстановления могут завершиться ошибкой, сообщая о повреждении или других несоответствиях данных, или, возможно, показаться успешными, но при этом часть данных будет потеряна.

Однако вы можете безопасно восстановить репозиторий из резервной копии, если

  1. Репозиторий не зарегистрирован в Elasticsearch во время восстановления его содержимого.
  2. По завершении восстановления репозитория его содержимое будет таким же, как и при создании резервной копии.

Если вам больше не нужны снимки в репозитории, перед удалением его содержимого из базового хранилища, необходимо его отменить из Elasticsearch.

Кроме того, снимки могут содержать конфиденциальную информацию, которую вы можете хранить в отдельном репозитории.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/snapshot-restore.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API