Spec-Zone.ru › Elasticsearch 8
›Гид по Elasticsearch [8.17]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для получения списка состояний функций используйте API функций.

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

В Elasticsearch 8.0 и более поздних версиях состояния функций являются единственным способом создания резервных копий и восстановления системных индексов и системных потоков данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6.8

7.0–7.1

7.2–7.17

8.0–8.2

8.3-8.17

5.0–5.6

Yes

No

No

No

Yes[1]

6.0–6.7

Yes

Yes

Yes

No

Yes[1]

6.8

Yes

No

Yes

No

Yes[1]

7.0–7.1

No

Yes

Yes

Yes

Yes

7.2–7.17

No

No

Yes

Yes

Yes

8.0–8.17

No

No

No

Yes

Yes

1. Поддерживается с архивными индексами.

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

Совместимый снимок может содержать индексы, созданные в более старой несовместимой версии. Например, снимок кластера 7.17 может содержать индекс, созданный в версии 6.8. Восстановление индекса 6.8 в кластер 8.17 не удается, если вы не можете использовать функциональность архивирования. Имейте это в виду, если вы создаете снимок перед обновлением кластера.

В качестве обходного решения вы можете сначала восстановить индекс в другом кластере, использующем последнюю версию Elasticsearch, совместимую как с индексом, так и с вашим текущим кластером. Затем вы можете использовать переиндексацию с удаленного источника, чтобы пересоздать индекс в вашем текущем кластере. Переиндексация с удаленного источника возможна только в том случае, если поле _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/8.17/snapshot-restore.html

Spec-Zone.ru

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