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

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

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

Архитектура кластера и ключевые компоненты

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

На физических или виртуальных машинах, которые будут выполнять вычисления, устанавливаются рабочие серверы 1С. Именно на них запускаются рабочие процессы rphost, которые непосредственно исполняют код прикладных решений. Важно отметить, что один физический сервер может обслуживать несколько рабочих процессов для разных информационных баз.

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

  • 🖥️ Центральный сервер: хранит конфигурацию кластера и реестр сервисов.
  • ⚙️ Рабочий сервер: физическая машина, выполняющая вычисления.
  • 📡 Агент сервера: сервис для регистрации и управления узлами.
  • 🔄 Рабочий процесс: исполняемый модуль, обслуживающий соединения пользователей.

⚠️ Внимание: Версии платформ на всех серверах кластера должны совпадать до минорного релиза. Использование разных версий (например, 8.3.20 и 8.3.22) на разных узлах одного кластера приведет к нестабильной работе и ошибкам соединения.

Что такое реестр кластера?

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

Подготовка инфраструктуры и системные требования

Успех развертывания кластера на 80% зависит от качества подготовки операционной системы и сетевого окружения. Серверы 1С крайне чувствительны к задержкам в сети (latency), поэтому все узлы кластера должны находиться в одном сегменте локальной сети с гигабитным каналом связи. Размещение центрального сервера и рабочих серверов в разных дата-центрах без выделенного канала недопустимо.

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

Перед установкой убедитесь, что на всех машинах отключены энергосберегающие режимы процессора и сетевых карт, которые могут вызывать"подвисания" соединений. Для операционных систем семейства Windows рекомендуется использовать серверные редакции, а для Linux — дистрибутивы с долгосрочной поддержкой, такие как Ubuntu Server или ALT Linux.

💡

Используйте статические IP-адреса для всех серверов кластера. Изменение IP-адреса рабочего сервера после его регистрации в кластере потребует полной перерегистрации и может привести к потере активных сессий.

Также необходимо заранее подготовить учетные записи. Сервисы 1С должны запускаться от имени доменного пользователя или локального пользователя с правами администратора, имеющего доступ к сетевым ресурсам. Запуск от имени системы (Local System) в доменной среде может ограничить возможности доступа к файлам баз данных.

Установка сервера 1С и настройка центрального узла

Процесс создания кластера начинается с установки программного обеспечения на машину, выбранную в качестве центрального сервера. В мастере установки дистрибутива сервера 1С:Предприятие необходимо выбрать компонент"Сервер 1С:Предприятия". На этом же этапе система предложит задать порт центрального сервера и диапазон портов кластера.

После установки служба"Агент сервера 1С:Предприятия" должна быть запущена. Именно через консоль управления кластером (MMC-снапшет comcntr.msc) вы будете выполнять все дальнейшие настройки. При первом подключении к локальному серверу используется имя localhost и порт 1541.

net start"1C:Enterprise 8.3 Server Agent"

В окне консоли управления необходимо создать новый кластер. Для этого нажмите правой кнопкой мыши на"Серверы 1С:Предприятия" и выберите"Добавить". В открывшемся окне укажите имя сервера (NetBIOS или IP), порт агента (по умолчанию 1540) и имя центрального сервера кластера.

  • 🔧 Запустите мастер установки и выберите серверный компонент.
  • 🚀 Убедитесь, что служба агента работает в автоматическом режиме.
  • 🔑 Задайте имя кластера, уникальное в пределах вашей сети.
  • 💾 Проверьте права доступа к каталогу временных файлов.

⚠️ Внимание: Если вы планируете использовать кластер в режиме предприятия с лицензированием по ключам защиты, убедитесь, что ключи (аппаратные или программные) доступны для чтения сервисом сервера 1С. Отсутствие доступа к ключам заблокирует запуск рабочих процессов.

