Облачная платформаAdvanced

Восстановление Снапшота OpenSearch Кластера

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Используйте Снапшот для восстановления копии OpenSearch кластера на определённый момент времени. Вы можете восстановить её в исходный кластер или в другой подходящий кластер. Этот процесс извлекает резервные данные индекса, метаданные и структуру шарда из OBS и воссоздаёт их в выбранном кластере назначения, обеспечивая согласованность данных. Эта возможность важна для таких операций, как откат данных, миграция кластера и восстановление после катастроф.

Ограничения

  • Создание Снапшотов Кластера увеличит нагрузку на CPU и дисковый I/O. Чтобы минимизировать влияние на производительность системы, рекомендуется планировать выполнение в непиковые часы.
  • Если исходный Кластер недоступен, вы можете восстановить его Снапшоты в назначенный кластер назначения.
  • При создании или восстановлении Снапшота вы можете выполнять только определённые действия, включая доступ к OpenSearch Dashboards, просмотр метрик и удаление других Снапшотов. Однако вы не можете выполнять следующие операции: изменение конфигурации, перезапуск или удаление Кластера, удаление Снапшота, который создаётся или восстанавливается, а также создание или восстановление другого Снапшота. Пока Снапшот создаётся или восстанавливается для Кластера, любая задача автоматического создания Снапшотов, инициированная для этого Кластера, будет отменена.
  • Когда вы создаёте первый Снапшот в кластере, выполняется полный Бэкап всех данных. Последующие Снапшоты являются инкрементальными, сохраняют только изменения с момента предыдущего Снапшота. Поскольку каждый инкрементальный Снапшот зависит от своих предшественников, их необходимо восстанавливать в правильной последовательности.
  • До завершения восстановления Снапшота индексы, восстанавливаемые в целевой кластер, нельзя запросить.
  • Если в двух кластерах есть индексы с одинаковыми именами, но различными структурами шардов, такие индексы нельзя восстановить.
  • Версия целевого кластера должна быть такой же (рекомендуется) или более новой, чем у исходного кластера. Снапшоты, созданные для кластера Elasticsearch 7.x, могут быть восстановлены в кластер OpenSearch 1.3.6 или 2.19.0.

Требования

В списке задач Снапшота исходного кластера есть Снапшоты, статус которых Доступно. Статус целевого кластера также Доступно.

Восстановление данных

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Clusters > OpenSearch.
  3. В списке кластеров щелкните имя исходного кластера. Отображается страница информации о кластере.
  4. Щелкните Cluster Snapshots вкладку.
  5. В списке задач снимков кластера выберите снимок и щелкните Восстановить в Операция столбце. В отображаемом диалоговом окне настройте необходимые параметры.
    Table 1 Настройки восстановления

    Параметр

    Описание

    Индекс

    Укажите имя индекса, который вы хотите восстановить.

    • Значение представляет собой строку длиной от 0 до 1024 символов, которая не может содержать заглавные буквы, пробелы или следующие специальные символы: "\<|>/?.
    • При восстановлении индекса, имя которого начинается с .kibana, имя индекса должно быть указано.
    • Этот .opendistro_security индекс не может быть восстановлен.
    • Можно использовать символ звездочки (*) для сопоставления нескольких индексов. Например, index* указывает, что все индексы с префиксом индекс будут восстановлены. При использовании символа звездочки (*) для сопоставления индексов, .opendistro_security индекс и любые системные индексы имя которых начинается с .kibana по умолчанию фильтруются.
    • Вы можете восстановить индексы, указав их имена, например, index1,index2,index3.

    По умолчанию этот параметр оставлен пустым. То есть имя индекса не указано, и все индексы будут восстановлены.

    Шаблон переименования

    Правило совпадения имени индекса. Введите регулярное выражение. Индексы, соответствующие регулярному выражению, будут восстановлены.

    Эта Шаблон переименования и Замена переименования вступают в силу только когда оба настроены одновременно. Для примера см. Индекс, Шаблон переименования и Замена переименования: Параметры и примеры.

    Значение представляет собой строку длиной от 0 до 1024 символов, которая не может содержать заглавные буквы, пробелы или следующие специальные символы: "\<|>/?,.

    Например, index_(.+) указывает, что все индексы, имя которых начинается с index_ будут переименованы при восстановлении.

    Rename Replacement

    Правило переименования индекса. При восстановлении соответствующие индексы переименовываются в соответствии с определенным правилом.

    Этот Rename Pattern и Rename Replacement вступают в силу только когда они оба настроены одновременно. Для примера см Index, Rename Pattern, and Rename Replacement: Parameters and Examples.

    Значение — строка от 0 до 1024 символов, которая не может содержать заглавные буквы, пробелы или следующие специальные символы: "\<|>/?,.

    Например, restored_index_$1 указывает, что restored_ будет префиксировать имя всех восстановленных индексов.

    Кластер

    Выберите кластер, в который вы хотите восстановить данные. Вы можете выбрать текущий кластер или другой.

    • Вы должны указать кластер, статус которого Доступно. Если статус текущего кластера Недоступно, вы не можете восстановить снапшот в текущий кластер.
    • Когда вы выбираете восстановить данные в другой кластер, убедитесь, что целевой кластер имеет ту же или более новую версию, чем текущий кластер, и что оба кластера находятся в одном регионе. После восстановления замороженного индекса с помощью снапшота, индекс хранится на локальном узле и по умолчанию является только для чтения. Чтобы сделать его доступным для записи, выполните следующую команду для настройки индекса:
      PUT index_name/_settings
      {
      "index.blocks.write": null
      }

    Перезаписать индексы с тем же именем в целевом кластере

    Переписывать ли индексы с одинаковыми именами в целевом кластере. По умолчанию эта опция не выбрана.

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

  6. Нажмите OK чтобы начать восстановление снапшота.

    Если восстановление успешно, Статус задачи в списке задач снапшотов статус снапшота изменится на Восстановление выполнено, и данные индекса, захваченные в снапшоте, восстановлены.

