Задать вопрос
chemtech
@chemtech
Линуксойд, DevOps

Почему wal-g backup-push зависает на Finished writing part 3?

Centos 7
Postgresql 9.6
WAL-G v0.2.4 и v0.1.15

cat /usr/local/bin/backup_wal.sh 
#!/bin/bash

. /etc/wal-g.d/server-s3.conf

wal-g backup-push /var/lib/pgsql/9.6/
wal-g backup-list


cat  /etc/wal-g.d/server-s3.conf
#!/bin/bash

export WALE_S3_PREFIX="s3://pg-backups"
export AWS_ACCESS_KEY_ID="xxx"
export AWS_ENDPOINT="http://http://10.233.60.57:9000"
export AWS_S3_FORCE_PATH_STYLE="true"
export AWS_SECRET_ACCESS_KEY="yyy"

export PGDATA=/var/lib/pgsql/9.6/data/
export PGHOST=/var/run/postgresql/.s.PGSQL.5432
export WALG_UPLOAD_CONCURRENCY=2
export WALG_DOWNLOAD_CONCURRENCY=2
export WALG_UPLOAD_DISK_CONCURRENCY=2
export WALG_DELTA_MAX_STEPS=7


cat /var/lib/pgsql/9.6/data/postgresql.conf | grep wal_level
wal_level = replica         # minimal, replica, or logical


Выключил блок archive
cat /var/lib/pgsql/9.6/data/postgresql.conf | grep archive
archive_mode = on
archive_command = '/usr/local/bin/backup_wal.sh'
archive_timeout = 60


/usr/local/bin/backup_wal.sh 
Path:  
INFO: 2019/02/12 15:12:56.554875 Couldn't find previous backup. Doing full backup.
INFO: 2019/02/12 15:12:56.874112 Walking ...
INFO: 2019/02/12 15:12:56.874507 Starting part 1 ...
INFO: 2019/02/12 15:12:56.876594 Starting part 2 ...
INFO: 2019/02/12 15:12:56.996311 Finished writing part 1.
INFO: 2019/02/12 15:13:03.726401 Finished writing part 2.
INFO: 2019/02/12 15:13:04.581864 Starting part 3 ...
INFO: 2019/02/12 15:13:04.582826 /data/global/pg_control
INFO: 2019/02/12 15:13:04.583282 Finished writing part 3.


Minio:
5c62b8b72ffeb495341335.png
  • Вопрос задан
  • 295 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
archive_command = '/usr/local/bin/backup_wal.sh'

cat /usr/local/bin/backup_wal.sh
#!/bin/bash

. /etc/wal-g.d/server-s3.conf

wal-g backup-push /var/lib/pgsql/9.6/
wal-g backup-list

Аааа?... Это вы сейчас серьёзно?

Не будет это работать. archive_command вызывается на каждый сегмент WAL - 16мб изменений обычно. То есть легко десятки раз в секунду на нагруженных базах. Пытаться отсюда делать бекап кластера - идея ужасная.

wal-push в archive_command должен быть. backup-push отдельно, из крона обычно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы