Решение проблем
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-utils
sudo 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
для ведомых
серверов.