Контейнерный PostgreSQL с данными в распределенной файловой системе

8

Мне любопытно, если кто-то на самом деле запускает PostgreSQL в контейнере, работающем в какой-либо форме распределенной файловой системы - предпочтительно GlusterFS или что-нибудь еще.

В настоящее время я бегу Mesos / Marathon. В случае сбоя узла PostgreSQL Marathon просто запускает другой экземпляр PostgreSQL на других узлах и, если все сделано правильно (обнаружение службы и восстановление приложения после потери соединения с базой данных), будет достигнута максимальная отказоустойчивость.

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

Итак, как вы запускаете PostgreSQL в рабочей среде на GlusterFS или подобном? Если это так, стабильно ли это? Как насчет производительности?

pigster
источник
2
Мы наконец-то закончили использовать CEPH. Единственное, что я нашел на данный момент по этой теме, это youtube.com/watch?v=OqlC7S3cUKs
pigster
3
Возможно, стоит использовать repmgr ( repmgr.org ) для управления аварийными переключениями HA postgres вместо того, чтобы слишком усложнять вещи с контейнерами и кластерами.
JamesHannah
1
Я также могу упомянуть PAF: clusterlabs.github.io/PAF в качестве менеджера кластеров для PostgreSQL.
Пьер-Ален TORET

Ответы:

0

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

Каждый кластер обычно имеет понятие кворума: наблюдатели (мониторы, что угодно) должны решить, какой узел является главным. Затем вы можете использовать их информацию для правильной маршрутизации запросов. Весьма типично запускать haproxy не только с базовыми проверками работоспособности TCP / IP но и с некоторой высокоуровневой логикой, реализованной с помощью специфичных для службы запросов.

Проверьте миротворец , например.

poige
источник
0

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

Аффан
источник