Re: [pgsql-ru-general] [pgsql-ru-general] Бакап реплики

From: Vladimir Borodin <root(at)simply(dot)name>
To: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
Cc: Миша Тюрин <tmihail(at)bk(dot)ru>, pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: [pgsql-ru-general] [pgsql-ru-general] Бакап реплики
Date: 2015-06-20 12:05:12
Message-ID: CCC8AD23-9C94-448A-A7FD-940680CD0E29@simply.name
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Привет.

> 19 июня 2015 г., в 23:42, Dmitry E. Oboukhov <unera(at)debian(dot)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 ускоряет обновление баз с несколькими терабайтами данных до единиц секунд.

[0] http://www.postgresql.org/message-id/CAAS3tyKGoeSxWk0gibsbvnK0DSRwWW2YaWtY5x1nSQkwdKetFw@mail.gmail.com <http://www.postgresql.org/message-id/CAAS3tyKGoeSxWk0gibsbvnK0DSRwWW2YaWtY5x1nSQkwdKetFw@mail.gmail.com>
[1] https://github.com/2ndquadrant-it/pgespresso <https://github.com/2ndquadrant-it/pgespresso>
[2] http://www.pgbarman.org <http://www.pgbarman.org/>
>
>
>> Пятница, 19 июня 2015, 13:51 +03:00 от "Dmitry E. Oboukhov" <unera(at)debian(dot)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(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
>> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
>> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
>
>> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> --
>
> . ''`. Dmitry E. Oboukhov
> : :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
> `. `~’ GPGKey: 1024D / F8E26537 2006-11-21
> `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537

--
Да пребудет с вами сила…
https://simply.name/ru

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Vladimir Borodin 2015-06-20 12:19:47 Re: [pgsql-ru-general] Тюнинг БД
Previous Message Миша Тюрин 2015-06-19 20:56:49 Re[2]: [pgsql-ru-general] Бакап реплики