Кластер 1С 8.3 на Ubuntu 25.04: main, worker, PostgreSQL, RAS/RAC и Apache

06.10.26

База данных - Администрирование СУБД

Пошагово собираем двухузловой кластер серверов 1С:Предприятие 8.3.27 на Ubuntu Server 25.04: srv1cv8 и systemd, RAS, добавление worker через RAC, информационная база на внешнем PostgreSQL и публикация веб-клиента через webinst и Apache2.

Кластер серверов 1С:Предприятие 8.3 на Ubuntu Server 25.04

Разбираем кластер серверов 1С:Предприятие 8.3 на Ubuntu Server 25.04: главный узел и worker, PostgreSQL на отдельной машине, администрирование через RAS/RAC и веб-доступ через Apache. Ставим платформу из деб-пакетов, поднимаем службы systemd (srv1cv8, ras) и управляем кластером утилитой rac - конфигуратор на сервере не нужен. Дальше шаги для администратора 1С или DevOps: поднять main и worker, PostgreSQL и веб-доступ с понятными именами хостов, портами и порядком команд. В примерах релиз 8.3.27.1850. Перед продакшеном сверьте его с матрицей ОС на releases.1c.ru и в ITS. Если Ubuntu 25.04 для вашей сборки не указана, берите ближайший поддерживаемый LTS или ждите дистрибутив платформы под эту версию Ubuntu.

serv1c83 - main: управление кластером, сессии, RAS, Apache с публикацией. serv1c83w - worker под rphost и нагрузку. servpg - только PostgreSQL. Тонкий и толстый клиент подключаются к кластеру через serv1c83; веб - по URL на main. Записи в /etc/hosts согласуйте на всех трёх хостах до установки: при сервер insert RAC на main резолвит agent-host по этому файлу, а не «красивому» DNS, если он указывает на другой адрес.

Пример блока для одинаковых имён (IP подставьте свои; строки дублируют на serv1c83, serv1c83w и servpg):

10.0.0.11 serv1c83
10.0.0.12 serv1c83w
10.0.0.13 servpg

 

Архитектура стенда и требования

Два сервера 1С: на main - управление кластером и RAS, на worker - rphost под нагрузку. Рабочий узел регистрируют в кластере с режимом using=normal и своим диапазоном портов rphost. Третий хост - PostgreSQL; клиентские компоненты 1С на serv1c83 и serv1c83w не ставим.

На Ubuntu Server 25.04 обновляем пакеты и ставим зависимости под серверный deb по списку из readme к setup-full-*.run вашего релиза (ICU, при необходимости ImageMagick и fontconfig). Номера пакетов ICU от версии Ubuntu отличаются - не копируйте чужой apt install вслепую.

sudo apt update
sudo apt upgrade -y
sudo apt install -y imagemagick fontconfig
# Пакеты ICU и остальные зависимости — по списку в readme к setup-full-*.run для вашей Ubuntu

Данные кластера выносим на отдельный том или LVM: каталог /1C/1cv8 в службе srv1cv8 задаётся переменной SRV1CV8_DATA. Бэкапы reg и сеансов не смешиваем с системным корнем. Владелец каталога - пользователь из readme релиза и из unit srv1cv8 (часто usr1cv8:grp1cv8): ему нужна запись в reg и каталоги сеансов.

sudo mkdir -p /1C/1cv8
sudo chown usr1cv8:grp1cv8 /1C/1cv8
sudo chmod 755 /1C/1cv8

Установку начинаем с рун-инсталлятора setup-full-8.3.27.1850-*.run на каждом узле 1С: в мастере отмечаем только сервер 1С:Предприятие, клиенты и лишние компоненты не включаем. На serv1c83 дополнительно ставим компонент веб-сервера платформы (модуль для Apache, webinst); на serv1c83w - только сервер. Один номер релиза на обоих узлах. После мастера ставим полученные deb, в том числе пакет сервера и на main - пакет веб-сервера платформы (имя смотрите в каталоге, куда run распаковал deb).