Проверка восстановления снапшота

После восстановления снапшота перейдите в целевой кластер, чтобы проверить информацию о восстановленном индексе.

  1. Войдите в консоль управления CSS.
  2. В левой навигационной панели выберите Кластеры > OpenSearch.
  3. В списке кластеров найдите целевой кластер и нажмите Dashboards в Операция столбце, чтобы войти в OpenSearch Dashboards.
  4. В левой навигационной панели выберите Инструменты разработки.

    Левая часть консоли — это поле ввода команды, а треугольный значок в её верхнем правом углу — кнопка выполнения. Правая часть показывает результат выполнения.

  5. Выполните следующую команду, чтобы проверить информацию об индексе.
    GET _cat/indices

Индекс, Шаблон переименования и Замена переименования: Параметры и примеры

В этом разделе описывается Индекс, Шаблон переименования, и Переименование Замена параметры. Также предоставляет примеры, показывающие, как их настроить.

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

    Указать Индекс для индекса, который будет заменён.

  • Переименование индекса при восстановлении

    Чтобы переименовать индекс при восстановлении, укажите Индекс, Шаблон переименования, иПереименование Замена

    • . Их значения следующие:Индекс
    • Шаблон переименования: Использует регулярное выражение для указания индексов, которые вы хотите переименовать среди индексов, подлежащих восстановлению (указанных Индекс). Только индексы, имена которых точно соответствуют регулярному выражению, будут переименованы.
    • Замена переименования: Определяет правило именования восстановленных индексов, которые соответствуют Шаблон переименования. Это правило представляет собой строку символов, использующую группу захвата (например, $1) для повторного использования текста, захваченного Шаблон переименования.

Пример:

  • Индекс установлен в index_*, old_index: index_* указывает все индексы, имя которых начинается с index_, и old_index указывает один индекс.
  • Rename Pattern установлено index_(.+): Это указывает, что индексы, имя которых начинается с index_ будет переименован.
  • Rename Replacement установлено restored_index_$1: Это заменяет найденные имена индексов на restored_index_ плюс текст группы захвата.

Соответствующий запрос API выглядит следующим образом:

POST /_snapshot/xxx/snapshot_xxx/_restore
{
"indices": "index_*, old_index",
"ignore_unavailable": true,
"include_global_state": true,
"rename_pattern": "index_(.+)", // This corresponds to the Rename Pattern parameter.
"rename_replacement": "restored_index_$1", // This corresponds to the Rename Replacement parameter.
}

Result:

  • Исходный индекс index_logs переименован в restored_index_logs.
  • Исходный индекс index_users переименован в restored_index_users.
  • Исходный индекс old_index не соответствует rename_pattern, и поэтому не переименован. Исходное имя old_index сохраняется после восстановления.