Решение проблем
1. Настройка SELinux
В некоторых случаях SELinux может блокировать выполнение резервного копирования. На это может указывать ошибка в журнале:
cp: cannot create regular file '/opt/rubackup/mnt/postgresql_archives/00000001000004B500000077': Permission denied
Чтобы устранить ошибку, выполните следующие шаги:
-
Установите инструменты управления SELinux: пакет
policycoreutils-python-utils(илиpolicycoreutils-python, в зависимости от дистрибутива).-
RHEL, CentOS, Fedora
-
Debian, Ubuntu
sudo yum install policycoreutils-python-utilssudo apt install policycoreutils-python-utils -
-
Создайте пользовательский модуль политики SELinux.
Сначала создайте файл для определения вашей пользовательской политики. Например, создайте файл с именем
my_custom_policy.te:vi my_custom_policy.teДобавьте в этот файл следующее содержимое, заменив
/path/to/your/folderфактическим путем к каталогу, который вы хотите исключить из ограничений, аmy_custom_t— пользовательским типом.module my_custom_policy 1.0; require { type unconfined_t; type my_custom_t; } type my_custom_t; allow unconfined_t my_custom_t:file { read write execute }; allow unconfined_t my_custom_t:dir { read write add_name remove_name }; -
Скомпилируйте модуль политики.
checkmodule -M -m -o my_custom_policy.mod my_custom_policy.te semodule_package -o my_custom_policy.pp -m my_custom_policy.mod -
Установите модуль политики.
sudo semodule -i my_custom_policy.pp -
Пометьте каталог пользовательским типом SELinux:
Используйте команду
semanage fcontext, чтобы добавить контекст, и командуrestorecon, чтобы его применить.sudo semanage fcontext -a -t my_custom_t "/path/to/your/folder(/.*)?" sudo restorecon -R -v /path/to/your/folder
2. Резервное копирование в Astra Linux
При настройке резервного копирования в ОС Astra Linux SE 1.6
и 1.7 необходимо в файле /etc/parsec/mswitch.conf для параметра
zero_if_notfound установить значение yes и перезагрузить СУБД.
3. Восстановление с развертыванием в Alt Linux
Для корректного восстановления с развертыванием в ОС Alt
Linux в файле /etc/passwd необходимо:
-
Добавить строку:
postgres:x:46:46:PostgreSQL Server:/var/lib/pgsql:/bin/bash -
Закомментировать строку:
postgres:x:46:46:PostgreSQL Server:/var/lib/pgsql:/dev/null
4. Настройка ведомых серверов в кластерах Patroni
Проблема
Резервное копирование не с узла-лидера в кластере Patroni завершается с ошибкой.
Решение
Установите в настройках кластера wal_level = always для ведомых
серверов.