Перейти к основному содержимому

Ручная пошаговая установка конфигурации standalone

Сведения

При переходе к данному разделу предполагается, что изучена информация общего блокаручной установки.

Данный раздел рассматривает процесс ручной пошаговой установки экземпляра СУБД Pangolin в конфигурации standalone.

Все приведенные команды и примеры заполненных конфигураций являются примерами. Их необходимо отредактировать в соответствии с требуемыми параметрами и конфигурациями.

Обозначения

В инструкции используются переменные для динамической настройки. Перед выполнением команд скорректируйте значение относительно реализуемого сценария установки:

  • {OS} - операционная система;
  • {version_OS} - версия операционной системы;
  • {path} - полный путь к директории distributive или путь к дистрибутиву;
  • {product_version} - версия продукта (текущая версия: 8.2.0);
  • {short_version} - короткая версия продукта (текущая: 8.2);
  • {base_version} - основная версия продукта (текущая: 8);
  • {version_component} - версия компонента.

Подготовка к ручной установке

Предупреждение!

В случае использования сертифицированной ОС Astra Linux «Смоленск» обратитесь кразделу особенностей работы с данной ОС.

  1. Проверьте что порт для работы СУБД (по умолчанию 5432) не заблокирован на уровне сети или виртуальной машины.

  2. Проверьте занятость uid/gid. Для установки экземпляра СУБД Pangolin по умолчанию используется: uid/gid: 26 для postgres, uid/gid: 126 для kmadmin_pg и gid: 226 для группы pangolin_users. Пример команды проверки:

    getent passwd | grep 26
    getent passwd | grep 126
    getent group | grep 226

    В случае занятости данных uid/gid переопределите переменные через изменение значений. Пример изменения uid/gid для пользователя postgres:

    sudo POSTGRES_USER_GUID=<unused_uid> POSTGRES_GROUP_GUID=<unused_gid> dnf install pangolin-dbms-8
    Важно

    Изменение актуально для ОС Astra Linux, в связи с занятостью gid: 126 группой tape и для ОС Альт СП 10 версии 2 (занятость gid=26):

    error: group with gid=126 already exists

    Список переменных окружения, использующих uid/gid:

    POSTGRES_USER_GUID             # изменение uid пользователя postgres (по умолчанию 26)
    POSTGRES_GROUP_GUID # изменение gid группы postgres (по умолчанию 26)
    KMADMIN_PG_USER_GUID # изменение uid пользователя kmadmin_pg (по умолчанию 126)
    KMADMIN_PG_GROUP_GUID # изменение gid группы kmadmin_pg (по умолчанию 126)
    PANGOLIN_USERS_GROUP_GUID # изменение gid группы pangolin_users (по умолчанию 226)
  3. Проверьте, что виртуальные машины, которые будут использоваться для установки СУБД, находятся в области видимости. Воспользуйтесь командой ping.

    Сведения

    Выполните данный пункт в случае установки кластерной конфигурации (cluster).

    Замените переменные на значения DNS/IP-адресов хостов и выполните команды с мастера:

    ping <dns/ip-address replica>
    ping <dns/ip-address arbiter>
  4. Убедитесь, что дистрибутив распакован с использованием скрипта unpacker-distrib.sh (с ключом --not-pack) и каталог дистрибутива присутствует на всех узлах кластера.

Примечание

Использование мета-пакетов может упростить дальнейшие шаги установки rpm/deb-пакетов. Особенно в случае, когда требуется установка нескольких компонентов.

Установка экземпляра СУБД Pangolin

Данный раздел описывает сценарий процесса ручной установки на операционные системы (ОС), такие как:

  • Platform V SberLinux OS Server;
  • РЕД ОС;
  • CentOS;
  • Astra Linux / Astra Linux релиз «Смоленск»;
  • Альт СП / Альт Сервер.

Для уточнения поддерживаемых версий указанных ОС обратитесь к списку в разделе «Системные требования».

Подсказка

Для развертывания СУБД Pangolin на окружении 1С выполните шаги с пометкой «для окружения 1С», вместо «обычное окружение».

Порядок установки

