|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Доброе утро. При создании бэкапа вот такая ошибка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Помогите пожалуйста разобраться из-за чего она и как исправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 10:44 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Что это может быть? :-( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2020, 14:05 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic, надо зацепиться за последнюю фразу, что директория /backups/basebackup/week не удалена пользовательским запросом. или за предпоследнюю... посмотреть что там с правами на эту папку.. больше никакой конкретики в логе нет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 12:35 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic Что это может быть? :-( по имеющимся данным ничего сказать нельзя. если воспроизводимо получается ошибка то запускать base backup и смотреть через strace что там за ошибка вылезает а потом думать почему. Еще можно попробовать base backup c --verbose запустить и посмотреть на вывод. #"понабрали по объявлениям" -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2020, 13:46 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
В процессе basebackup умер walreceiver, запрошенный через -X stream: pg_basebackup: child process exited with error 1 walreceiver тут единственный возможный child от pg_basebackup. А раз он сдох - значит весь basebackup бесполезный бинарный мусор из-за отсутствия wal. pg_basebackup обычно в таком случае удаляет самостоятельно что понаписал. Но вы руками запросили опцию этого не делать. Если понимаете зачем - то в чём вопрос? Почему умер walreceiver - ищите в выводе выше или релевантные строки в логе базы. Как типичная штука - у вас диски не дали walreceiver'у выйти из ожидания записи от отчитаться walsender'у что ещё жив. За что коннект был убит walsender'ом, можно покрутить соответствующий таймаут. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 12:18 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk Еще можно попробовать base backup c --verbose запустить и посмотреть на вывод. и так с -v запускается. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 12:25 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Melkij В процессе basebackup умер walreceiver, запрошенный через -X stream: pg_basebackup: child process exited with error 1 walreceiver тут единственный возможный child от pg_basebackup. А раз он сдох - значит весь basebackup бесполезный бинарный мусор из-за отсутствия wal. pg_basebackup обычно в таком случае удаляет самостоятельно что понаписал. Но вы руками запросили опцию этого не делать. Если понимаете зачем - то в чём вопрос? Почему умер walreceiver - ищите в выводе выше или релевантные строки в логе базы. Как типичная штука - у вас диски не дали walreceiver'у выйти из ожидания записи от отчитаться walsender'у что ещё жив. За что коннект был убит walsender'ом, можно покрутить соответствующий таймаут. А подскажите пожалуйста, где этот таймаут настраивается? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 12:26 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic А подскажите пожалуйста, где этот таймаут настраивается? Параметр wal_receiver_timeout в postgresql.conf ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 15:38 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
KATEROK sstatistic А подскажите пожалуйста, где этот таймаут настраивается? Параметр wal_receiver_timeout в postgresql.conf погодите...мы же не про репликацию а про base backup и следовательно wal_receiver_timeout на это никак не влияет надо wal_sender_timeout поднять раз в 10 (до 10 минут например). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2020, 17:58 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk KATEROK пропущено... Параметр wal_receiver_timeout в postgresql.conf погодите...мы же не про репликацию а про base backup и следовательно wal_receiver_timeout на это никак не влияет надо wal_sender_timeout поднять раз в 10 (до 10 минут например). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Максим, скажите, если бэкап выполняется 8 часов, 10 минут достаточно ли будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 14:27 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
непонятно почему от в таймаут падает, посмотрел, за время бэкапа создаются примерно 7 тыс wal файлов... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 14:37 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic Maxim Boguk пропущено... погодите...мы же не про репликацию а про base backup и следовательно wal_receiver_timeout на это никак не влияет надо wal_sender_timeout поднять раз в 10 (до 10 минут например). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Максим, скажите, если бэкап выполняется 8 часов, 10 минут достаточно ли будет? зависит от стабильности сети... но в общем нормально должно быть -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 15:26 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk sstatistic пропущено... Максим, скажите, если бэкап выполняется 8 часов, 10 минут достаточно ли будет? зависит от стабильности сети... но в общем нормально должно быть -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Не совсем понятно при чем тут сеть - локально же делается. В логе постгресса на это время ошибок не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 16:35 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic Maxim Boguk пропущено... зависит от стабильности сети... но в общем нормально должно быть -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Не совсем понятно при чем тут сеть - локально же делается. В логе постгресса на это время ошибок не нашел. интересно особенно про локально может диски в процессе перегрузились... в общем если wal_sender_timeout не поможет - можно будет смотреть дальше. PS: 7000 wal файлов за время base backup это очень и очень много (больше 100GB wal) это за какое время у вас base backup делается и какой размер базы? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 20:18 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk sstatistic пропущено... Не совсем понятно при чем тут сеть - локально же делается. В логе постгресса на это время ошибок не нашел. интересно особенно про локально может диски в процессе перегрузились... в общем если wal_sender_timeout не поможет - можно будет смотреть дальше. PS: 7000 wal файлов за время base backup это очень и очень много (больше 100GB wal) это за какое время у вас base backup делается и какой размер базы? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Я уже и описание перечитал бэйсбэкапа нескоьлко раз и видео пересмотрел про репликацию, где бэйсбэкап описывается и там не нашел про wal_sender_timeout... Хорошо что пояснили. Объем кластера около 1 Тб, делается примерно 8 часов. Раз в неделю. Про локально, я не совсем верно сказал, делается на другой сервер, который примонтирован в локальлную дирректоорию, так что по сети передается, да. БайсБэкап долгое время выполнялся нормально вдруг перестал с ошибкой, которая выше. Никаких настроек не меняли ни в ОС ни в самой команде бэкапирования. Параметры при создании бэйсбэкапа следующие: -Ft Записывает в целевой каталог файлы в формате tar. Основной каталог хранения данных будет писаться в файл base.tar, а табличные пространства — в файлы, именованные в соответствии с их OID. -z Включает gzip-сжатие для выводимого tar-файла с уровнем компрессии по умолчанию. Сжатие поддерживается лишь в режиме упаковки. -P Включает отчёт о прогрессе. -v Включает режим подробного вывода. -Xs Включает все необходимые файлы журналов транзакций (файлы WAL) в резервную копию. В том числе включаются все журналы транзакций, сгенерированные в процессе создания резервной копии. Если параметр указан, то главный процесс БД может быть запущен непосредственно с восстановленным каталогом, без дополнительного архива журналов; таким образом полученная резервная копия будет вполне самодостаточной. Передавать журнал транзакций в процессе создания резервной копии. При этом открывается второе соединение к серверу, по которому будет передаваться журнал транзакций, одновременно с созданием резервной копии. Таким образом будут использоваться два подключения из разрешённых параметром max_wal_senders. И если клиент будет успевать получать журнал транзакций, ведущему серверу не потребуется хранить дополнительные журналы транзакций. -n По умолчанию, когда программа pg_basebackup прерывается с ошибкой, она удаляет все каталоги, которые она могла создать, прежде чем обнаружила, что не может завершить задание (например, каталог данных и каталог журнала предзаписи). Данный ключ отключает эту очистку и тем самым полезен для отладки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 20:29 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk, А если wal_sender_timeout задать заведомо большим, например 8 часов, это может как-то негативно повлиять на работу кластера? К примеру, может автовакуум будет плохо работать или еще что-нить? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 20:32 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
На таких объёмах я рекомендовал бы альтернативные методы резервного копирования. Barman, wall-g, Pgbackrest. И особенно последний. Параллелизм, возможность сделать инкрементное и дифференциальное резервирование. Работа как локально, так и удаленно с единого сервером РК. Компрессия, шифрование и поддержка s3 - как бонус. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 22:15 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic Maxim Boguk, А если wal_sender_timeout задать заведомо большим, например 8 часов, это может как-то негативно повлиять на работу кластера? К примеру, может автовакуум будет плохо работать или еще что-нить? его нет смысла задавать выше чем системный tcp timeout это просто timeout на то сколько времени wal sender может не получать ответа от приемника что приемник жив и здоров перед тем как считать коннект оборванным. Зачем может быть 8 часов не понятно. Если при 10 минутах обрывается - надо таки смотреть логи базы и если не помогает то strace / tcpdump чтобы понять почему получение wal обрывается... причем в очень странном месте: pg_basebackup: waiting for background process to finish streaming ... pg_basebackup: child process exited with error 1 я такой последовательности ошибок еще ни разу не видел. PS: Я уже и описание перечитал бэйсбэкапа нескоьлко раз и видео пересмотрел про репликацию, где бэйсбэкап описывается и там не нашел про wal_sender_timeout.. А при чем тут base backup если это SENDER timeout т.е. отправляющей стороны т.е. стороны базы настройка. Оно же очевидно где он должен быть. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2020, 23:07 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk я такой последовательности ошибок еще ни разу не видел Ну как так-то? Точно видел. Сначала pg_basebackup делает starting background WAL receiver Потом получает все tablespace Потом получает write-ahead log end point на котором все датафайлы передали Потом просит свой walreceiver отчитаться, что получены все wal до этой позиции. И вот только тут обнаруживает, что walreceiver дохлый. А почему он дохлый - было отрапортовано где-то выше. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 00:08 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Melkij Maxim Boguk я такой последовательности ошибок еще ни разу не видел Ну как так-то? Точно видел. Сначала pg_basebackup делает starting background WAL receiver Потом получает все tablespace Потом получает write-ahead log end point на котором все датафайлы передали Потом просит свой walreceiver отчитаться, что получены все wal до этой позиции. И вот только тут обнаруживает, что walreceiver дохлый. А почему он дохлый - было отрапортовано где-то выше. так я думаю что если автор топика адекватен то строчку pg_basebackup: could not receive data from WAL stream: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. он бы не стал убирать из присланного лога... а если убрал - то смысла возится и помогать я не вижу по очевидным причинам -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 00:16 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
Maxim Boguk Melkij пропущено... Ну как так-то? Точно видел. Сначала pg_basebackup делает starting background WAL receiver Потом получает все tablespace Потом получает write-ahead log end point на котором все датафайлы передали Потом просит свой walreceiver отчитаться, что получены все wal до этой позиции. И вот только тут обнаруживает, что walreceiver дохлый. А почему он дохлый - было отрапортовано где-то выше. так я думаю что если автор топика адекватен то строчку pg_basebackup: could not receive data from WAL stream: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. он бы не стал убирать из присланного лога... а если убрал - то смысла возится и помогать я не вижу по очевидным причинам -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru А ведь ошибка-то такая есть: pg_basebackup: could not receive data from WAL stream: server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. только она затерялась среди десятков тысяч однотипных сообщений: 957640068/958012052 kB (99%), 0/1 tablespace (.../basebackup/week/base.tar.gz) по error она не грепнулась и я ее тупо просмотрел, т.к. она и не в начале и не в конце. Думал там все эти десятки тысяч сообщений однотипны. Максим, Melkij, большое спасибо! После изменения wal_sender_timeout бэкап создался успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 17:40 |
|
Помогите разобраться с ошибкой
|
|||
---|---|---|---|
#18+
sstatistic, если у вас вывод base backup в файл то не понятно зачем вы указываете -P Включает отчёт о прогрессе. который ТОЛЬКО для интерактивного запуска предназначен и только лог вам мусором забивает. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2020, 21:51 |
|
|
start [/forum/topic.php?fid=53&fpage=18&tid=1994288]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
others: | 292ms |
total: | 456ms |
0 / 0 |