Barman сжатие WAL

Barman это утилита для бекапирования кластера PostgreSQL.

В Barman доступно сжатие WAL-логов бекапов. (Сжатие FULL (base) бекапов, на текущий момент, средствами Barman недоступно.)
Для включения сжатия есть два варианта:
1. Включить сжатие глобально для всех бекапов, для этого нужно в конфиге /etc/barman.conf прописать в блоке [barman]:
[barman] …
compression = gzip

2. Включать сжатие только для нужных проектов (бекапов), для этого в конфиге конкретного бекапа нужно указать:
[backup_name] …
compression = gzip

Сжатие WAL обычно работает очень хорошо, степень сжатия достигает 65-75 %, что существенно экономит место хранилища бекапов на проектах, в которых идет активная работа с базой.

Barman хранит сжатые WAL без изменения расширения файлов, это надо учитывать. Т.е. в хранилище бекапов сжатые WAL по именам файлов никак не отличаются от несжатых.

Внимание!
В случае восстановления бекапов со сжатыми WAL, Barman, после восстановления base backup, необходимо сначала разархивировать сжатые WAL-логи и уже потом скопировать их на целевой сервер. Barman для разархивирования использует директорию /tmp, для которой в документации Barman рекомендуется выставить размер не менее 4 гб.

Но даже рекомендованного объема /tmp может не хватить во время процесса восстановления. Поэтому, если для каких-либо бекапов используется сжатие WAL, настоятельно рекомендуется использовать другую директорию в качестве TMP для Barman.

Для этого создаем под пользователем barman файл .bash_profile в HOME директории (если он уже существует, то просто добавляем в него записи) и прописываем новый путь к TMPDIR и TEMPDIR, например:

vi ~/.bash_profile

Прописываем новый путь к временной директории (директория должна существовать):

export TMPDIR=/mnt/pgbackup/tmp
export TEMPDIR=${TMPDIR}

Теперь Barman будет использовать новую временную директорию и процесс восстановления не будет останавливаться из-за заполнения /tmp.

0

Добавить комментарий

Ваш e-mail не будет опубликован.