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

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

Кластер серверов 1С: что это и как он работает

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

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

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

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

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

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

Основные компоненты кластера:

  • Агент сервера (ragent) — главный управляющий процесс на каждом сервере. Он знает обо всех кластерах, зарегистрированных на данной машине, и передаёт клиентам списки рабочих процессов.
  • Менеджер кластера (rmngr) — ведёт реестр кластера: список информационных баз, рабочих процессов, сеансов, блокировок. В кластере может быть несколько экземпляров менеджера, но активен в каждый момент один.
  • Рабочие процессы (rphost) — исполняют прикладной код и обслуживают соединения. Их количество настраивается и напрямую влияет на производительность.
  • Реестр кластера — файлы служебной информации (каталог srvinfo), где хранится конфигурация кластера, список баз и настройки. Потеря этого каталога без резервной копии означает необходимость перерегистрировать базы вручную.

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

Как кластер распределяет нагрузку и обеспечивает отказоустойчивость

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

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

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

Когда один сервер достаточен, а когда нужен кластер из нескольких машин

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

Об объединении нескольких серверов в кластер стоит задумываться в следующих ситуациях: число одновременных сеансов исчисляется сотнями; есть тяжёлые фоновые задания (обмены, расчёты, закрытие периода), конкурирующие с интерактивной работой; бизнес-процессы критичны к простою; один сервер физически не справляется по памяти или процессору.

Маршрут решения

Как выбрать конфигурацию

До нескольких десятков пользователей, простой допустимОдин сервер 1С с 2–4 рабочими процессами, регулярные бэкапы
Сотни сеансов или тяжёлые фоновые заданияНесколько рабочих серверов в кластере, выделение отдельного узла под фоновые задания
Критичность к простою высокаяРезервный менеджер кластера, минимум два рабочих сервера, отказоустойчивость на уровне СУБД
Сервер перегружен по памяти, но процессор свободенСначала сократите число rphost и проверьте утечки — масштабирование не всегда нужно

Отдельный практический приём — выделение сервера под фоновые задания. Через требования назначения функциональности можно указать, что на конкретном узле выполняются только регламентные операции, а пользовательские сеансы туда не попадают. Это заметно улучшает отзывчивость системы в рабочее время.

Как проверить, что кластер работает правильно

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

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

Как проверить состояние кластера

Список рабочих процессов в консоли
Норма

Все запущенные rphost видны, сеансы распределены между ними

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

Процесс исчез из списка или на нём ноль сеансов при общей нагрузке

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

Потребление стабильно и сопоставимо между процессами

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

Один процесс постоянно растёт по памяти — вероятна утечка, нужен перезапуск по расписанию

Сеансы пользователей
Норма

Сеансы активны, время вызова СУБД в разумных пределах

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

Массовые «спящие» сеансы или долгие вызовы — узкое место в СУБД или коде

Каталог srvinfo
Норма

Каталог существует, доступен службе агента, включён в бэкап

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

Каталог не резервируется или недоступен — риск потери конфигурации кластера

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

Если пользователи жалуются на «зависания», а сервер по ресурсам свободен, чаще всего проблема не в кластере, а в блокировках на уровне СУБД или в неоптимальном коде конфигурации. Начинайте диагностику с технологического журнала и анализа запросов, а не с добавления оборудования.
ПЗ
Практическое замечание

Типичные ошибки при настройке и эксплуатации кластера

Большинство проблем с кластером возникает не из-за самой технологии, а из-за ошибок конфигурации и эксплуатации. Часть из них проявляется сразу, часть — только под нагрузкой или при сбое.

Типичные ошибки
01
Слишком много рабочих процессов на одном сервере — память исчерпывается, начинается свопинг и общая деградация производительности
02
Один рабочий процесс на всех — при его аварийном завершении отключаются все сеансы сразу
03
Каталог srvinfo не включён в резервное копирование — после сбоя диска приходится пересоздавать кластер и регистрировать базы заново
04
Размещение сервера 1С и СУБД на одной машине при высокой нагрузке — процессы конкурируют за память и диск
05
Отсутствие ограничения памяти на rphost — один «заболевший» процесс съедает всю память сервера
06
Изменение настроек кластера без тестирования на копии — ошибка в требованиях назначения функциональности может остановить фоновые задания незаметно для администратора

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

Управление кластером: базовые операции администратора

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

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

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

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

Ограничения и альтернативы серверному кластеру

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

Сравнение вариантов развёртывания

Файловый режим

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

Один сервер 1С + СУБД

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

Кластер из нескольких серверов 1С

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

Облачный сервис (SaaS)

Инфраструктурой управляет провайдер. Снимает задачи администрирования кластера, но ограничивает возможности тонкой настройки и контроля над данными

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

Итог

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

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

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

Чем кластер 1С отличается от кластера баз данных?

Кластер 1С работает на прикладном уровне: распределяет сеансы, исполняет код конфигурации, управляет блокировками 1С. Кластер СУБД (например, репликация PostgreSQL или Always On в MS SQL Server) отвечает за хранение и доступность самих данных. Это независимые уровни, и для высокой доступности системы настраивать нужно оба.

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

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

Можно ли объединить в кластер серверы с разными версиями платформы 1С?

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

Что произойдёт, если удалить каталог srvinfo?

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

Почему пользователей «выбрасывает» из системы при перезапуске одного процесса?

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

Нужен ли кластер, если база работает в файловом режиме?

Нет. Файловый режим не использует сервер 1С и СУБД — платформа работает с файлом базы напрямую. Кластер появляется только при переходе на клиент-серверную архитектуру, которая нужна при росте числа пользователей и объёма данных.