chmod +x setup-full-8.3.27.1850-x86_64.run
sudo./setup-full-8.3.27.1850-x86_64.run
# Мастер: только «Сервер 1С:Предприятие»; на serv1c83 — компонент веб-сервера платформы; клиент не отмечать
sudo dpkg -i 1c-enterprise83-server_8.3.27.1850-*.deb
# На serv1c83 дополнительно deb веб-сервера платформы из каталога run (имя в readme)
sudo apt -f install -y

После установки платформа лежит в /opt/1cv8/x86_64/8.3.27.1850/: rac, ragent, rmngr, rphost, webinst, шаблоны служб systemd. Проверка: ls -la /opt/1cv8/x86_64/8.3.27.1850/rac.

Порты удобно зафиксировать до первого insert (на схеме стенда выше - та же сводка):

  • ragent - 1540/tcp на каждом узле 1С;
  • менеджер кластера (rmngr) - 1541/tcp локально на main и на worker;
  • диапазон rphost на main - 1560–1591 (пример); на serv1c83w - 1592–1623, без пересечения с main;
  • RAS - 1545/tcp по умолчанию на main;
  • PostgreSQL на servpg - 5433/tcp в примере (или 5432);
  • Apache на main - 80/tcp, позже 443 при HTTPS.

Между serv1c83 и serv1c83w в firewall нужна связность и на 1540, и на 1541: cluster-port - это порт менеджера на этом узле (1541 локально на main и на worker), не «один общий порт кластера». С servpg на оба узла 1С открываем порт СУБД. В ufw или nftables разрешаем трафик из подсети клиентов и между узлами кластера; пример ufw: ufw allow from 10.0.0.0/8 to any port 1540 proto tcp.

Синхронизацию времени (NTP) на всех узлах имеет смысл включить сразу - иначе логи ragent и PostgreSQL плохо стыкуются при разборе ошибок.

 

Установка сервера 1С на Ubuntu 25.04 (оба узла кластера)

Подключаем шаблон службы srv1cv8@… из каталога установки через systemctl link. Перед enable правим drop-in: SRV1CV8_DATA и при необходимости SRV1CV8_DEBUG для контура разработки.

Открываем редактор drop-in:

sudo systemctl edit srv1cv8-8.3.27.1850@default.service

В секции [Service] задаём, например:

Environment=SRV1CV8_DATA=/1C/1cv8
Environment=SRV1CV8_DEBUG=-debug -http

Строку SRV1CV8_DEBUG добавляю только на main и только на время диагностики; точный набор ключей сверяю с readme релиза. На worker debug без причины не включаю.

На main и worker одна и та же последовательность (экземпляр @умолчанию - единственный контур srv1cv8 на узле):

sudo systemctl link /opt/1cv8/x86_64/8.3.27.1850/srv1cv8-8.3.27.1850@.service
sudo systemctl daemon-reload
sudo systemctl enable srv1cv8-8.3.27.1850@default.service
sudo systemctl start srv1cv8-8.3.27.1850@default.service
sudo systemctl status srv1cv8-8.3.27.1850@default.service

Нужны статусы active (running) и enabled. Служба падает после смены каталога данных - смотрим права на /1C/1cv8 и journalctl -u srv1cv8-8.3.27.1850@default.service. После правки unit всегда daemon-reload и restart.

Worker получает тот же деб-сервер, что и main; патчи 8.3.27.1688 и 8.3.27.1850 на разных узлах кластера смешивать нельзя.

Занятый 1540 при старте видно через ss -lntp | grep 1540. Частые причины - второй экземпляр srv1cv8 или старый ragent от прошлой установки.

 

RAS на главном сервере и сборка кластера через RAC

RAS (Remote Administration Server) принимает удалённые команды администрирования. RAC - утилита rac в каталоге платформы; шлёт команды локальному ragent или на RAS другого хоста.

RAS включаем на main; для этой схемы на worker RAS не нужен.

sudo systemctl link /opt/1cv8/x86_64/8.3.27.1850/ras-8.3.27.1850.service
sudo systemctl daemon-reload
sudo systemctl enable ras-8.3.27.1850.service
sudo systemctl start ras-8.3.27.1850.service
sudo systemctl status ras-8.3.27.1850.service

Дальше работаем на main: cd /opt/1cv8/x86_64/8.3.27.1850/. Из SSH на main хватает локального ./rac без указания RAS. С другой машины к командам добавляют cluster --host serv1c83 --port 1545.

