Re: [pgsql-ru-general] [pgsql-ru-general] Бакап реплики - Mailing list pgsql-ru-general
From | Vladimir Borodin |
---|---|
Subject | Re: [pgsql-ru-general] [pgsql-ru-general] Бакап реплики |
Date | |
Msg-id | CCC8AD23-9C94-448A-A7FD-940680CD0E29@simply.name Whole thread Raw |
In response to | Fwd: Re: [pgsql-ru-general] Бакап реплики (Миша Тюрин <tmihail@bk.ru>) |
List | pgsql-ru-general |
Привет.
19 июня 2015 г., в 23:42, Dmitry E. Oboukhov <unera@debian.org> написал(а):pg_basebackup
http://www.postgresql.org/docs/9.4/static/app-pgbasebackup.html
про утилиту я понимаю.
но мне надо понять смысл ее работы.
вот я понимаю что выдав pg_start_backup на мастере я могу свободно
rsync'ать ее файлики.
мне теперь интересно что надо делать с репликой (хот-стендбай) чтобы
свободно рсинкать.
Для начала стоит взглянуть на этот тред [0]. Если коротко, то механика процесса такова:
1. сказать pg_start_backup(‘label’) на мастере,
2. дождаться, пока реплика достигнет этой позиции xlog’а,
3. скопировать с неё данные любимым инструментом,
4. утащить с мастера файл с backup label,
5. сказать pg_stop_backup() на мастере.
После этого новая реплика взлетит. Весь этот процесс можно сильно облегчить использованием уже упомянутого Мишей pg_basebackup’а или расширения pgespresso [1], который в частности используется божественным barman’ом [2].
просто утилиты утилитами а в реале иногда понимание процессов
позволяет что-то сделать более интересное.
например мы переезжали на новую версию постгриса: я поставил штук 40
экспериментов с утилитой апгрейд-кластер и во всех случаях эта утилита
решала работать от 2 до 5 часов. какие бы опции я не применял.
далее влез и посмотрел что она делает и написали свой скрипт который
апгрейд нам сделал за 17 секунд.
Думаю, ты всё же не все варианты перепробовал. Миша дело говорит -опция -k ускоряет обновление баз с несколькими терабайтами данных до единиц секунд.
Пятница, 19 июня 2015, 13:51 +03:00 от "Dmitry E. Oboukhov" <unera@debian.org>:Есть каскадмастер - репликатеперь и то и другое надо перевести на другое железосделали новую репликумастер +- реплика
|
+- новая реплика (станет новым мастером)Далее хочу сразу сделать и новую реплику которая станет потом и новой
репликой, то естьмастер +- реплика
|
+- новая реплика - реплика 3Как создавали реплики обычно:1. pg_start_backup
2. rsync
3. конфиг recovery на реплике
4. pg_stop_backup
5. старт репликитеперь на шаге 1 на реплике ловим ошибк2015-06-19 10:29:11 GMT ERROR: recovery is in progress
2015-06-19 10:29:11 GMT HINT: WAL control functions cannot be executed
during recovery.
2015-06-19 10:29:11 GMT STATEMENT: SELECT pg_start_backup('label', true);Я погуглил и насколько я понял из того что нагуглилось - что реплики
можно безопасно backup'ить файлы без ввода реплики в backup_mode,
потому что реплика как раз использует WAL'ы для работы, то есть по
факту как бы всегда у нее включен режим backup.правильно ли я понял или нет?PS: Pg 9.3--. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
pgsql-ru-general by date: