|
|
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток Имеется база на Postgres 9.1, необходимо организовать репликацию этой базы с другим резервным сервером, находящимся в той-же локалке. просьба разъяснить следующие вопросы: 1) В Postgres 9.1 появилась возможность синхронной репликации master - master, лучше воспользоваться этой репликацией из коробки или использовать что-то сторонее. 2) Насколько повыситься производительность если использовать master - slave. 3) Если использовать master - slave, как сильно будет расходиться актуальность базы по времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 14:55:46 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnak1) В Postgres 9.1 появилась возможность синхронной репликации master - master, лучше воспользоваться этой репликацией из коробки или использовать что-то сторонее. в постгресе нет мастер-мастер репликации из коробки, только 3rd party инструменты, например bucardo (только асинхронная). depresnak2) Насколько повыситься производительность если использовать master - slave. производительность коробочнойпотоковой репликации очень хорошая, почти никто не жалуется depresnak3) Если использовать master - slave, как сильно будет расходиться актуальность базы по времени. зависит от нагрузки на мастере и в сети, больше нагрузка - больше лаг. нет нагрузки - лаг ~1 секунда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 15:09:40 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnak, используйте коробочную streaming replication. ее довольно легко настроить, подводных камней почти нет, она неприхотлива и в случае факапа, запасной сервер одной командой превращается в мастера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 15:19:42 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
daevy, Спасибо за разъяснения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 15:21:28 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
Пользуюсь документацией http://wiki.postgresql.org/wiki/Streaming_Replication не совсем понимаю следующий момент sudo -u postgres psql $ psql -c "SELECT pg_start_backup('label', true)" sudo -s $ rsync -a /var/lib/postgresql/9.1/main/ postgres@192.168.0.210:/var/lib/postgresql/9.1/main/ --exclude postmaster.pid sudo -u postgres psql $ psql -c "SELECT pg_stop_backup()" при выполнении команды rsync выдаёт ошибку: rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.crt": Operation not permitted (1) rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.key": Operation not permitted (1) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9] это нормально или их руками менять? и далее по тексту: or in version 9.1+, on the standby server run: $ pg_basebackup -R -D /srv/pgsql/standby --host=192.168.0.10 --port=5432 9.1+ включает в себя 9.1 или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 13:19:42 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnak9.1+ включает в себя 9.1 или нет 9.1+ включает в себя 9.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 13:26:05 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnakвыдаёт ошибку: rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.crt": Operation not permitted (1) rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.key": Operation not permitted (1) rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9] это нормально или их руками менять? можете поменять руками. вобще это скорей всего дефолтовые сертификат с ключом которые на самом деле симлинки в /etc/ssl/... depresnak9.1+ включает в себя 9.1 или нет да включает. вобще способ через pg_basebackup более user-friendly (+ не требует запускать pg_start/stop_backup()), используйте его ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 13:34:30 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
через pg_basebackup попытка не увенчалась успехом pg_basebackup -D /var/lib/postgresql/9.1/main --host=192.168.0.210 --port=5432 pg_basebackup: directory "/var/lib/postgresql/9.1/main" exists but is not empty или всё-же нужно указывать user@ip_address через rsync получилось но база не запускается в логах: 2014-03-04 14:51:45 SAMT FATAL: incorrect checksum in control file погуглив нашёл подобный пост проблема была в системах с разной битностью (как и в моём случае). Поможет ли реконфигур и pg_basebackup или нужно делать связку систем с одинаковой битностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 15:09:24 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
daevy, и ещё вопрос по поводу вашего поста http://habrahabr.ru/post/178567/ где можно прочитать об этом методе более подробно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 15:26:54 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnakчерез pg_basebackup попытка не увенчалась успехом pg_basebackup -D /var/lib/postgresql/9.1/main --host=192.168.0.210 --port=5432 pg_basebackup: directory "/var/lib/postgresql/9.1/main" exists but is not empty или всё-же нужно указывать user@ip_address перед тем как делать pg_basebackup каталог назначения должен быть пуст. в вашшем случае там уже чтото лежит, поэтому завершается фэйлом. установите на мастере max_wal_senders больше 3 и запускайте (со слейва) так: pg_basebackup -P -R -c fast -X stream -h host -D /replica_dest_dir depresnakчерез rsync получилось но база не запускается в логах: 2014-03-04 14:51:45 SAMT FATAL: incorrect checksum in control file погуглив нашёл подобный пост проблема была в системах с разной битностью (как и в моём случае). Поможет ли реконфигур и pg_basebackup или нужно делать связку систем с одинаковой битностью? покажите uname -a с обоих систем. depresnakи ещё вопрос по поводу вашего поста http://habrahabr.ru/post/178567/ где можно прочитать об этом методе более подробно? а что именно вас интересует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 16:56:34 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
daevyперед тем как делать pg_basebackup каталог назначения должен быть пуст. в вашшем случае там уже чтото лежит, поэтому завершается фэйлом. установите на мастере max_wal_senders больше 3 и запускайте (со слейва) так: pg_basebackup -P -R -c fast -X stream -h host -D /replica_dest_dir Слэйв в данный момент лежит и не запускается. daevyпокажите uname -a с обоих систем. мастер: 36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux слэйв: #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux daevyа что именно вас интересует? какие оптимальные параметры лучше выставить в checkpoint_segments/checkpoint_timeout ; full_page_writes; checkpoint_warning; checkpoint_completion_target. По поводу проверки актуальности сделанных бэкапов средствами pg_basebackup не совсем понятно. Мы создаём директорию складываем туда бэкап и тут-же разворачиваем из него базу через скрипт или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 09:02:18 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
P.S. pg_basebackup не знает параметра -R, в хэлпере его нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 10:09:19 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnakмастер: 36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux слэйв: #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux ну да, надо чтобы архитектуры совпадали у операционок, у вас мастер - 32, а слейв - 64. дальнейшие попытки настроить потоковую думаю можно прекратить. depresnakкакие оптимальные параметры лучше выставить в checkpoint_segments/checkpoint_timeout ; full_page_writes; checkpoint_warning; checkpoint_completion_target. тут нет универсальных значений, вот сугубо мое имхо: checkpoint_segments = 128 checkpoint_timeout = 1h full_page_writes = on (всегда on и никогда off) checkpoint_warning = оставить по умолчанию checkpoint_completion_target = 0.9 depresnakПо поводу проверки актуальности сделанных бэкапов средствами pg_basebackup не совсем понятно. Мы создаём директорию складываем туда бэкап и тут-же разворачиваем из него базу через скрипт или как? 1. делаем бэкап с помощью pg_basebackup в основное хранилище бэкапов. 2. копируем последний бэкап во временную директорию (т.к. как после восстановления бэкап уже будет непригоден для хранения в качестве бэкапа - это как банка с огурцами - открыли значит надо съесть, обратно в подвал на годичное хранение её уже не уберешь - протухнет.) 3. на скопированной копии запускаем легковесный постгрес (мало shared_buffers, нестандартный порт) 4. смотрим лог который сформировался при запуске, пытаемся подключится к "временному" инстансу постгреса и делаем соотв. выводы p.s. по поводу остстуствия -R в опциях, в 9.1.* версиях эйто опции нет, да и не критично вобщем-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2014, 11:25:40 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Настроил репликацию и столкнулся со следующей проблемой, удаленные таблицы вновь восстанавливаются подскажите в чем может быть проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 09:50:33 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnak, commit не делаете после удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 10:39:03 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
Гость_0, Я удаляю через phppgadmin и EMS SQL Manager for PostgreSQL . Почитал мануалы, таблицу нельзя удалить если она не пустая, в моём случае там была ссылка. При переименовании таблицы она переименовывается, но при этом таблица со старым названием всё равно остаётся. При удалении ссылки всё ок. Подскажите может в запросе нужно указывать какой-то определенный параметр или для изменения таблиц необходимо удалять ссылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 13:35:03 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
commit в SQL Manager я делал а в phppgadmin я так понял autocommit стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 13:36:34 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
таблица опять появилась, если в ней удалять поля то через 20-30 секунд они вновь появляются. пришлось заходить в консоль и уже оттуда удалять таблицу, с этим можно как-то бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 14:35:41 |
|
||
|
Синхронная репликация postgres 9.1 master - master
|
|||
|---|---|---|---|
|
#18+
depresnak, у Вас запущена какая-то программа которая создаёт заново то что Вы удаляете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2014, 14:55:43 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38590773&tid=1998788]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
208ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 554ms |

| 0 / 0 |