UUID кластера берём из list:

./rac cluster list

Строку cluster из вывода сохраняем - она понадобится во всех рас-командах. Worker добавляем через insert (диапазон rphost другой, чем на main):

./rac server --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 insert \
 --agent-host=serv1c83w --agent-port=1540 \
 --port-range=1592:1623 --name=serv1c83worker \
 --using=normal --cluster-port=1541

В insert agent-host - имя из /etc/hosts, agent-port 1540, уникальный port-range, понятное name, using normal, cluster-port 1541 на этом узле. С main имя worker должно пинговаться и резолвиться так же, как в команде.

Контроль после insert - две отдельные команды:

./rac server --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 list./rac process --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 list

В сервер list видим main и serv1c83worker с типами main и normal. Сразу после insert список процессов часто пустой - это нормально, пока никто не подключился к базе; rmngr и rphost появятся после первого сеанса.

Конфликт port-range лечится сервер remove, новым диапазоном и повторным insert. Если rac пишет, что агент недоступен, я почти всегда нахожу причину в /etc/hosts, firewall или в том, что на worker не крутится srv1cv8.

Узел main платформа создаёт при первом запуске ragent; worker попадает в кластер только через insert. Имя name видно в консоли - задайте его осмысленно для мониторинга.

Порт cluster-port на worker с main должен быть достижим: по нему менеджер управляет rphost. При жёстком ufw добавьте правило между IP serv1c83 и serv1c83w на 1541/tcp, а не только на агент 1540.

 

PostgreSQL и создание информационной базы в кластере

На servpg учётную запись для 1С готовим до rac infobase create: отдельный пользователь, без superuser.

Роль и права - по шаблону из readme PostgreSQL для 8.3.27 и платформы, чтобы сработал ключ create-database (не претендуем на «полное администрирование» СУБД):

CREATE ROLE usr1c_app LOGIN PASSWORD 'задайте_сложный_пароль';
ALTER ROLE usr1c_app CREATEDB;
COMMENT ON ROLE usr1c_app IS 'Учётная запись 1С для кластера demo';

После скрипта в psql роль usr1c_app должна быть в списке \du с правом Create DB. В postgresql.conf задаём listen_addresses на адрес, видимый с main и worker; в изолированной лаборатории иногда включают прослушивание на всех интерфейсах. Нестандартный порт прописываем в postgresql.conf (например 5433) и тот же номер указываем в rac в параметре db-server.

В pg_hba.conf разрешаем serv1c83 и serv1c83w - scram-sha-256 или md5 по вашей политике. После правок перезагружаем конфигурацию PostgreSQL (pg_ctl reload или restart службы).

Пароль СУБД в history оболочки не кладу: держу в файле с правами 600, в rac подставляю через переменную окружения в одной сессии.

export IB_DB_PWD='задайте_сложный_пароль'
cd /opt/1cv8/x86_64/8.3.27.1850./rac infobase --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 create \
 --create-database \
 --name=demo_pg \
 --dbms=PostgreSQL \
 --db-server="servpg port=5433" \
 --db-name=demo_pg \
 --locale=ru \
 --db-user=usr1c_app \
 --db-pwd="$IB_DB_PWD"

Для PostgreSQL на нестандартном порту db-server задают одной строкой по документации: имя хоста, пробел, слово port, знак равенства и номер (в командной строке для servpg и 5433: "servpg port=5433" - синтаксис смотрите в readme к релизу). Отдельного ключа только для порта в rac нет. locale ru задаёт русскую локаль при создании базы.

После успешного create:

./rac infobase --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 list./rac infobase --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 summary --name=demo_pg

Команды list и summary покажут имя ИБ и строку db-server. Если нужно жёстко отдать ИБ на worker, смотрите rac infobase update в документации к вашему релизу. Без явного назначения менеджер кластера сам разводит сеансы - для учебного стенда этого хватает.

Логи ragent, rmngr и rphost ищите в /var/log/1C и в каталогах из readme платформы. При ошибке create-database сначала смотрю лог ragent на main, затем log PostgreSQL на servpg. Меняли SRV1CV8_DATA или SRV1CV8_DEBUG - restart srv1cv8 на каждом затронутом узле.

