powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибкой
22 сообщений из 22, страница 1 из 1
Помогите разобраться с ошибкой
    #40031053
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро.

При создании бэкапа вот такая ошибка:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
...
957640068/958012052 kB (99%), 0/1 tablespace (.../basebackup/week/base.tar.gz)
957656136/958012052 kB (99%), 0/1 tablespace (.../basebackup/week/base.tar.gz)
957656136/958012052 kB (100%), 1/1 tablespace
pg_basebackup: write-ahead log end point: 6520/63F49CB0
pg_basebackup: waiting for background process to finish streaming ...
pg_basebackup: child process exited with error 1
pg_basebackup: data directory "/backups/basebackup/week" not removed at user's request




Помогите пожалуйста разобраться из-за чего она и как исправить?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031107
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что это может быть? :-(
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031558
prustr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sstatistic,
надо зацепиться за последнюю фразу, что директория /backups/basebackup/week не удалена пользовательским запросом.
или за предпоследнюю... посмотреть что там с правами на эту папку.. больше никакой конкретики в логе нет
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031570
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sstatistic
Что это может быть? :-(


по имеющимся данным ничего сказать нельзя.

если воспроизводимо получается ошибка то запускать base backup и смотреть через strace что там за ошибка вылезает а потом думать почему.

Еще можно попробовать base backup c --verbose запустить и посмотреть на вывод.


#"понабрали по объявлениям"

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031727
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'ом, можно покрутить соответствующий таймаут.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031729
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk


Еще можно попробовать base backup c --verbose запустить и посмотреть на вывод.


и так с -v запускается.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031731
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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'ом, можно покрутить соответствующий таймаут.

А подскажите пожалуйста, где этот таймаут настраивается?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031835
KATEROK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sstatistic
А подскажите пожалуйста, где этот таймаут настраивается?

Параметр wal_receiver_timeout в postgresql.conf
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40031893
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KATEROK
sstatistic
А подскажите пожалуйста, где этот таймаут настраивается?

Параметр wal_receiver_timeout в postgresql.conf


погодите...мы же не про репликацию а про base backup
и следовательно wal_receiver_timeout на это никак не влияет

надо wal_sender_timeout поднять раз в 10 (до 10 минут например).


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032251
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 минут достаточно ли будет?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032255
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
непонятно почему от в таймаут падает, посмотрел, за время бэкапа создаются примерно 7 тыс wal файлов...
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032308
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032358
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk
sstatistic
пропущено...



Максим, скажите, если бэкап выполняется 8 часов, 10 минут достаточно ли будет?


зависит от стабильности сети... но в общем нормально должно быть


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


Не совсем понятно при чем тут сеть - локально же делается.


В логе постгресса на это время ошибок не нашел.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032432
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032435
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 прерывается с ошибкой, она удаляет все каталоги, которые она могла создать, прежде чем обнаружила, что не может завершить задание (например, каталог данных и каталог журнала предзаписи). Данный ключ отключает эту очистку и тем самым полезен для отладки.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032436
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,

А если wal_sender_timeout задать заведомо большим, например 8 часов, это может как-то негативно повлиять на работу кластера? К примеру, может автовакуум будет плохо работать или еще что-нить?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032456
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На таких объёмах я рекомендовал бы альтернативные методы резервного копирования. Barman, wall-g, Pgbackrest. И особенно последний. Параллелизм, возможность сделать инкрементное и дифференциальное резервирование. Работа как локально, так и удаленно с единого сервером РК. Компрессия, шифрование и поддержка s3 - как бонус.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032467
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032472
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
я такой последовательности ошибок еще ни разу не видел

Ну как так-то? Точно видел.

Сначала pg_basebackup делает starting background WAL receiver
Потом получает все tablespace
Потом получает write-ahead log end point на котором все датафайлы передали
Потом просит свой walreceiver отчитаться, что получены все wal до этой позиции. И вот только тут обнаруживает, что walreceiver дохлый. А почему он дохлый - было отрапортовано где-то выше.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032473
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032685
sstatistic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 бэкап создался успешно.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой
    #40032752
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sstatistic,

если у вас вывод base backup в файл то не понятно зачем вы указываете
-P Включает отчёт о прогрессе.
который ТОЛЬКО для интерактивного запуска предназначен и только лог вам мусором забивает.



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибкой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]