Есть ли метод непрерывного резервного копирования для elasticsearch?

Я использую метод моментальных снимков для резервного копирования своих узлов elasticsearch, он работает следующим образом: PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true но после того, как новые данные добавлены в elasticsearch, они не содержатся в снимке, поэтому нам нужно периодически запускать его, но будет потеря данных, если что-то пойдет не так между 2 снимка, можно ли как-то с этим справиться? есть ли метод непрерывного резервного копирования для elasticsearch?


person Mohammad Mahzoun    schedule 09.08.2016    source источник
comment
Что вы подразумеваете под потерей данных, если что-то пойдет не так между двумя снимками?   -  person Val    schedule 09.08.2016
comment
Я имею в виду, что данные, добавленные после последнего снимка, не будут восстановлены, если вы восстановите этот снимок.   -  person Mohammad Mahzoun    schedule 09.08.2016
comment
Не могли бы вы восстановить недостающие данные из другого источника правды? Это обычно то, что люди делают.   -  person Val    schedule 09.08.2016
comment
это хорошее решение, но это означает, что все равно нельзя сделать то, что я просил?   -  person Mohammad Mahzoun    schedule 09.08.2016


Ответы (1)


Если вы хотите иметь некую «резервную копию», которая синхронизируется с данными в кластере, рассмотрите возможность создания двух кластеров. Какие бы операции по индексации, обновлению и удалению ни выполнялись в «основном» кластере, вам необходимо отразить эти операции и в «резервном» кластере. Другого пути нет.

person Andrei Stefan    schedule 09.08.2016
comment
Также стоит отметить, что синхронную часть трудно достичь, особенно между двумя кластерами (+ потенциально еще один основной источник правды), поскольку может случиться так много всего (и это также дорого). Поскольку нет двухфазной фиксации, очень легко выйти из синхронизации. Опыт показывает, что гораздо проще иметь под рукой надежный процесс восстановления, который можно быстро использовать в случае потери данных. - person Val; 09.08.2016
comment
Непрерывное резервное копирование означает либо одну из реплик индексов (но это означает то же оборудование, тот же кластер), либо обновления в реальном времени для места назначения резервного копирования. Обычно люди делают регулярные снимки и сохраняют исходный источник данных в течение более короткого периода времени (в целях переиндексации) или индексируют те же данные в зеркальном кластере. И это не такая уж редкость. Правда, настройка (дублирование оборудования) и настройка (возможно, какой-то прокси-сервер или балансировщик нагрузки) обходится дорого, но для непрерывного резервного копирования в реальном времени другого пути нет. - person Andrei Stefan; 09.08.2016
comment
Определенно согласен. Я просто сомневался в реальной необходимости наличия такого непрерывного резервного копирования, т. е. соотношение затрат и выгод, вероятно, намного выше (большие затраты при низкой выгоде), чем необходимость восстановления некоторых данных в случае чего-то плохого. бывает. Но опять же, это зависит от вариантов использования и бизнес-ограничений. - person Val; 09.08.2016