Администрирование · 11 мин
Кластер серверов 1С:Предприятия: устройство, назначение и настройка
Что такое кластер серверов 1С:Предприятие, из чего он состоит, как работают рабочие процессы и сеансы, когда нужен кластер и как его проверить и обслуживать.
Кластер серверов 1С:Предприятия — это группа компьютеров, на которых работает сервер 1С и которые совместно обслуживают подключения пользователей к информационным базам. В клиент-серверном варианте работы 1С именно кластер принимает запросы от клиентских приложений, выполняет прикладной код и обращается к СУБД (MS SQL Server, PostgreSQL, Oracle или IBM DB2) за данными. Без кластера клиент-серверная архитектура невозможна: файл конфигурации и данные лежат в базе СУБД, а вся логика исполняется процессами кластера.
Понятие «кластер» в 1С не означает обязательно несколько физических машин. Даже один сервер с установленным агентом сервера 1С формально представляет собой кластер из одного рабочего сервера. Многосерверная конфигурация появляется тогда, когда нужно распределить нагрузку между машинами или обеспечить отказоустойчивость: при выходе из строя одного рабочего сервера сеансы пользователей переносятся на оставшиеся.
Администратору важно понимать внутреннее устройство кластера: какие процессы в нём работают, чем сеанс отличается от соединения, как распределяются фоновые задания и где искать причины зависаний. Ниже разобраны состав кластера, механизм балансировки, типичные сценарии настройки и способы проверки его состояния.
Из чего состоит кластер серверов 1С
Минимальный кластер включает три ключевых компонента. Первый — агент сервера (процесс ragent), который принимает подключения от клиентов и консолей администрирования и координирует работу остальных процессов. Второй — менеджер кластера (rphost-реестр, процесс rmngr), который ведёт список информационных баз, сеансов и распределяет обращения между рабочими процессами. Третий — рабочие процессы (rphost), в которых непосредственно исполняется код конфигурации и выполняются запросы к СУБД.
Дополнительно в кластере работают служебные процессы: ragent ведёт реестр кластера (каталог srvinfo с файлами реестра), а при включённой отказоустойчивости могут быть задействованы резервные менеджеры. Реестр кластера — критичный элемент: в нём хранятся зарегистрированные информационные базы, параметры сеансов и настройки. Повреждение каталога srvinfo без резервной копии означает, что базы придётся регистрировать в кластере заново.
Каждый рабочий сервер в кластере запускает собственные экземпляры rphost. Один процесс rphost может обслуживать много сеансов, но при превышении разумного числа соединений на процесс растёт потребление памяти и риск взаимного влияния сеансов: аварийное завершение одного rphost затронет всех пользователей, которых он обслуживал. Поэтому на нагруженных системах число рабочих процессов увеличивают, ограничивая объём памяти на процесс.
Как кластер обрабатывает подключения пользователей
Когда пользователь запускает клиент 1С и выбирает базу, клиент обращается к агенту сервера по сетевому порту (по умолчанию 1540). Агент через менеджер кластера определяет, какой рабочий процесс обслужит сеанс, и возвращает клиенту адрес и порт конкретного rphost. Дальнейший обмен идёт напрямую между клиентом и рабочим процессом.
Важно различать сеанс и соединение. Сеанс — это логическая сессия пользователя или фонового задания в кластере, со своим контекстом и правами. Соединение — сетевое подключение между клиентом и рабочим процессом. Один сеанс может существовать без активного соединения (например, сеанс спящего пользователя), и именно сеансы расходуют лицензии и память сервера.
Сопоставить число сеансов на процесс и лимиты памяти в свойствах рабочего сервера
Проверить время бездействия сеансов в консоли кластера и настроить автоотключение
Проверить количество рабочих процессов на сервер и требования назначения функциональности
Балансировка нагрузки и требования назначения функциональности
Кластер распределяет вызовы между рабочими процессами и серверами автоматически, но администратор может влиять на это распределение через требования назначения функциональности. Это правила, которые указывают, какие сервисы (клиентские соединения, фоновые задания, сервисы сеансовых данных и другие) могут выполняться на конкретном рабочем сервере.
Типичный сценарий — выделить отдельный сервер под фоновые задания, чтобы регламентные операции (расчёт итогов, обмены, формирование отчётов) не конкурировали за ресурсы с интерактивной работой пользователей. Для этого на одном сервере запрещают клиентские соединения, а на остальных — фоновые задания. Другой сценарий — закрепить конкретную информационную базу за отдельным сервером, если она требует особых ресурсов.
Как выбрать конфигурацию кластера
Уровень отказоустойчивости кластера задаёт, сколько рабочих серверов может одновременно выйти из строя без потери работоспособности. При отказе сервера его сеансы пересоздаются на живых узлах, однако несохранённые данные в открытых формах пользователей теряются — кластер защищает доступность сервиса, но не содержимое экрана пользователя.
Где администрировать кластер
Основной инструмент — консоль управления серверами 1С (оснастка «Администрирование серверов 1С Предприятия» на Windows или консоль кластера на Linux). В ней видны рабочие серверы, информационные базы, сеансы, соединения и рабочие процессы. Через консоль администратор принудительно завершает зависшие сеансы, блокирует соединения с базой на время обновления и меняет параметры рабочих серверов.
Для автоматизации и массовых операций используют утилиту командной строки rac в связке с сервисом администрирования ras. Через rac можно скриптами получать списки сеансов, блокировать базы, управлять кластерами — это стандартный способ встроить операции с кластером в регламентные процедуры обновления.
ras cluster --daemon
rac session list --cluster=<ид_кластера>
rac session terminate --cluster=<ид_кластера> --session=<ид_сеанса>Типичные задачи и порядок действий
Наиболее частая операция — завершение зависшего сеанса. Пользователь закрыл клиент аварийно, а сеанс остался в кластере и держит лицензию и блокировки. В консоли кластера находят сеанс по имени пользователя, проверяют время последней активности и завершают его. Массовое завершение сеансов перед обновлением конфигурации делается через блокировку соединений с информационной базой с последующим принудительным завершением оставшихся сеансов.
Вторая частая задача — диагностика нехватки памяти. Если рабочие процессы упираются в лимиты, кластер начинает аварийно перезапускать rphost, пользователи получают ошибки обрыва соединения. Решение — увеличить число рабочих процессов, ограничить память на процесс (например, параметры допустимого объёма памяти и интервала перезапуска в свойствах рабочего сервера) и при необходимости добавить сервер в кластер.
- 1Откройте консоль кластера и убедитесь, что все рабочие серверы в списке активны
- 2Проверьте, что по каждой информационной базе есть рабочие процессы и сеансы распределены между ними
- 3Сравните число сеансов с числом реальных пользователей — сильное расхождение указывает на зависшие сеансы
- 4Проверьте свободную память и загрузку процессора на каждом рабочем сервере
- 5Убедитесь, что каталог реестра кластера (srvinfo) включён в план резервного копирования
Ограничения, риски и частые ошибки
Кластер серверов 1С не заменяет резервное копирование и не ускоряет медленную СУБД. Если узкое место — дисковая подсистема сервера баз данных или неоптимальные запросы в конфигурации, добавление рабочих серверов в кластер ничего не даст: все они будут ждать ту же СУБД. Сначала анализируют нагрузку на СУБД и только потом масштабируют кластер.
Рискованные действия в кластере — принудительное завершение сеансов с незавершёнными транзакциями и ручное редактирование каталога srvinfo. Завершение сеанса во время записи документа может оставить в базе незавершённую транзакцию, а удаление файлов реестра без копии приведёт к потере регистрации баз. Перед обслуживанием включайте блокировку соединений и давайте пользователям время завершить работу.
Проверка результата после настройки
После любых изменений в кластере — добавления сервера, изменения числа процессов, настройки требований функциональности — нужно убедиться, что конфигурация работает как задумано. Проверяют распределение сеансов по процессам, отсутствие ошибок в журнале регистрации и время отклика у пользователей.
Как проверить результат
Сеансы равномерно разнесены по нескольким rphost
Все сеансы сидят на одном процессе
Выполняются на выделенном сервере, не мешая пользователям
Фоновые задания конкурируют с клиентскими соединениями
Потребление стабильно и ниже заданных лимитов
Постоянный рост памяти и аварийные перезапуски rphost
Нет массовых ошибок обрыва соединений
Регулярные ошибки аварийного завершения сеансов
Что важно запомнить
Кластер серверов 1С — это агент, менеджер и рабочие процессы, обслуживающие сеансы и обращения к СУБД. Масштабируйте его осознанно: сначала найдите узкое место, затем добавляйте процессы или серверы, и всегда защищайте реестр кластера резервным копированием.
Частые вопросы о кластере серверов 1С
Чем кластер 1С отличается от кластера СУБД?
Это разные уровни. Кластер 1С исполняет прикладной код и обслуживает сеансы пользователей, а кластер СУБД (например, Always On у MS SQL) обеспечивает доступность самих данных. Они дополняют друг друга: отказоустойчивость сервера 1С не спасёт при отказе базы данных, и наоборот.
Нужен ли кластер, если пользователей меньше десяти?
Формально кластер существует всегда при клиент-серверной работе, даже на одной машине. Но для небольшой команды часто достаточно одного рабочего сервера с несколькими процессами или вообще файлового режима работы без сервера 1С — выбор зависит от требований к параллельности и объёму данных.
Можно ли объединить в кластер серверы с разными версиями платформы?
Нет, все рабочие серверы одного кластера должны работать на одной версии платформы 1С. Для разных версий создают отдельные кластеры со своими агентами и диапазонами портов.
Что произойдёт с пользователями при отказе рабочего сервера?
При настроенной отказоустойчивости сеансы пересоздаются на уцелевших серверах, и пользователи продолжают работу. Однако несохранённые данные в открытых формах теряются, а при отказе единственного сервера без резервирования работа кластера полностью останавливается.
Как узнать, сколько рабочих процессов нужно серверу?
Точной формулы нет: ориентируйтесь на наблюдаемое потребление памяти и число одновременных сеансов. Начинают с нескольких процессов, следят за нагрузкой и увеличивают количество, если процессы упираются в лимиты памяти или сеансы распределяются неравномерно.
Где хранятся настройки кластера и как их сохранить?
Настройки находятся в каталоге реестра кластера srvinfo в каталоге данных сервера 1С. Для сохранения достаточно включить этот каталог в резервное копирование при остановленном или работающем агенте — восстановление каталога возвращает регистрацию баз и параметры кластера.