Зачем нужны несколько кластеров в консоли управления сервером 1С:Предприятие?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Основы архитектуры: Изоляция процессов rmngr и rphost

Для того чтобы понять суть использования нескольких кластеров, проанализируем, как работают основные процессы сервера 1С. По умолчанию в системе создается один кластер. В рамках этого кластера функционирует менеджер кластера (rmngr) и один или несколько рабочих процессов (rphost).

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

  1. Рабочие процессы (rphost): У каждого кластера будет свой собственный набор рабочих процессов. Если информационная база, находящаяся в первом кластере, вызовет критическую ошибку или утечку памяти, которая приведет к падению или зависанию процесса rphost, это никак не затронет информационные базы во втором кластере. Они продолжат работать в своих процессах.
  2. Менеджер кластера (rmngr): Это "мозг" кластера, который отвечает за сервис блокировок, журналы регистрации, полнотекстовый поиск и распределение сеансов. При создании второго кластера запускается отдельный экземпляр rmngr. Выясним причину, почему это важно: если в одной из баз происходит сбой в сервисе блокировок или менеджер зависает из-за обработки огромного объема данных, соседний кластер останется полностью работоспособным.

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

Рассмотрим ситуацию на крупном предприятии, где одновременно работают "Зарплата и кадры государственного учреждения" (ЗКГУ) и "Бухгалтерия государственного учреждения" (БГУ). Зачастую ресурсоемкие операции в ЗКГУ (например, массовый расчет зарплаты) могут негативно влиять на производительность БГУ. Разделив их по разным кластерам, мы гарантируем, что они не будут делить общие рабочие процессы.

Для обеспечения масштабируемости и отказоустойчивости мы можем использовать следующие стратегии:

Технические нюансы настройки: Порты и подключение

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

Для первого (стандартного) кластера порты обычно выглядят так:

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

  1. Порт кластера: Например, 1641.
  2. Диапазон рабочих портов: Чтобы rphost разных кластеров не конфликтовали, выделим отдельный диапазон, например, 1660-1691.

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

ИмяСервера:1641

Различия лицензирования: ПРО vs КОРП

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

В версии ПРО такие настройки недоступны, поэтому создание нескольких кластеров остается основным инструментом администратора для разделения ресурсов и предотвращения влияния баз друг на друга.

Обновление платформы и управление службами

Разберем частый вопрос: можно ли с помощью разных кластеров запустить базы на разных версиях платформы? Ответ — нет. Все кластеры, созданные внутри одной консоли под одним агентом, работают на исполняемых файлах одной версии. Если агент сервера запущен из папки 8.3.23.XXXX, то все кластеры будут работать именно на этой версии.

Если же вам требуется запустить одну базу на версии 8.3.23, а другую на 8.3.25, вам придется устанавливать второй экземпляр службы сервера 1С как отдельный сервис Windows или Linux. В этом случае у каждого сервиса будет свой агент (ragent) со своим портом (например, 1540 и 1640).

Администрирование и журналы регистрации

Использование нескольких кластеров упрощает эксплуатацию системы в следующих аспектах:

Отрицательные стороны и потребление памяти

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

Каждый новый кластер — это как минимум один дополнительный процесс rmngr и один rphost (в зависимости от настроек). Даже если в базах никто не работает, эти процессы будут потреблять оперативную память. На серверах с ограниченным объемом RAM (менее 16-32 ГБ) избыточное дробление на кластеры может привести к деградации производительности из-за нехватки памяти для кэширования данных.

Итоги

Подводя итог нашему анализу, создание нескольких кластеров в консоли 1С целесообразно в следующих случаях:

  1. Необходимость изоляции: Чтобы сбой в одной базе (например, тяжелый отчет или ошибка в коде) не приводил к остановке работы пользователей в других базах.
  2. Управление ресурсами на лицензиях ПРО: Для ручного распределения нагрузки между разными группами баз.
  3. Повышение безопасности: Для разделения зон ответственности между администраторами баз данных.
  4. Удобство отладки: Для более точного мониторинга и анализа работы конкретных приложений.

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

← На главную