LINUX.ORG.RU
ФорумAdmin

Postgres репликация для двух площадок


0

1

Исходная ситуация...

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

С дублированием фронтэндов и бэкэндов проблем никаких. Возник затык с БД. Все работает на Postgresql. В пределах одного датацентра резервирование сделано за счет стрим-репликации версии 9+. А вот что делать для обеспечения работы между дата-центрами не совсем понятно. Если сделать на стандартной репликации, то падение сервера с мастер-сервером БД приведет к недоступности операций на изменение данных.

Может есть еще какие-то варианты?

Ответ на: комментарий от Bragin

В общем да. Но не понятно как это адекватно реализовать.

UncleAndy ★★★
() автор топика
Ответ на: комментарий от blind_oracle

Что будет в случае использования drbd при падении канала между дата-центрами?

Кроме того, при использовании drbd, насколько я знаю, используется та-же схема мастер-слэйв со всеми вытекающими.

UncleAndy ★★★
() автор топика

На постгрессе такие задачи из коробки не решаются, тем более что тут еще надо не забывать про возможность split brain

maxcom ★★★★★
()
Ответ на: комментарий от UncleAndy

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

Он в принципе поддерживает режим двух мастеров, но нужна кластерная фс.

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

blind_oracle ★★★★★
()
Ответ на: комментарий от UncleAndy

Но если нужна просто отказоустойчивость, то вполне пойдет. При падении основной ноды pacemaker на резервной переведет дрбд в мастер режим, смонтирует фс и запустит субд.

Или проще, если между основным и резервным постгресом настроена мастер-слейв репликация, то можно при падении основного просто переводить слейва в мастер режим.

blind_oracle ★★★★★
()
Ответ на: комментарий от Shtsh

У bucardo проблема в том, что у него даже для конфигурации мульти-мастер предусмотрен только один основной демон, который ею управляет. Соответственно, при расположении его в одном из датацентров и при выходе из строя именно его, вся репликация падает. Нам-же нужен failover.

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

UncleAndy ★★★
() автор топика
Ответ на: комментарий от UncleAndy

У нас для такие случаев используется peacemaker. Может быть, это то, что вам пригодится.

Shtsh ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.