📊 На какой ОС вы планируете развернуть сервер 1С?
Windows Server 2019/2022
Linux (Ubuntu/Debian)
Linux (CentOS/RedHat)
Другая система

Регистрация рабочих серверов в кластере

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

В дереве консоли разверните ваш кластер, найдите узел"Рабочие серверы", нажмите правой кнопкой мыши и выберите"Добавить". В поле"Имя" укажите сетевое имя или IP-адрес машины, на которой установлен агент. Порт должен соответствовать порту агента на удаленной машине.

Важным параметром при добавлении рабочего сервера является его"Вес" (Weight). Этот параметр определяет приоритет распределения нагрузки. Серверу с большим весом будет назначаться больше рабочих процессов. Для начала можно оставить значение по умолчанию (100), но в гетерогенных кластерах, где мощность серверов различается, этот параметр требует ручной корректировки.

Параметр Значение по умолчанию Рекомендация для мощных узлов Влияние на работу
Вес сервера 100 200-500 Количество назначаемых процессов
Порт диапазона 1560-1590 Расширить диапазон Лимит одновременных подключений
Интервал регистрации 60 сек 30 сек Скорость реакции на сбой
Время жизни процесса 0 (бессрочно) 3600-7200 сек Профилактика утечек памяти

После добавления сервера статус должен измениться на"Доступен". Если статус остается"Недоступен", проверьте связность по ICMP, доступность порта 1540 и настройки брандмауэра Windows или iptables на Linux.

💡

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

Настройка рабочих процессов и балансировка нагрузки

Самый ответственный этап — создание рабочих процессов для конкретных информационных баз. В консоли управления кластером перейдите в раздел"Информационные базы", создайте запись, соответствующую вашей базе данных, и укажите параметры соединения с СУБД.

Затем, внутри свойств информационной базы, перейдите к настройке рабочих процессов. Здесь вы можете задать количество процессов, которое будет запущено по умолчанию. Для высоконагруженных систем рекомендуется использовать формулу: количество процессов = (количество ядер CPU на кластере) / 2, но не более 20-30 процессов на одну базу для избежания оверхеда переключения контекста.

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

ramlimit = 4096M

process_lifetime = 7200

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

  • ⚖️ Настройте ограничение оперативной памяти для каждого процесса.
  • ⏱️ Установите время жизни процесса для сброса кэша.
  • 📊 Включите логирование технологического журнала для анализа.
  • 🛡️ Настройте списки доступа для ограничения подключения по IP.

⚠️ Внимание: Изменение параметров рабочих процессов (например, количества или ограничений памяти) в работающем кластере приводит к перезапуску служб. Планируйте эти изменения на время технологического окна, когда пользователи не работают в системе.

☑️ Проверка перед запуском

Выполнено: 0 / 5

Диагностика проблем и мониторинг кластера

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

Для анализа ТЖ можно использовать утилиты от сторонних разработчиков или встроенные средства консоли управления. Особое внимание следует уделять событиям EXCP (исключения) и CONN (подключения). Резкий рост времени ожидания соединения может свидетельствовать о нехватке рабочих процессов или проблемах с СУБД.

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

Как перезагрузить кластер без остановки службы?

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

Что делать, если центральный сервер не видит рабочий?

Проверьте, запущена ли служба агента на рабочем сервере. Убедитесь, что в файле конфигурации агента (srvinfo\conf\srvinfo.cfg или реестр) правильно указано имя центрального сервера. Проверьте доступность порта 1540 через telnet.

Можно ли добавить сервер в работающий кластер?

Да, кластер 1С поддерживает горячее добавление ресурсов. Достаточно установить агент на новый сервер и зарегистрировать его в консоли управления. Новые сеансы начнут распределяться на новый узел автоматически после смены статуса на"Доступен".

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

В свойствах информационной базы в кластере существует вкладка"Списки доступа". Там можно настроить правила запрета или разрешения подключения по IP-адресам, именам компьютеров или именам пользователей ОС.