С main проверьте psql на servpg с тем же портом и пользователем, что пойдут в rac. Нет подключения из psql - create тоже упадёт.

Сообщение «база не существует» чаще всего - опечатка в db-name или create-database не выполнился из-за прав usr1c_app. connection refused - listen_addresses или firewall на servpg.

Для баз 1С на PostgreSQL берут кодировку UTF8. С флагом create-database платформа сама создаёт структуру таблиц. Пустую базу можно подготовить вручную без флага, но на первой установке create-database снимает лишние шаги.

 

Apache и публикация базы для веб-клиента

На main ставим Apache2 из репозитория Ubuntu, включаем автозапуск и проверяем, что служба apache2 в состоянии active.

sudo apt update
sudo apt install -y apache2
sudo systemctl enable apache2
sudo systemctl status apache2

Публикацию выполняет webinst из каталога платформы с ключом -apache24 (модуль wsap24 ставился вместе с компонентом веб-сервера на этапе setup-full):

cd /opt/1cv8/x86_64/8.3.27.1850
sudo./webinst -publish -apache24 \
 -wsdir demo_pg \
 -dir /var/www/demo_pg \
 -connstr "Srvr=\"serv1c83\";Ref=\"demo_pg\";"

Ключ -wsdir задаёт УРЛ-путь веб-клиента (в примере demo_pg). -dir - каталог файлов публикации на диске (часто под /var/www/…). -connstr связывает веб-точку с ИБ в кластере; для PostgreSQL используйте рабочую строку из readme, как в примере с Srvr и Ref. Alias в URL, -wsdir, -dir и имя базы в rac должны совпадать по смыслу; после webinst - reload Apache и проверка URL. Шаблоны и модули 1С лежат в подкаталоге apache24 дерева платформы; vhost смотрите в sites-enabled.

sudo systemctl reload apache2

С рабочей станции откройте HTTP: страница веб-клиента по пути /demo_pg или по вашему -wsdir.

Ответ 404 обычно значит, что в конфиге Apache нет alias или симлинка. Страница клиента открывается, а базы в списке нет - connstr не совпадает с именем ИБ в кластере. HTTPS выносят на reverse proxy или mod_ssl отдельным шагом.

webinst подключает LoadModule для модуля 1С (имя вроде mod_1c_wsap24 - сверьте с readme вашего релиза). Сменили релиз платформы - снова запустите webinst -publish или сравните конфиги с эталоном из нового каталога.

Веб-клиент ходит на rphost через прокси-модуль Apache. Под нагрузкой rphost может оказаться на worker - для кластера это штатно. В строке соединения Srvr указывайте serv1c83, а не IP одного rphost.

 

Проверка работоспособности и типовые ошибки установки

# Тонкий клиент на рабочей станции: Srvr=serv1c83, Ref=demo_pg — как --name в rac create

На main одним басн-скриптом проверяю службы, порты и rac - после каждой правки firewall или unit так быстрее, чем вручную снимать status:

#!/bin/bash
set -e
systemctl is-active srv1cv8-8.3.27.1850@default.service
systemctl is-active ras-8.3.27.1850.service
systemctl is-active apache2
ss -lntp | egrep '1540|1541|1545|80' || true
cd /opt/1cv8/x86_64/8.3.27.1850./rac cluster list./rac server --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 list./rac infobase --cluster=a1b2c3d4-e5f6-7890-abcd-ef1234567890 list

Ожидаемый результат: srv1cv8 и ras в active, на main слушают 1540, 1541 и 1545, в rac infobase list есть demo_pg. Веб - URL из -wsdir.

Два узла с режимом normal и одним port-range - rac или rphost не стартуют. Исправление: уникальный диапазон на каждом worker (в примере main 1560–1591, worker 1592–1623) и restart srv1cv8 там, где меняли диапазон.

«БД не существует» при create: у usr1c_app нет CREATEDB или политика запрещает create-database. Агент недоступен при insert: srv1cv8 на worker не запущен, ошибка в hosts или ufw режет 1540 с main.

RAC «сервер not found» при удалённом вызове: не запущен ras или не переданы --host и --port. После смены SRV1CV8_DATA - restart srv1cv8 на обоих узлах 1С.