Шаги процесса ручной установки:

  1. Установка rpm/deb-пакетов серверной и клиентской части СУБД.
  2. Создание системных директорий необходимых для работы СУБД.
  3. Выполнение импорта лицензии.
  4. Подготовка переменных окружения.
  5. Инициализация кластера СУБД.
  6. Конфигурирование СУБД Pangolin.
  7. Запуск СУБД.
  8. Проверка результата.
  9. Ознакомление с дальнейшими шагами.

Шаг 1. Установка rpm/deb-пакетов

Установите пакеты серверной и клиентской части СУБД:

sudo dnf install /{path}/pangolin-dbms-{base_version}-{product_version}-{OS}.x86_64.rpm
sudo dnf install /{path}/pangolin-dbms-{base_version}-client-{product_version}-{OS}.x86_64.rpm
Подсказка

Пример заполненной команды:

sudo dnf -y install ~/distributive/pangolin-dbms-8-8.2.0-sberlinux9.x86_64.rpm
sudo dnf -y install ~/distributive/pangolin-dbms-8-client-8.2.0-sberlinux9.x86_64.rpm

В случае использования настроенного локального репозитория используйте упрощенные команды для установки пакетов. Например, sudo dnf -y install pangolin-dbms-{short_version}. Пакетный менеджер самостоятельно найдет нужный пакет в репозитории и предложит его к установке.

Шаг 2. Создание системных директорий

Создайте директории /pgdata, /pangolinlogs:

sudo mkdir -p /pgdata /pangolinlogs/pangolin-dbms
sudo chown -R postgres:postgres /pgdata /pangolinlogs
sudo chmod -R 700 /pgdata /pangolinlogs

Шаг 3. Импорт лицензии

Для целей соблюдения лицензионных условий продукта применяется файл, содержащий параметры лицензии и подписанный цифровой подписью с использованием приватного ключа.

Сведения

Лицензия поставляется вместе с дистрибутивом в личном кабинете клиента. В случае ее отсутствия, обратитесь к менеджеру.

Добавьте файл с лицензией license.json в папку /opt/pangolin-license/ и назначьте необходимые права:

sudo mkdir -p /opt/pangolin-license
sudo mv /{path}/license.json /opt/pangolin-license
sudo chown -R postgres:pangolin_users /opt/pangolin-license
sudo chmod 770 /opt/pangolin-license
sudo chmod 440 /opt/pangolin-license/license.json

Шаг 4. Подготовка переменных окружения

Из под пользователя postgres измените файл .bash_profile (в случае ОС Astra Linux - .profile) при помощи текстового редактора, добавив следующие строки с переменными окружения (замените переменные в скобках { } на актуальные значения). После перечитайте переменные окружения для .bash_profile/.profile:

sudo -iu postgres
umask 022
export PG_LICENSE_PATH=/opt/pangolin-license
export PGHOME=/opt/pangolin-dbms-server-8
export PGHOME_CLIENT=/opt/pangolin-dbms-client-8
export PGDATABASE=postgres
export PGUSER=postgres
export PGHOST=127.0.0.1
export PGPORT=5432
export PGCLIENTENCODING=UTF8
export PGDATA=/pgdata/0{base_version}/data
export MANPATH=$MANPATH:$PGHOME/share/man
. ~/.bash_profile
exit

Шаг 5. Инициализация кластера СУБД

Инициализируйте новый кластер СУБД Pangolin:

  • обычное окружение:

    sudo -iu postgres
    initdb --locale en_US.UTF-8 -k -D /pgdata/0{base_version}/data/
    exit
  • окружение с 1С:

    sudo -iu postgres
    initdb --locale ru_RU.UTF-8 -k -D /pgdata/0{base_version}/data/
    exit

    Для окружения с 1С крайне важно указать локаль, в будущем она будет использоваться для инициализации БД, которая создает 1С.

