Клиент-серверный режим 1С:Предприятие 8.3 работает через кластер серверов. Кластер распределяет нагрузку между рабочими процессами, управляет сеансами пользователей и защищает от сбоев. Без правильной настройки кластера — зависания, ошибки «свободный рабочий процесс не найден» и простои.

В этой статье: архитектура кластера серверов 1С 8.3, установка на Windows и Linux, настройка через консоль администрирования и утилиту rac, добавление второго сервера в кластер. Результат — работающий кластер 1С с правильными параметрами и запасом по масштабированию.

Статья для администраторов, которые переходят с файлового режима на клиент-серверный или хотят привести существующий кластер в порядок.

Что потребуется

Перед настройкой кластера серверов 1С подготовьте сервер и программное обеспечение. Минимальные требования к оборудованию зависят от числа пользователей — подробности в требованиях к серверу для 1С.

КомпонентТребованиеПримечание
ОСWindows Server 2019/2022 или Astra Linux / Ubuntu 22.04+64-битная версия
Платформа 1С1С:Предприятие 8.3.20+ (сервер)Дистрибутив для x86-64
СУБДMS SQL Server 2019+ или PostgreSQL 14+Сравнение SQL vs PostgreSQL
RAMот 16 ГБ (10 пользователей) до 128 ГБ (50+)ECC обязательно
ПроцессорXeon с частотой от 3.0 ГГцВыбор процессора
ДискSSD или NVMeSAS снижает баллы Гилёва вдвое
Сеть1 Гбит/сМежду сервером 1С и СУБД
ПраваАдминистратор сервера (Windows) / root или sudo (Linux)Для установки служб

Архитектура кластера серверов 1С

Кластер 1С состоит из трёх компонентов. Каждый — отдельный процесс со своей ролью и портом. Понимание архитектуры — основа для настройки и диагностики.

КомпонентПроцессПортРоль
Агент сервераragent1540Главный процесс. Запускает и контролирует кластер. Один на сервер
Менеджер кластераrmngr1541Управляет сеансами, распределяет подключения по рабочим процессам
Рабочий процессrphost1560-1591Выполняет запросы пользователей. Один порт на каждый rphost

Как они взаимодействуют. Клиент 1С обращается к ragent (порт 1540). ragent перенаправляет к rmngr (порт 1541). rmngr выбирает наименее загруженный rphost и назначает ему сеанс. rphost обрабатывает запросы, обращаясь к СУБД за данными.

При запуске сервера ragent стартует первым и автоматически запускает rmngr. rmngr, в свою очередь, создаёт рабочие процессы rphost. Если rphost аварийно завершается — rmngr перезапускает его. Если rmngr упадёт — ragent перезапустит и его.

Диапазон портов 1560-1591 означает, что один сервер может держать до 32 рабочих процессов. На практике 4-8 rphost достаточно для 50+ пользователей. Каждый rphost потребляет 500 МБ — 4 ГБ RAM в зависимости от нагрузки.

Файловая структура кластера

Все данные кластера хранятся в каталоге srvinfo. Расположение зависит от ОС:

Внутри srvinfo — подкаталоги для каждого кластера. Основной каталог reg_1541 содержит реестр кластера: список информационных баз, параметры рабочих серверов, настройки безопасности. Каталог snccntx* — сеансовые данные (кеш). При проблемах с кластером часто помогает очистка сеансовых данных при остановленной службе.

Логи платформы также находятся в srvinfo. Файлы *.log в reg_1541 фиксируют запуск и остановку процессов, ошибки, таймауты. При диагностике проблем — начинайте с этих логов.

Порт удалённого администрирования

Помимо трёх основных компонентов, ragent слушает дополнительный порт 1545 — для утилиты rac. Через этот порт rac подключается к агенту сервера и управляет кластером. Если вы администрируете сервер удалённо — откройте порт 1545 в файрволе.

Полный список портов кластера серверов 1С:

ПортПроцессПротоколНазначение
1540ragentTCPПодключение клиентов 1С к агенту сервера
1541rmngrTCPУправление сеансами и процессами
1545ragentTCPУдалённое администрирование (rac)
1560-1591rphostTCPРабочие процессы (до 32 штук)

Установка и первоначальная настройка

