Настройка СУБД

Эта инструкция предполагает, что к служебной БД будут подключаться машины с адресами от 192.168.0.50 до 192.168.0.53.

1. Настройка postgresql.conf

Разрешите подключение к БД для всех серверов, которые будут входить в серверную группировку RuBackup (основной сервер, резервный сервер, медиасервер).

  1. Отредактируйте postgresql.conf.

    # CONNECTIONS AND AUTHENTICATION
    #-----------------------------------------------------------------------
    # - Connection Settings -
    
    #listen_addresses = 'localhost'
    # what IP address(es) to listen on;
    
    listen_addresses = '192.168.0.50,192.168.0.51,192.168.0.52,192.168.0.53,localhost' (1)
    # comma-separated list of addresses;
    # defaults to 'localhost'; use '*' for all
    # (change requires restart)
    
    port = 5432 (2)
    # (change requires restart)
    
    max_connections = 500 (3)
    # (change requires restart)
    1 Установите listen_addresses = '*' для подключения с любых адресов (с учётом настроек pg_hba.conf).
    2 Если установите другой порт подключения к БД по умолчанию, измените порт и в настройках RuBackup.
    3 При расчёте максимального количества подключений max_connections к БД следует учитывать: при подключении каждого медиасервера добавляется parallelizm_media × 2 + 9 соединений.
  2. Установите параметру shared_buffers значение в размере половины от объема оперативной памяти.

  3. Установите параметру max_parallel_workers значение не менее половины от количества ядер процессора, если сервер СУБД совмещен с сервером RuBackup, и полного количества ядер процессора, если сервер СУБД является выделенным.

  4. Cохраните изменения.

2. Настройка pg_hba.conf

Настройте возможность аутентификации с адресов, которые будут входить в серверную группировку RuBackup (основной, резервный, медиасервера), и АРМ администратора RuBackup.

  1. Отредактируйте pg_hba.conf, указав IP-адреса и маску сети всех подключаемых серверов и АРМ администратора RuBackup к БД по протоколу IPv4.

    Пример 1. Пример pg_hba.conf
    local all postgres peer
    
    # TYPE DATABASE USER ADDRESS METHOD
    # "local" is for Unix domain socket connections only
    local all  all                md5
    
    # IPv4 local connections:
    host  all  all     127.0.0.1/32  md5
    host  all  all  192.168.0.50/32  md5
    host  all  all  192.168.0.51/32  md5
    host  all  all  192.168.0.52/32  md5
    host  all  all  192.168.0.53/32  md5
  2. Сохраните изменения.

Подключение к служебной БД с любых адресов

Подключение к служебной БД с любых адресов небезопасно.

При необходимости подключения к БД с любых внешних адресов установите listen_addresses = '*' в postgresql.conf и host all all 0.0.0.0/0 md5 в pg_hba.conf.

postgresql.conf
listen_addresses = '*'
pg_hba.conf
host  all  all  0.0.0.0/0  md5

3. Настройка файла mswitch.conf

Этот шаг выполняется только для СУБД PostgreSQL в ОС Astra Linux Special Edition с максимальным уровнем защищенности («Смоленск»).

Чтобы не возникала ошибка при получении мандатных атрибутов, нужно отредактировать конфигурационный файл СУБД PostgreSQL /etc/parsec/mswitch.conf в ОС Astra Linux Special Edition с максимальным уровнем защищенности («Смоленск»):

  1. Откройте для редактирования файл /etc/parsec/mswitch.conf и измените параметр для создания пользователя СУБД PostgreSQL, который не назначен в ОС Astra Linux Special Edition 1.7:

    sudo nano /etc/parsec/mswitch.conf
  2. Отредактируйте значение указанного параметра, изменив его на yes:

    zero_if_notfound: yes
  3. Сохраните изменения.

4. Применение изменений

Перезапустите Postgres для применения изменений:

systemctl restart postgresql

5. Установка пароля пользователя postgres

  1. Подключитесь к СУБД от имени пользователя postgres.

    sudo -u postgres psql
  2. Задайте пароль для пользователя postgres.

    alter user postgres password '12345'; (1)
    1 '12345' — задаваемый пароль пользователя.
  3. Завершите работу под пользователем postgres:

    \q