Шаг 6. Конфигурирование СУБД Pangolin

  1. Отредактируйте конфигурационный файл /pgdata/0{base_version}/data/postgresql.conf:

    1. Рекомендуется выполнять конфигурирование СУБД при помощи вспомогательного инструмента Pangolin Tuner. Описание утилиты и шаги по запуску описаны в подразделе «Установка компонента Pangolin Tuner».

    2. С помощью текстового редактора под пользователем postgres измените значение конфигурационного параметра enabled_extra_auth_methods с указанием методов аутентификации (эти же методы нужно будет указать в pg_hba.conf в следующем пункте) к использованию:

      • обычное окружение:

        enabled_extra_auth_methods = 'peer, trust'
      • окружение с 1С:

        enabled_sec_admin_extra_auth_methods = 'md5,trust,peer,cert'
        enabled_extra_auth_methods = 'md5,trust,peer,cert'
      Примечание

      Параметрenabled_sec_admin_extra_auth_methods отвечает за список дополнительно разрешенных к использованию методов аутентификации для ролей администраторов безопасности, тогда как в enabled_extra_auth_methods передается список для всех остальных ролей.

    3. С помощью текстового редактора под пользователем postgres задайте для параметра listen_addresses значение 0.0.0.0, чтобы разрешить подключение к СУБД по IP-адресу сервера Pangolin.

      listen_addresses = '0.0.0.0'
    4. Аналогично измените параметр log_directory, который должен быть равен пути до каталога pangolinlogs, созданного на шаге 2.

      log_directory = /pangolinlogs/pangolin-dbms
  2. С помощью текстового редактора под пользователем postgres измените конфигурационный файл /pgdata/0{base_version}/data/pg_hba.conf (добавьте строки в конец файла):

    local   all           all                                peer
    host all all 0.0.0.0/0 trust

Шаг 7. Запуск СУБД

Запустите экземпляр СУБД Pangolin:

sudo -iu postgres
pg_ctl -D /pgdata/0{base_version}/data/ start
exit

Результат

После завершения процесса установки экземпляра СУБД рекомендуется провести чек-лист проверки корректности работы.

В результате выполнения данных этапов по инструкции формируется:

  • Готовый к работе экземпляр СУБД в конфигурации standalone.
  • Настроенный файл конфигурации (postgresql.conf), адаптированный под нужный профиль использования (OLAP/OLTP/1C).
  • Возможность самостоятельно адаптировать СУБД под индивидуальные требования (настройка расширений, функциональностей и пр.).

Установка компонентов продукта СУБД Pangolin

Установка компонента Pangolin Tuner

Pangolin Tuner — это инструмент для работы с конфигурацией Postgres-like СУБД, предназначенный для оптимизации производительности баз данных в различных сценариях использования. Инструмент автоматически определяет оптимальные настройки в зависимости от профиля рабочей нагрузки / профиля использования. Это позволяет значительно сократить время настройки и минимизировать риски, связанные с неправильной конфигурацией. Подробнее смотрите в отдельном разделе про утилиту Pangolin Tuner.

Порядок установки

Шаги процесса ручной установки компонента:

  1. Установка rpm/deb-пакета утилиты.
  2. Описание процесса оптимизации конфигурационного файла СУБД.

Шаг 1. Установка rpm/deb-пакета

dnf install -y <distributive>/utilities/pangolin-tuner-{version_component}-{OS}.x86_64.rpm

Пример:

dnf install -y distributive/utilities/pangolin-tuner-{version_component}-sberlinux{version_OS}.x86_64.rpm