Установка сервера 1С создаёт кластер автоматически. После установки ragent запускается как служба, создаёт кластер по умолчанию с одним менеджером и одним рабочим процессом. Задача — проверить, что всё работает, и задать правильные параметры.

Установка на Windows

Скачайте дистрибутив «Сервер 1С:Предприятие» с сайта releases.1c.ru. Запустите установщик и выберите компоненты:

Установщик предложит создать пользователя USR1CV8 и запустить службу «Агент сервера 1С:Предприятие». Согласитесь с обоими предложениями.

Учётная запись USR1CV8. Служба 1С работает от имени этого пользователя. Ему нужны права на каталог srvinfo (реестр кластера), на каталог временных файлов и на сетевые подключения. Если вы используете доменную учётную запись вместо локальной — убедитесь, что у неё есть право «Вход в качестве службы» (Log on as a service).

После установки служба стартует автоматически.

Проверьте, что служба запущена:

sc query "1C:Enterprise 8.3 Server Agent"
:: Состояние: 4 (RUNNING)

Убедитесь, что порты слушаются:

netstat -an | findstr "1540 1541 1560"
:: TCP    0.0.0.0:1540    0.0.0.0:0    LISTENING
:: TCP    0.0.0.0:1541    0.0.0.0:0    LISTENING
:: TCP    0.0.0.0:1560    0.0.0.0:0    LISTENING

Откройте порты в файрволе Windows:

netsh advfirewall firewall add rule name="1C ragent" dir=in action=allow protocol=TCP localport=1540
netsh advfirewall firewall add rule name="1C rmngr" dir=in action=allow protocol=TCP localport=1541
netsh advfirewall firewall add rule name="1C rphost" dir=in action=allow protocol=TCP localport=1560-1591

Установка на Linux

Для Linux 1С поставляет deb- и rpm-пакеты. Пример для Ubuntu/Debian:

# Установка зависимостей
sudo apt install -y libfreetype6 libgsf-1-114 unixodbc libglib2.0-0

# Установка пакетов 1С (из скачанного архива)
sudo dpkg -i 1c-enterprise83-common_8.3.*.deb
sudo dpkg -i 1c-enterprise83-server_8.3.*.deb

# Запуск службы
sudo systemctl enable srv1cv83
sudo systemctl start srv1cv83

Служба запускается от пользователя usr1cv8, который создаётся автоматически при установке. Домашний каталог /home/usr1cv8 используется для хранения реестра кластера и логов. Убедитесь, что у пользователя достаточно прав на этот каталог.

Для RPM-дистрибутивов (RHEL, CentOS, AlmaLinux) пакеты называются иначе: 1c-enterprise83-common и 1c-enterprise83-server (без суффиксов .deb). Установка — через rpm -ivh или yum localinstall.

Проверьте статус:

sudo systemctl status srv1cv83
# Active: active (running)

ss -tlnp | grep -E "1540|1541|1560"
# LISTEN  0  128  *:1540  *:*  users:(("ragent",pid=...))
# LISTEN  0  128  *:1541  *:*  users:(("rmngr",pid=...))
# LISTEN  0  128  *:1560  *:*  users:(("rphost",pid=...))

Откройте порты (firewalld):

sudo firewall-cmd --permanent --add-port=1540/tcp
sudo firewall-cmd --permanent --add-port=1541/tcp
sudo firewall-cmd --permanent --add-port=1560-1591/tcp
sudo firewall-cmd --reload

Консоль администрирования кластера серверов 1С

Управление кластером 1С 8.3 — через два инструмента: графическую MMC-оснастку (Windows) и командную утилиту rac (Windows/Linux). Оба умеют одно и то же. rac удобнее для автоматизации и удалённого управления.

MMC-оснастка (консоль кластеров серверов 1С)

Запустите «Администрирование серверов 1С:Предприятие» из меню «Пуск» или командой compmgmt.msc с добавленной оснасткой. Структура дерева:

Консоль кластеров серверов 1С даёт визуальный контроль, но работает только на Windows. Для Linux-серверов и автоматизации — утилита rac.

Утилита администрирования кластера серверов 1С 8.3 (rac)

rac — командная строка для управления кластером. Устанавливается вместе с сервером, находится в каталоге платформы:

