архивированием, и есть сервер бэкапа. В один день сервер БД внезапно завис и какое-то время не работал. Сейчас при попытке сделать бэкап probackup ругается, что WAL segment is absent. Проверил в директории WAL на сервере бэкапов, там действительно этого файла нет. На сервере БД, само собой тоже. Как теперь поправить эту ситуацию? Только сделать полный бэкап? И как можно в дальнейшем избежать такой ситуации?
у вас при попытке снятия полного бэкапа ошибка такая выходит ?
Нет, при инкрементале
> Только сделать полный бэкап? По идее, да. А как конкретно всё это вообще настроено (т.е. суть в том, что при минимально адекватных настройках архивирования этого не должно было случиться — т.е. происшедшее указывает на bug в чём-то)? > И как можно в дальнейшем избежать такой ситуации? Выяснить, что произошло, в первую очередь.
Значит, надо пора делать FULL.
Вообще, да, full — но как у вас мог сегмент не попасть в архив? Оно вобще-то не удаляется пока до архива не доехало. Смотрите логи — там должна быть об этом информацыя.
Я поглядел в логи, там следующее. В 7:21 был отправлен сегмент 0000000200003FA800000066. Он отправился успешно. В 7:22 сервер завис. В 7:39 его ребутнули. И вот после вычитывания WAL и запуска БД был уже отправлен сегмент 0000000200003FA800000068 в 7:43. Как раз сегмент 0000000200003FA800000067 (на который ругается Probackup) и не был отправлен. Видимо, из-за внезапного ребута данный сегмент не был отправлен.
А как конкретно всё это вообще настроено? И да, SELECT version();? > Видимо, из-за внезапного ребута данный сегмент не был отправлен. А других логов нет? Если PostgreSQL стал отправлять сегмент 0000000200003FA800000068, то это значит, что что-то подтвердило успешную запись предыдущего (если не считать возможных bugs, опять-таки).
Других логов нет, только эти. Версия 11.5, ванильная. Конкретно настроено следующим образом. Включен archive_mode. wal_level установлен в replica. Указан параметр archive_command, который шлет wal к серверу бэкапа. checkpoint_timeout выставлен на 15 минут. archive_timeout выставлен на 1 минуту. Ну и дальше как обычно, WAL-ы отправляются серверов БД, сервер бэкапов раз в неделю в пятницу делает Full, в остальные дни Page.
Обновление планируется, сам хочу перейти на 12-ую версию. Так и я ж не знаю, какие именно настройки вас интересуют, знал бы, все сразу скинул) archive_command следующий pg_probackup-11 archive-push -B /backup/probackup --instance=dbserver --wal-file-path=%p --wal-file-name=%f --remote-host=bkpsrv --remote-user=probackup --compress --overwrite --threads=2 --batch-size=50
> Обновление планируется, сам хочу перейти на 12-ую версию. При чём тут 12-я версия? Использование 11.5 в production сейчас как бы намекает нам на качество администрирования (и да, Ваша проблема может быть от этого). ;) > какие именно настройки вас интересуют Относящиеся к делу. А версия probackup какая?
Не я не ставил, мне досталось по наследству. А что не так с версией 11.5? Probackup 2.5.12
> А что не так с версией 11.5? Да всего лишь https://why-upgrade.depesz.com/show?from=11.5&to=11.21 Короче говоря, ищите там свою проблему сами, если у Вас больше ничего нет. ;) > Probackup 2.5.12 Ну хоть этот актуальный... а в pg_probackup.log (ну или как там у вас настроено) ничего нет?
Поищу, спасибо. В логе пробэкапа ничего нет, только вот сообщение о отсутствии WAL
Обсуждают сегодня