Шаг 2. Оптимизация конфигурационного файла СУБД

  1. Выберите профиль рабочей нагрузки, соответствующий конкретным потребностям для использования оптимальных значений параметров.

  2. Запустите утилиту Pangolin Tuner с необходимыми настройками и сконфигурируйте файл под нужный профиль:

    Сконфигурируйте файл под нужный профиль:

    • Для конфигурации standalone:

      /opt/pangolin-tuner/bin/pangolin-tuner --config /pgdata/data/data/postgresql.conf --profile <профиль> --output-file /pgdata/data/data/postgresql.conf.oltp
    • Для кластерной конфигурации:

      /opt/pangolin-tuner/bin/pangolin-tuner --config /etc/pangolin-manager/postgres.yml --profile <профиль> --output-file /etc/pangolin-manager/postgres.yml.oltp

    Подставьте выбранный профиль вместо <профиль>, для флага --profile, в нижнем регистре. Например, для конфигурации standalone с профилем OLTP строка запуска утилиты будет выглядеть так:

    /opt/pangolin-tuner/bin/pangolin-tuner --config /pgdata/0{base_version}/data/postgresql.conf --profile oltp --output-file /pgdata/0{base_version}/data/postgresql.conf.oltp
  3. Сохраните копию старого конфигурационного файла:

    sudo su - postgres
    • Для конфигурации standalone:

      cp /pgdata/data/data/postgresql.conf /pgdata/data/data/postgresql.conf.backup
    • Для кластерной конфигурации:

      cp /etc/pangolin-manager/postgres.yml /etc/pangolin-manager/postgres.yml.backup
  4. Примените созданный конфигурационный файл:

    sudo su - postgres
    • Для конфигурации standalone:

      mv /pgdata/data/data/postgresql.conf.oltp /pgdata/data/data/postgresql.conf
    • Для кластерной конфигурации:

      mv /etc/pangolin-manager/postgres.yml.oltp /etc/pangolin-manager/postgres.yml
    Сведения

    Pangolin Tuner не конфигурирует индивидуальные настройки, связанные с количеством подключений либо с активацией расширений. Данные параметры необходимо настроить самостоятельно.

    Описание параметров, по которым утилита Pangolin Tuner формирует значение, расположено в разделе «Тюнинг параметров» документа «Руководство администратора».

  5. Произведите перезапуск актуальной службы:

    sudo su - postgres
    • Для конфигурации standalone:

      /opt/pangolin-dbms-server/bin/pg_ctl reload
      /opt/pangolin-dbms-server/bin/pg_ctl restart
    • Для кластерной конфигурации:

      /opt/pangolin-manager/bin/pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml reload clustername
      /opt/pangolin-manager/bin/pangolin-manager-ctl -c /etc/pangolin-manager/postgres.yml restart clustername

Установка компонента Pangolin Pooler

Сведения

Установка компонента Pangolin Pooler является опциональной для standalone-конфигурации СУБД. Отсутствие Pangolin Pooler не влияет на работоспособность экземпляра СУБД.

Компонент Pangolin Pooler – это доработанная версия PgBouncer, а именно программа, управляющая пулом соединений Pangolin DBMS. Любое клиентское приложение может подключиться к Pangolin Pooler, как если бы это был непосредственно сервер DBMS, и Pangolin Pooler создаст подключение к реальному серверу, либо задействует одно из ранее установленных подключений. Предназначение Pangolin Pooler — минимизировать издержки, связанные с установлением новых подключений к Pangolin DBMS.

Подробное описание компонента представлено в разделе «Администрирование Pangolin Pooler» документа «Руководство администратора».

Порядок установки

Шаги процесса ручной установки компонента:

  1. Установка rpm/deb-пакета компонента Pangolin Pooler.
  2. Создание системных директорий, необходимых для работы компонента.
  3. Конфигурирование Pangolin Pooler.
  4. Настройка ротации журналов.
  5. Запуск компонента.

Шаг 1. Установка rpm/deb-пакета

Выполните установку компонента Pangolin Pooler под пользователем root:

sudo dnf install /{path}/pangolin-pooler-{version_component}-{OS}.x86_64.rpm

Пример заполненной команды:

sudo dnf install -y ~/distributive/pangolin-pooler-3.1.0-sberlinux9.x86_64.rpm

Шаг 2. Создание системных директорий

Создайте директории /pangolinlogs/pangolin-pooler:

sudo mkdir -p /pangolinlogs/pangolin-pooler
sudo chown -R postgres:postgres /pangolinlogs
sudo chmod -R 700 /pangolinlogs