Основные команды для работы с кластером 1С:

# Список кластеров
rac cluster list

# Информация о кластере
rac cluster info --cluster=<cluster-uuid>

# Список рабочих серверов
rac server --cluster=<cluster-uuid> list

# Список рабочих процессов
rac process --cluster=<cluster-uuid> list

# Список сеансов
rac session --cluster=<cluster-uuid> list

# Список информационных баз
rac infobase --cluster=<cluster-uuid> summary list

По умолчанию rac подключается к localhost:1545 (порт удалённого администрирования ragent). Для подключения к другому серверу добавьте <host>:1545 в конец команды.

Мониторинг кластера через rac

Регулярный мониторинг помогает обнаружить проблемы до того, как пользователи позвонят. Три ключевых показателя для контроля:

1. Загрузка рабочих процессов. Команда rac process --cluster=<uuid> list показывает каждый rphost с полями available-perfomance (доступная производительность) и capacity (текущая загрузка). Если available-perfomance равен 0 у всех rphost — следующий пользователь получит ошибку.

2. Потребление памяти. Поле memory-size в выводе rac process info показывает текущий объём RAM rphost в байтах. Если значение превышает 4 ГБ (4294967296) — процесс пора перезапустить. Настройте lifetime-limit для автоматического перезапуска.

3. Количество сеансов. Команда rac session --cluster=<uuid> list выводит все активные сеансы с временем последнего обращения. Сеансы с last-active-at старше нескольких часов — скорее всего «мёртвые». Они занимают ресурсы rphost. Настройте expiration-timeout для автоматического завершения.

Пример скрипта мониторинга (запускать по расписанию):

# Получить UUID кластера
CLUSTER=$(rac cluster list | grep cluster | head -1 | awk '{print $3}')

# Проверить рабочие процессы
rac process --cluster=$CLUSTER list

# Проверить количество сеансов
rac session --cluster=$CLUSTER list | grep -c "session"

# Проверить подключения к ИБ
rac connection --cluster=$CLUSTER list | grep -c "connection"

Аутентификация в rac

По умолчанию кластер 1С не требует аутентификации для управления — любой, кто может подключиться к порту 1545, получает полный контроль. Для продуктивных серверов задайте администратора кластера:

# Задать администратора кластера
rac cluster admin --cluster=<cluster-uuid> register --name="admin" --pwd="strong-password"

# После этого все команды требуют аутентификации
rac process --cluster=<cluster-uuid> list --cluster-user=admin --cluster-pwd="strong-password"

Аналогично можно задать администратора для каждой информационной базы. Без аутентификации нельзя удалить ИБ или завершить чужой сеанс — дополнительный уровень защиты от случайных ошибок.

Настройка рабочих серверов и процессов

После установки кластер 1С работает с настройками по умолчанию: один рабочий процесс, без лимитов памяти, без автоматического перезапуска. Для продуктивной эксплуатации этого недостаточно.

Количество рабочих процессов

Число rphost зависит от количества пользователей и ресурсов сервера. Каждый rphost потребляет 500 МБ — 4 ГБ RAM. Ориентировочная таблица:

ПользователейrphostRAM на rphostИтого RAM (сервер 1С)
до 101-21-2 ГБ2-4 ГБ
10-302-32-3 ГБ4-9 ГБ
30-503-43-4 ГБ9-16 ГБ
50-1004-83-4 ГБ12-32 ГБ

Эти цифры — только на рабочие процессы 1С. Плюс СУБД, ОС, RDP-сессии. Полные требования к серверу — отдельная статья.

Параметры рабочего сервера

Через rac параметры рабочего сервера задаются командой server update. Ключевые параметры:

# Получить UUID сервера
rac server --cluster=<cluster-uuid> list
# name: server-hostname
# server: <server-uuid>

# Задать параметры
rac server --cluster=<cluster-uuid> update \
  --server=<server-uuid> \
  --infobases-limit=8 \
  --connections-limit=128
ПараметрЧто делаетРекомендация
infobases-limitМакс. число ИБ на один rphost8 (по умолчанию 8, уменьшить если много баз)
connections-limitМакс. соединений на один rphost128 (по умолчанию 128)
safe-call-memory-limitЛимит памяти на один вызов (КБ)0 (без лимита) или 3000000 (3 ГБ)
safe-working-processes-memory-limitБезопасный лимит RAM для всех rphost (КБ)80% от доступной RAM

