Установка PostgreSQL для кластера
Page Type: Installation Component: ПринтМенеджер Domain: Infrastructure Product Versions: 4.x OS: Linux Status: Draft Related Components: PostgreSQL, Docker
Установка PostgreSQL для кластера
Цель
Развертывание базы данных PostgreSQL для кластерной конфигурации ПринтМенеджера.
Предусловия
- Подготовлен сервер для базы данных (DB_NFS)
- Определено количество серверов ПМ для расчёта max_connections
Расчёт максимального количества подключений к БД
Для обеспечения достаточного количества соединений с базой данных настройте параметр max_connections в конфигурационном файле PostgreSQL. Используйте следующую формулу:
max_connections = (3*N+70)*T
Где:
- N: количество процессорных ядер на одном сервере ПринтМенеджера (ПМ).
- T: количество серверов ПМ в системе.
Пример:
Для 3 серверов ПМ с 6 ядрами каждый:
max_connections = (3 х 6 + 70) х 3 = 264.
Шаги установки
Шаг 1. Установите Docker и Docker Compose
Для Ubuntu, Astra Linux и ALT Linux:
sudo apt install docker.io -y
sudo apt install docker-compose -y
sudo systemctl enable docker --now
sudo systemctl status docker
Для РЕД ОС и Red Hat Enterprise Linux:
sudo dnf install -y docker-ce docker-ce-cli
sudo dnf install -y docker-compose
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
Шаг 2. Создайте файл docker-compose.yml
Выполните команду для создания файла:
touch docker-compose.yml
Затем отредактируйте файл:
nano docker-compose.yml
Вставьте следующую конфигурацию:
version: "3.7"
services:
postgres:
image: postgres:15.15-alpine
volumes:
- postgres15:/var/lib/postgresql/data
command: postgres -N 300
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: printmanager
PGDATA: /var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
ports:
- "5432:5432"
restart: always
volumes:
postgres15:
Важно:
- Параметры
POSTGRES_USERиPOSTGRES_PASSWORDизмените на свои значения. Эти данные потребуются для настройки системы. - В строке
command: postgres -N 300вместо 300 укажите значение максимального количества подключений к БД, исходя из количества используемых ПМ.
Шаг 3. Создайте директорию для PostgreSQL
Переместите файл docker-compose.yml в новую директорию:
sudo mkdir /opt/postgres15
sudo mv docker-compose.yml /opt/postgres15
cd /opt/postgres15
Шаг 4. Запустите PostgreSQL через Docker Compose
Выполните команду:
sudo docker-compose up -d
Это запустит контейнер с PostgreSQL и выполнит его настройку.
Возможные ошибки
В Astra Linux может появиться ошибка:
docker.errors.DockerException: Error while fetching server API version: Not supported URL scheme http+docker
Причина: установлен устаревший пакет docker-compose.
Решение:
sudo apt purge docker-compose
sudo apt install docker-compose-v2
Как проверить установку
Убедитесь, что контейнер запущен и база данных доступна:
sudo docker ps
Проверьте работоспособность базы, используя ID её контейнера из предыдущей команды:
sudo docker logs <container_id>
Параметры для дальнейшей настройки
Используйте указанные параметры POSTGRES_USER, POSTGRES_PASSWORD и POSTGRES_DB при настройке системы управления печатью:
DB_HOST— адрес сервера базы данных.POSTGRES_LOGIN— логин учетной записи с правами доступа.POSTGRES_PASSWORD— пароль учетной записи.
Next steps
- Установка NFS-хранилища
- Установка балансировщика HAProxy