Шаг 3. Конфигурирование Pangolin Pooler

  1. С помощью текстового редактора под пользователем postgres отредактируйте файл /etc/pangolin-pooler/pangolin-pooler.ini, заполнив поля значениями, соответствующими данным вашего стенда:

    Пример файла pangolin-pooler.ini с минимальными настройками

    [databases]
    * = host=<IP-Address> port=<port>

    [pgbouncer]
    listen_port = 6544
    listen_addr = *
    auth_type = scram-sha-256
    auth_file = /etc/pangolin-pooler/userlist.txt
    logfile = /pangolinlogs/pangolin-pooler/pangolin-pooler.log
    pidfile = /var/run/pangolin-pooler/pangolin-pooler.pid
    admin_users = pgbouncer

    Где IP-Address - адрес сервера Pangolin, port - порт сервера Pangolin.

  2. С помощью текстового редактора под пользователем postgres измените файл /etc/pangolin-pooler/userlist.txt, заполнив поля значениями, соответствующими данным вашего стенда:

    "<user>" "<password>"

    Пример файла userlist.txt:

    "user" "qwerty"

    Или в засекреченном виде:

    "user" "md5175c641eaed0b6c05ae8444b73d789f0"

Шаг 4. Настройка ротации журналов

  1. С помощью текстового редактора под пользователем root измените файл /opt/pangolin-pooler/share/doc/logrotate/pangolin-pooler, заполнив поля значениями, соответствующими данным вашего стенда:

    Пример файла pangolin-pooler:

    /pangolinlogs/pangolin-pooler/pangolin-pooler.log {
    rotate 10
    su postgres postgres
    missingok
    sharedscripts
    notifempty
    compress
    daily
    create 0600 postgres postgres
    postrotate
    /bin/kill -HUP `cat /var/run/pangolin-pooler/pangolin-pooler.pid 2> /dev/null` 2>/dev/null ||true
    endscript
    }
  2. Перенесите готовый файл в системный каталог ротации логов и назначьте права:

    sudo cp /opt/pangolin-pooler/share/doc/logrotate/pangolin-pooler /etc/logrotate.d/pangolin-pooler
    sudo chown postgres:postgres /etc/logrotate.d/pangolin-pooler
    sudo chmod 0644 /etc/logrotate.d/pangolin-pooler

Шаг 5. Запуск Pangolin Pooler

  1. Произведите запуск службы Pangolin Pooler:

    sudo systemctl restart pangolin-pooler
  2. Проверьте корректность запуска и состояние сервиса. Пример статуса:

    sudo systemctl status pangolin-pooler
    Пример успешного старта сервиса pangolin-pooler

    ● pangolin-pooler.service - Pangolin Pooler connection pooling for PostgreSQL
    Loaded: loaded (/usr/lib/systemd/system/pangolin-pooler.service; disabled; preset: disabled)
    Active: active (running) since Mon 2026-02-02 18:58:35 MSK; 4s ago
    Process: 2292612 ExecStartPre=/bin/mkdir -p /var/run/pangolin-pooler (code=exited, status=0/SUCCESS)
    Process: 2292613 ExecStartPre=/bin/chown -R postgres:postgres /var/run/pangolin-pooler (code=exited, status=0/SUCCESS)
    Process: 2292614 ExecStart=/opt/pangolin-pooler/bin/pangolin-pooler -d ${POOLERCONF} (code=exited, status=0/SUCCESS)
    Process: 2292617 ExecStartPost=/bin/sleep 1 (code=exited, status=0/SUCCESS)
    Main PID: 2292616 (pangolin-pooler)
    Tasks: 2 (limit: 50508)
    Memory: 3.8M
    CPU: 18ms
    CGroup: /system.slice/pangolin-pooler.service
    └─2292616 /opt/pangolin-pooler/bin/pangolin-pooler -d /etc/pangolin-pooler/pangolin-pooler.ini

    Feb 02 18:58:34 srv-123 systemd[1]: Starting Pangolin Pooler connection pooling for PostgreSQL...
    Feb 02 18:58:35 srv-123 systemd[1]: Started Pangolin Pooler connection pooling for PostgreSQL...

Дальнейшие шаги

После выполнения ручной установки экземпляра СУБД в конфигурации standalone доступно:

Сведения

Шаги по установке других поставляемых пакетов представлены всоответствующих разделах их функциональности.