1

В настоящее время у меня есть сервер postgresql 9.4, содержащий множество баз данных на Ubuntu 14.04.postgresql 9.4 топология высокой доступности

Я попытался использовать Barman для настройки резервного копирования, но хотел бы настроить поточную реплику, чтобы, когда мастер спустился, я могу повысить резервную копию, чтобы стать новым мастером. Я посмотрел на repmgr, но это создаст только горячий резервный сервер только для чтения. Означает ли это, что я должен пойти с решением для нескольких мастеров, если я хочу продвигать режим ожидания, чтобы принять транзакцию записи?

Я себе, чтобы система была

M1 (master) -------------via ???-------------- S1 (standby/another master) 
    |            | 
    |via Barman          | via Barman 
    |            | 
B1 (backup server#1)       B2 (backup server#2) 

В идеале, после того, как M1 идет вниз, я могу содействовать S1 быть новым хозяином, и он может принять для чтения/записи транзакции не просто только для чтения. Как только мы вернем M1, M1 может оставаться в режиме ожидания, но будет транслироваться с S1.

Является ли postgres 9.4 BDR (двунаправленная репликация) хорошим решением для потока между M1 и S1? Или есть ли какой-нибудь коммерческий продукт?

Я не являюсь администратором баз данных и буду очень благодарен за ваше мнение.

Большое вам спасибо!

ответ

1

Похоже, стандартная потоковая репликация - это то, что вам нужно.

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

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

Заканчивать http://www.slideshare.net/jkshah/py-pg-day2013harep для получения дополнительной информации о том, как эти установках работают (перейти к слайду 21 для PostGreSQL материала)

+0

Означает ли это, что мне нужно установить hot_standby = on в режиме ожидания? Но с hot_standby = on резервный режим будет выполнять запросы только для чтения во время восстановления. Чтобы продвинуть режим ожидания для полного функционирования (читать и писать), должен ли я оставить host_standby выключенным? – wolf97084

1

То, что вы ищете, как один мастер, несколько (может быть 2) теплыми резервным кластер. Один резервный сервер может быть повышен до уровня оригинала, если оригинал не работает. А согласно 9.4 поддерживается потоковая репликация.

 
`M1 (master) ---> S1 (warm stand-by) ---> S2 (cascading replication)` 

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

Postgresql 9.4 поддерживает все вышеперечисленное. Проверить http://www.postgresql.org/docs/9.4/static/high-availability.html

Смежные вопросы