Параметры кластера

Настройки уровня кластера влияют на все рабочие процессы:

rac cluster update --cluster=<cluster-uuid> \
  --lifetime-limit=86400 \
  --expiration-timeout=600 \
  --kill-problem-processes=1
ПараметрЗначениеЧто делает
lifetime-limit86400Перезапуск rphost каждые 24 часа — сброс утечек памяти
expiration-timeout600Аварийные сеансы завершаются через 10 минут
kill-problem-processes1Зависшие rphost завершаются принудительно

Без lifetime-limit рабочие процессы работают бесконечно. Со временем утечки памяти накапливаются, rphost разрастается до 8-10 ГБ и начинает тормозить. Ежесуточный перезапуск решает проблему без остановки пользователей — менеджер кластера плавно переводит сеансы на новый rphost.

Безопасный расход памяти

Параметр safe-working-processes-memory-limit задаёт суммарный лимит RAM для всех рабочих процессов. Если rphost в сумме превышают этот лимит — менеджер кластера перезапускает наиболее «тяжёлый» процесс. Это защита от ситуации, когда несколько rphost одновременно «распухают» и сервер уходит в swap.

Рассчитывайте так: общая RAM минус SQL Server минус ОС минус RDP. Например, на сервере с 128 ГБ: 128 — 48 (SQL) — 4 (ОС) — 8 (RDP) = 68 ГБ. Задайте 80% от этого: ~54 ГБ = 56623104 КБ. Через rac:

rac server --cluster=<cluster-uuid> update \
  --server=<server-uuid> \
  --safe-working-processes-memory-limit=56623104

Для серверов с 16-32 ГБ расчёт аналогичный, но запас меньше. При 32 ГБ: 32 — 12 (SQL) — 4 (ОС) — 4 (RDP) = 12 ГБ на rphost. С двумя rphost — по 6 ГБ на каждый. Тесно, но рабочий вариант для 10-20 пользователей.

Кластер 1С 8.3 из двух серверов

Один сервер — единая точка отказа. Если он упадёт, все пользователи 1С останутся без работы. Кластер из двух серверов решает две задачи: отказоустойчивость и распределение нагрузки.

Когда нужен второй сервер

Как добавить второй сервер в кластер

На втором сервере установите платформу 1С той же версии. Запустите ragent. Затем через консоль администрирования или rac добавьте второй сервер в существующий кластер.

Через MMC: в дереве кластера правый клик на «Рабочие серверы» → «Новый» → «Рабочий сервер». Укажите имя или IP второго сервера, порт 1540.

Через rac:

# Добавить второй сервер в кластер
rac server --cluster=<cluster-uuid> insert \
  --name="server2.domain.local" \
  --agent-host="server2.domain.local" \
  --port-range=1560:1591 \
  --using=main

Параметр --using=main означает, что сервер используется как основной — на нём будут запускаться рабочие процессы и менеджер кластера. Альтернатива — --using=normal (стандартная функциональность).

После добавления убедитесь, что оба сервера видят друг друга:

# Проверка списка серверов
rac server --cluster=<cluster-uuid> list
# server: <uuid-1>
#   name: server1.domain.local
# server: <uuid-2>
#   name: server2.domain.local

Важно: оба сервера должны использовать одинаковую версию платформы 1С. Разница даже в минорной версии (8.3.23.2040 vs 8.3.23.2100) может привести к ошибкам при передаче сеансов между серверами.

Разделение ролей между серверами

В кластере из двух серверов можно разделить нагрузку по типам. Первый сервер обрабатывает пользовательские сеансы (интерактивная работа в 1С). Второй — фоновые задания: пересчёт итогов, обмен данными, формирование тяжёлых отчётов.

Разделение задаётся в «Требованиях назначения функциональности» в свойствах информационной базы. Вы указываете, какие объекты требований (фоновые задания, сервис лицензирования, полнотекстовый поиск) на каком сервере выполнять.

Типовая конфигурация для двух серверов:

ФункцияСервер 1 (основной)Сервер 2 (вспомогательный)
Пользовательские сеансыДаРезерв (при отказе основного)
Фоновые заданияНетДа
Полнотекстовый поискНетДа
Менеджер кластераОсновнойРезервный

Такое разделение исключает ситуацию, когда фоновое задание по пересчёту регистров «съедает» всю производительность rphost, а пользователи ждут открытия формы документа.

Резервирование менеджера кластера

В кластере из двух серверов менеджер кластера (rmngr) работает на обоих. Если основной rmngr упадёт — резервный примет управление. Для этого оба сервера должны иметь назначение main (или роль менеджера кластера в свойствах рабочего сервера).

Проверить текущее распределение менеджеров:

rac manager --cluster=<cluster-uuid> list
# manager: <uuid>
#   host: server1.domain.local
#   pid: 1234
# manager: <uuid>
#   host: server2.domain.local
#   pid: 5678

Пошаговая настройка кластера серверов 1С

Типичные ошибки кластера серверов 1С

Две ошибки, с которыми сталкивается каждый администратор кластера 1С.

Ошибка «Local Cluster Unavailable»

Возникает при попытке подключиться к серверу 1С. Означает, что ragent запущен, но менеджер кластера (rmngr) недоступен. Причины:

Диагностика через rac:

# Проверить, доступен ли кластер
rac cluster list
# Если вывод пуст или ошибка — rmngr не работает

# Проверить логи ragent (Windows)
type "C:\Program Files\1cv8\srvinfo\reg_1540\*.log"

