К статье
Практический материал

Администрирование · 11 мин

Кластер серверов 1С:Предприятие 8.3: устройство и практика работы

Что такое кластер серверов 1С:Предприятие 8.3: состав, роли процессов, отказоустойчивость, настройка и типичные ошибки администрирования.

Кластер серверов 1С:Предприятие 8.3 — это программный комплекс, который принимает подключения пользователей и выполняет прикладную логику между клиентскими приложениями и СУБД. Он состоит из одного или нескольких компьютеров (рабочих серверов), на которых запущены процессы агента и рабочие процессы. Именно кластер, а не сама база данных, исполняет код конфигурации, управляет сессиями, транзакциями и блокировками.

Даже «простая» серверная установка 1С — это уже кластер из одного сервера с одним рабочим процессом. Многосерверная схема появляется, когда одного компьютера перестаёт хватать по производительности или требуется отказоустойчивость: выход из строя одного узла не должен останавливать работу пользователей. Понимание устройства кластера необходимо администратору, чтобы грамотно распределять нагрузку, диагностировать «тормоза» и планировать мощности.

Ниже разобраны компоненты кластера, механизмы распределения нагрузки, требования отказоустойчивости, порядок базовой настройки и типичные ошибки, которые приводят к потере сеансов и простоям.

Из чего состоит кластер серверов 1С

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

На каждом сервере работают процессы с разными ролями. Агент сервера (ragent) — точка входа: принимает подключения консолей и клиентов, ведёт список кластеров. Менеджер кластера (rmngr) управляет реестром, сервисами сеансовых данных и блокировками. Рабочий процесс (rphost) — исполнитель: именно он выполняет код конфигурации, обращается к СУБД и обслуживает сеансы пользователей.

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

Как кластер распределяет нагрузку

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

В простейшей конфигурации действует правило «автоматически»: кластер сам балансирует сеансы между доступными рабочими процессами. Администратор может вмешаться — например, выделить отдельный сервер под фоновые задания, чтобы регламентные операции не конкурировали за ресурсы с интерактивной работой пользователей.

Дополнительный механизм — количество информационных баз на процесс и количество соединений на процесс. Если один rphost обслуживает слишком много сеансов, он становится «узким местом»: растёт время отклика, а падение процесса обрывает сразу много пользователей. Разумная практика — ограничивать число соединений на процесс и увеличивать число самих процессов в пределах доступной памяти.

Отказоустойчивость и резервирование

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

Главное уязвимое место — центральный сервер и его реестр. Механизм резервирования центрального сервера позволяет назначить резервные серверы, которые реплицируют реестр кластера и при отказе основного принимают его роль. Уровень отказоустойчивости задаётся в свойствах кластера и определяет, сколько одновременных отказов серверов кластер способен пережить.

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

Как развернуть и настроить кластер

Минимальный путь выглядит так: установить сервер 1С:Предприятия на выделенную машину, убедиться, что служба агента запущена, открыть консоль администрирования серверов 1С и создать кластер (по умолчанию он создаётся автоматически с портом 1541). Затем в консоли создаётся информационная база с указанием сервера СУБД и параметров подключения.

Порядок базовой настройки
  1. 1
    Установите сервер 1С:Предприятия той же версии платформы, что и клиенты, и запустите службу агента сервера.
  2. 2
    Откройте консоль администрирования серверов, добавьте центральный сервер и убедитесь, что кластер виден.
  3. 3
    Создайте информационную базу: укажите имя, сервер СУБД, тип СУБД и учётные данные доступа к базе.
  4. 4
    Настройте свойства кластера: число рабочих процессов, лимит соединений на процесс, интервал перезапуска.
  5. 5
    При необходимости добавьте второй рабочий сервер, настройте резервирование центрального сервера и требования назначения функциональности.
  6. 6
    Проверьте подключение клиентом, запустите фоновое задание и убедитесь в консоли, что сеансы распределяются по рабочим процессам.

Для диагностики полезно знать порты по умолчанию: агент сервера — 1540, кластер — 1541, диапазон рабочих процессов — 1560–1591. Эти порты должны быть открыты между клиентами, серверами кластера и (при необходимости) консолью администрирования. Типичная причина «кластер не виден» — закрытый файрвол, а не неисправность платформы.

bash
# Проверка, что агент сервера 1С слушает порт 1540 (Linux)
netstat -tlnp | grep 1540
# Или через systemctl
systemctl status srv1cv83

Мониторинг и проверка работоспособности