rac сеанс list после входа тонким клиентом показывает, на каком rphost висит сеанс - так проверяют, что worker обрабатывает нагрузку, а не только числится в сервер list.

После проверки rac и веб-УРЛ стенд готов; дальше по регламенту - бэкапы PostgreSQL, мониторинг сеансов и плановое обновление платформы 1С.

 

Что почитать дальше

Комплект документации к вашему релизу 8.3: «Установка на Linux», «Кластер серверов», «Публикация на веб-сервере». На releases.1c.ru - матрица поддерживаемых ОС перед следующим обновлением платформы.

Материалы ITS по rac: infobase update, резервное копирование, ограничение числа сеансов. Для PostgreSQL - регламент pg_dump и контроль autovacuum на базах 1С после выхода в нагрузку.

Вступайте в нашу телеграмм-группу Инфостарт

1С Linux Ubuntu PostgreSQL кластер администрирование Apache RAC кластер серверов 1С 8.3 Ubuntu Server 25.04 RAS RAC установка 1С Linux srv1cv8 webinst

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    16654    63    62    

73

Сервера Системный администратор 1С 8.5 1С:Управление торговлей 11 Россия Бесплатно (free)

Когда запускается новейший 16-ядерный флагман AMD Ryzen 9 9950X (микроархитектура Zen 5 с паспортным бустом до 5.7 ГГц), скоростные накопители NVMe PCIe 5.0 x4 и быстрый комплект DDR5, подсознательно ждешь феноменальных результатов «из коробки». Мы развернули монолитный вычислительный комплекс «All-in-One» (сервер приложений «1С:Предприятие 8.5.1» + СУБД Microsoft SQL Server 2022 Enterprise на Windows Server 2025) внутри гипервизора Proxmox VE 9.2. Запускаем однопоточный синтетический тест Гилёва (TPC-1C) и видим на экране холодный душ: 35.46 балла. Ниже — детальная хроника инженерного расследования, в ходе которого мы шаг за шагом сняли скрытые инфраструктурные барьеры на каждом слое системы (BIOS, гипервизор KVM, ядро Windows, СУБД, платформа 1С) и разогнали сервер с 35.46 до 79.37 баллов (+123.8% чистой скорости проведения документов), сделав виртуальную машину абсолютным лидером среди KVM-систем в глобальном датасете 1С 8.5.1.

15.10.2026    2189    YA_93013054    18    

20

Администрирование СУБД HighLoad оптимизация Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Большинство материалов о компрессии в PostgreSQL отвечают на вопрос «во сколько раз удалось уменьшить базу». Мы предлагаем посмотреть на проблему с другой стороны — какой ценой достигается эта экономия? В статье разбираем архитектурные компромиссы различных подходов к компрессии страниц, объясняем, почему при разработке CSM в Tantor Postgres отказались от погони за максимальным коэффициентом сжатия, и показываем результаты нагрузочных испытаний на реальных базах 1С.

01.10.2026    1430    Tantor    6    

17

HighLoad оптимизация Администрирование СУБД Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

В рамках 18 релиза СУБД Tantor Postgres мы рассказывали об оптимизациях, которые помогают планировщику сделать более точный выбор между Nested Loop и Hash Join. В следующем релизе у нас планируются оптимизации, которые позволят ускорить выполнение как Nested Loop, так и Hash Join. Сегодня мы расскажем об одном из таких методов - фильтре Блума.

31.08.2026    6104    Tantor    3    

18

Администрирование СУБД Системный администратор Разработчик Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    3392    jul.dolganova    9    

24

Администрирование СУБД 1С 8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

База 1С:ERP размером 646 Гб, полное маскирование за 5 часов - без создания промежуточной незащищенной копии. Разбираем бесплатный pg_anon на сквозном примере с реального продуктива.

27.07.2026    4507    Tantor    16    

17

Разработка Инструменты администратора БД Администрирование веб-серверов Администрирование Разработчик 1C:ERP Платные (руб)

Это специализированное решение для глубокого анализа и мониторинга серверов и баз данных 1С. Продукт позволяет выявлять причины замедлений, блокировок и ошибок, объединяя данные технологического журнала, СУБД и оборудования в единой интерактивной системе.

30000 руб.

13.05.2026    2279    2    0    

5
Для отправки сообщения требуется регистрация/авторизация