# Проверить логи ragent (Linux)
cat /home/usr1cv8/.1cv8/1C/1cv8/reg_1540/*.log

Пересоздание реестра кластера — крайняя мера. После этого придётся заново зарегистрировать все информационные базы. Сначала проверьте логи и права доступа.

Ошибка «Свободный рабочий процесс не найден»

Менеджер кластера не может найти свободный rphost для обслуживания сеанса. Все рабочие процессы либо перегружены, либо завершились аварийно. Подробный разбор с пятью причинами и командами для каждой — в отдельной статье.

Быстрое решение: перезапустите службу Агента сервера 1С, проверьте количество рабочих процессов (минимум 2 для продуктивного сервера), убедитесь, что на сервере достаточно RAM. Если проблема повторяется — дело в настройках кластера или ресурсах сервера.

Служба 1С не запускается после обновления

После обновления платформы 1С служба ragent может не запуститься. Частые причины: новая версия использует другой каталог (srvinfo ссылается на старую версию), или файлы реестра кластера несовместимы с новой версией.

Решение: проверьте, что служба указывает на правильный исполняемый файл. В реестре Windows: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent — параметр ImagePath должен содержать путь к новой версии ragent.exe. На Linux: проверьте симлинк /opt/1cv8/current.

Производительность кластера и оборудование

Настройки кластера — это софт. Но скорость работы 1С определяет оборудование. Самый тонко настроенный кластер на слабом железе будет тормозить.

Процессор. 1С:Предприятие выполняет основные операции в одном потоке. Для кластера важна тактовая частота, а не количество ядер. Процессор Gold 6244 (3.6 ГГц, 16 ядер) в наших тестах набирает 55.56 баллов Гилёва — «замечательно». Silver 4214 (2.2 ГГц, 24 ядра) — 40.32 балла на NVMe — «хорошо», но на нижней границе. Как мы тестируем — в методологии. Подробное сравнение процессоров — в руководстве по выбору.

Дисковая подсистема. rphost не хранит данные на диске напрямую — он обращается к СУБД. Но СУБД (SQL Server, PostgreSQL) критически зависит от скорости диска. SAS-диски в наших тестах дают 13-19 баллов Гилёва (плохо/удовлетворительно), SSD и NVMe — 34-56 (от удовлетворительно до замечательно, зависит от процессора). Разница между SSD и NVMe для одного процессора — не более 2%. Замена SAS на SSD удваивает производительность кластера без изменения настроек.

Оперативная память. Формула: (количество rphost * 2-4 ГБ) + SQL Server + ОС + RDP. Для кластера с 4 rphost и SQL Server на одном сервере: 4*3 ГБ + 32 ГБ (SQL) + 4 ГБ (ОС) + 8 ГБ (RDP) = 56 ГБ минимум. 128 ГБ ECC — проверенный стандарт для 30-50 пользователей. Подробнее — в требованиях к серверу.

Если вы не знаете, какое оборудование выбрать для кластера 1С — начните с подбора по числу пользователей. Там конкретные конфигурации с результатами тестов.

Вопросы и ответы

Что такое кластер серверов 1С и зачем он нужен?

Кластер серверов 1С — это группа процессов (ragent, rmngr, rphost), которые запускают клиент-серверный режим 1С:Предприятие 8.3. Кластер распределяет нагрузку между рабочими процессами, управляет сеансами пользователей и перезапускает упавшие процессы. Без кластера клиент-серверный режим невозможен — он обязателен при работе с MS SQL Server или PostgreSQL.

Сколько рабочих процессов (rphost) нужно настроить в кластере 1С?

Зависит от числа пользователей. До 10 пользователей — 1-2 rphost. 10-30 пользователей — 2-3 rphost. 30-50 пользователей — 3-4 rphost. 50+ — 4-8 rphost. Каждый rphost потребляет от 500 МБ до 4 ГБ RAM. Учитывайте это при планировании ресурсов сервера.

Как подключиться к менеджеру кластера 1С 8.3 удалённо?

Два способа. Графический: установите на рабочую станцию компонент «Администрирование серверов 1С:Предприятие», откройте оснастку, добавьте центральный сервер по имени или IP. Командный: используйте утилиту rac с указанием адреса сервера, например: rac cluster list server-ip:1545. Для обоих способов порты 1540-1541 должны быть открыты на файрволе.

Можно ли настроить кластер 1С из двух серверов для отказоустойчивости?

Да. Установите платформу 1С одинаковой версии на оба сервера. На первом сервере создайте кластер обычным способом. Затем через консоль администрирования или утилиту rac добавьте второй сервер как рабочий сервер кластера. Менеджер кластера (rmngr) будет работать на обоих серверах — если один упадёт, второй примет управление. Рабочие процессы также распределятся между серверами.

Какие порты нужно открыть для кластера серверов 1С?

Минимальный набор: TCP 1540 (ragent — агент сервера), TCP 1541 (rmngr — менеджер кластера), TCP 1560-1591 (rphost — рабочие процессы). Каждый rphost занимает один порт из диапазона. Если кластер из двух серверов — порты должны быть открыты в обе стороны. Дополнительно: TCP 1545 — для удалённого администрирования через rac.

Как часто перезапускать рабочие процессы кластера 1С?

Рекомендуем настроить автоматический перезапуск каждые 24 часа — параметр lifetime-limit=86400 в свойствах кластера. Также задайте лимит памяти на rphost (например, 4 ГБ). При превышении лимита менеджер кластера плавно перезапустит процесс: сначала переведёт сеансы на другой rphost, затем завершит старый. Пользователи не заметят перезапуска.

В чём разница между MMC-оснасткой и утилитой rac?

Функционально они одинаковы — обе управляют кластером серверов 1С. MMC-оснастка — графический интерфейс, работает только на Windows. rac — командная строка, работает на Windows и Linux. rac удобнее для автоматизации (скрипты обслуживания), удалённого управления через SSH и серверов без GUI. Для повседневного мониторинга MMC-оснастка нагляднее.

Итог

Кластер серверов 1С 8.3 — фундамент клиент-серверной архитектуры. Правильная настройка: 2+ рабочих процесса для продуктивного сервера, автоматический перезапуск раз в сутки, лимит памяти на rphost, принудительное завершение проблемных процессов. Для 30+ пользователей — кластер из двух серверов с резервированием менеджера.

Производительность кластера зависит от оборудования. Процессор с высокой однопоточной частотой даёт больше, чем многоядерный на низкой частоте — 1С работает преимущественно в одном потоке. NVMe-диск вместо SAS удваивает баллы Гилёва. Проверенные конфигурации для разного числа пользователей — в статье о подборе сервера. Пошаговая методика — в руководстве по подбору.

Если нужен подбор серверной конфигурации под ваш кластер 1С — оставьте заявку. Подберём оборудование по результатам тестов, а не по маркетинговым спецификациям.

rac ragent rmngr rphost гайд кластер-1с настройка