Работоспособность кластера проверяется через консоль администрирования: список сеансов, активность рабочих процессов, наличие соединений с СУБД. Тревожные признаки — rphost, потребляющий почти всю память сервера, длинные очереди на управляемых блокировках и массовые аварийные завершения сеансов.

Для глубокой диагностики используется технологический журнал — настраиваемый лог событий сервера (вызовы СУБД, блокировки, исключения). Он включается файлом конфигурации logcfg.xml и должен применяться точечно: полный сбор событий на нагруженном кластере сам по себе заметно снижает производительность.

Контрольные точки

Как проверить результат

Сеансы в консоли кластера
Норма

Сеансы распределены между несколькими rphost, нет одного перегруженного процесса

Тревожный признак

Все сеансы сидят на одном процессе или сеансы не создаются вовсе

Потребление памяти rphost
Норма

Процессы занимают память равномерно, есть запас свободной ОЗУ на сервере

Тревожный признак

Один rphost съедает почти всю память, система уходит в подкачку

Прослушиваемые порты
Норма

1540, 1541 и диапазон рабочих процессов открыты и отвечают

Тревожный признак

Порты закрыты файрволом, клиенты не подключаются

Технологический журнал
Норма

Нет повторяющихся исключений и таймаутов блокировок

Тревожный признак

Массовые ошибки соединений с СУБД или взаимоблокировки

Типичные ошибки и ограничения

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

Типичные ошибки
01
Один рабочий процесс на всех пользователей — при его падении обрываются все сеансы, а производительность ограничена одним процессом.
02
Нет резервирования центрального сервера — отказ одной машины останавливает весь кластер, несмотря на наличие других рабочих серверов.
03
Игнорирование лицензий: серверная и клиентские лицензии 1С не установлены или «не видны» серверу, из-за чего пользователи не могут подключиться даже при исправном кластере.
04
Смешивание фоновых заданий и пользовательских сеансов на одном сервере без требований назначения функциональности — регламентные операции душат интерактивную работу.
05
Постоянно включённый подробный технологический журнал — диски забиваются логами, а производительность падает.

Ещё одно ограничение: кластер 1С не заменяет балансировщик на уровне СУБД и не ускоряет медленные запросы. Если проблема в планах запросов или дисковой подсистеме сервера баз данных, добавление серверов 1С эффекта не даст — сначала нужно оптимизировать запросы и индексы.

Итог

Что важно запомнить

Кластер серверов 1С 8.3 — связка агента, менеджера кластера и рабочих процессов rphost, исполняющих код конфигурации между клиентами и СУБД. Производительность обеспечивают число рабочих процессов и лимиты соединений, отказоустойчивость — минимум два рабочих сервера и резервирование центрального. Изменения состава кластера делайте в тестовой среде и вне пиковой нагрузки.

Частые вопросы о кластере серверов 1С

Чем кластер серверов 1С отличается от файлового режима работы?

В файловом режиме платформа работает с базой напрямую, без сервера приложений, и подходит для небольшого числа пользователей. Кластер добавляет промежуточный серверный уровень: централизованное исполнение кода, управление сеансами и блокировками, работу с клиент-серверной СУБД и возможность масштабирования на несколько машин.

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

Универсального числа нет: оно зависит от объёма памяти сервера и числа активных пользователей. Практический подход — ограничить число соединений на процесс и добавлять процессы, пока хватает ОЗУ с запасом, контролируя потребление памяти каждым rphost под реальной нагрузкой.

Что произойдёт, если выйдет из строя центральный сервер кластера?

Без резервирования кластер остановится: реестр кластера недоступен, новые сеансы не создаются. Если настроены резервные центральные серверы, один из них примет роль основного, и работа продолжится. Поэтому для критичных систем резервирование центрального сервера — обязательный минимум.

Можно ли размещать сервер 1С и СУБД на одной машине?

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

Как выделить отдельный сервер под фоновые задания?

Через требования назначения функциональности в консоли кластера: на выделенном рабочем сервере создаётся правило, разрешающее сервис фоновых заданий, а на остальных серверах этот тип функциональности запрещается. После применения правил фоновые задания будут выполняться только на выделенном сервере и не будут конкурировать с пользовательскими сеансами.

Нужен ли кластер из нескольких серверов при 20–30 пользователях?

Как правило, нет: одного достаточно мощного сервера с несколькими рабочими процессами обычно хватает. Многосерверная схема оправдана при сотнях одновременных сеансов или жёстких требованиях к непрерывности работы. Решение принимайте по фактической нагрузке — по данным мониторинга памяти, процессора и времени отклика.