Как устроен кластер 1С:Предприятия 8.3 и когда он нужен компании

· 10 мин

Содержание

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

Частое заблуждение: «кластер — это когда серверов много, нам такое не нужно». На деле кластер есть у любой клиент-серверной базы. Вопрос не в том, нужен ли он, а в том, сколько в нём рабочих серверов, кто из них центральный и как он настроен под вашу нагрузку.

Что такое кластер серверов 1С и какие задачи он решает

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

Что даёт кластер:

  • 🚀 Производительность. Тяжёлые запросы и проведение документов выполняются на сервере рядом с СУБД, а не на ноутбуке бухгалтера.
  • 👥 Много пользователей. Файловая база начинает тормозить уже при 10–15 активных пользователях, клиент-серверная спокойно держит десятки и сотни.
  • 🔒 Управляемые блокировки и транзакции. Конфликты при одновременном проведении решает СУБД, а не блокировка файла.
  • 🛠 Администрирование. Видно, кто подключён, какие сеансы висят, сколько памяти ест каждый процесс; базы можно создавать и блокировать централизованно.
  • 🔁 Масштабирование и отказоустойчивость. В кластер добавляют рабочие серверы, а центральные серверы можно резервировать.

Кластер 1С и кластер СУБД — разные вещи. Кластер 1С выполняет прикладную логику, а данные хранит СУБД: MS SQL Server, PostgreSQL, IBM Db2 или Oracle Database. Отказоустойчивость СУБД настраивается её собственными средствами.

Архитектура кластера 1С: процессы, порты, каталоги

У кластера три вида процессов. На Windows они работают как одна служба «Агент сервера 1С:Предприятия 8.3», внутри которой запускаются отдельные исполняемые файлы.

ПроцессФайлПорт по умолчаниюЧто делает
Агент сервераragent1540Принимает первое обращение клиента и консоли, запускает остальные процессы, хранит список кластеров
Менеджер кластераrmngr1541Ведёт реестр кластера: базы, сеансы, блокировки, настройки
Рабочий процессrphost1560–1591Выполняет код конфигурации и запросы к СУБД
Сервер администрированияras1545Нужен для утилиты rac и сторонних консолей

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

Служебные данные лежат в каталоге srvinfo. На Windows по умолчанию это C:\Program Files\1cv8\srvinfo, внутри — папка reg_1541 с реестром кластера (файл 1CV8Clst.lst) и каталогами сеансовых данных. На Linux путь обычно /home/usr1cv8/.1cv8/1C/1cv8/.

Номер в имени папки reg_1541 совпадает с портом менеджера кластера. Если на одной машине два кластера, папок тоже будет две.

Варианты кластера 1С: один сервер, несколько серверов, резервирование

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

ВариантДля когоПлюсыМинусы
Сервер 1С и СУБД на одной машинеДо 30–50 пользователей, одна-две базыПросто, нет сетевых задержек между 1С и СУБДПадение машины останавливает всё
Сервер 1С и СУБД на разных машинах50–200 пользователей, тяжёлые отчётыРесурсы не конкурируют, легче масштабироватьНужна быстрая сеть между серверами
Несколько рабочих серверов в одном кластереСотни пользователей, высокая нагрузкаНагрузка распределяется между машинамиБольше лицензий и администрирования
Несколько центральных серверов (резервирование)Где простой стоит дорогоПри отказе одного сервера кластер продолжает работатьСеансы на упавшем сервере всё равно обрываются

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

Ориентир по стоимости: серверная лицензия ПРОФ для 64-разрядного сервера стоит примерно 85–100 тыс. руб., КОРП — примерно в 2,5–3 раза дороже. Точную цену назовёт партнёр 1С на дату покупки.

Какой вариант кластера подходит вам?

Как настроить кластер 1С с нуля

Порядок для Windows Server 2016 и новее. На Linux шаги те же, меняются команды установки и запуск службы.

Шаг 1. Установка сервера

  1. Скачайте дистрибутив сервера 64-разрядной платформы той же версии, что у клиентов.
  2. В установщике отметьте компоненты «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия».
  3. Включите установку как службы Windows. Учётную запись лучше оставить предложенную USR1CV8 или указать отдельную доменную, без прав администратора.
  4. После установки откройте services.msc и убедитесь, что служба агента сервера запущена.

Версия платформы на клиентах и на сервере должна совпадать до номера сборки. Иначе клиент не подключится.

Шаг 2. Консоль администрирования

Консоль — это оснастка MMC. Если она не открывается или выдаёт ошибку загрузки, зарегистрируйте библиотеку от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"

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

В консоли щёлкните правой кнопкой по «Central 1C:Enterprise 8.3 servers», выберите создание центрального сервера и укажите имя машины. В дереве появится кластер «Локальный кластер» с портом 1541.

Шаг 3. Администраторы кластера

По умолчанию кластер открыт любому, кто может подключиться к порту 1540. Заведите администратора агента и администратора кластера: узел «Администраторы» в дереве кластера. Пароль запишите в хранилище паролей компании.

Если пароль администратора кластера потерян, не пересоздавайте кластер. Остановите службу в нерабочее время и восстановите каталог reg_1541 из резервной копии или обратитесь к тому, кто администрирует сервер.

Шаг 4. База на сервере

Базу создают в консоли (узел «Информационные базы» → «Создать») или из окна запуска 1С: «Добавить» → «Создание новой информационной базы» → вариант на сервере 1С:Предприятия. Понадобятся:

  • имя кластера (имя сервера, при нестандартном порте — server:1541);
  • имя базы в кластере;
  • тип СУБД, сервер СУБД, имя базы данных, пользователь и пароль СУБД;
  • флажок создания базы данных, если её ещё нет.

Шаг 5. Сеть и брандмауэр

Откройте входящие порты 1540, 1541, 1560–1591, при использовании rac — 1545. Порт СУБД (1433 для MS SQL, 5432 для PostgreSQL) открывайте только для сервера 1С.

Клиенты обращаются к серверу по имени. Если DNS не настроен, добавьте имя в файл hosts на клиентах — иначе подключение будет падать, хотя по IP сервер виден.

Шаг 6. Второй рабочий сервер (по необходимости)

На второй машине ставят сервер той же версии, затем в консоли основного кластера: узел «Рабочие серверы» → «Создать», указать имя машины и порт агента 1540. Чтобы сервер подхватил роль при отказе основного, в его свойствах включают флажок «Центральный сервер».

Кластер готов к работе, если
Выполнено: 0 / 7

Наблюдение за кластером 1С и настройка производительности

Что смотреть в консоли

  • 📋 Сеансы — кто работает, с какого компьютера, какое приложение, сколько времени занят вызов.
  • ⚙️ Рабочие процессы — потребляемая память, число соединений, «доступность» и среднее время вызова. Процесс с резко выросшим временем вызова — первый кандидат на разбор.
  • 🔐 Блокировки — какие сеансы держат управляемые блокировки на объектах.

То же из командной строки через сервер администрирования:

ras cluster --daemon
rac cluster list
rac session list --cluster=<uuid кластера>
rac process list --cluster=<uuid кластера>

Список остальных команд и параметров выдаёт rac help.

Параметры, которые стоит выставить сразу

ГдеПараметрОриентир
Свойства кластераИнтервал перезапуска рабочих процессов86400 секунд (раз в сутки) или 0, если утечек памяти нет
Свойства кластераДопустимый объём памяти рабочих процессов60–70 % памяти, выделенной под 1С
Свойства рабочего сервераКритический объём памяти процессовНиже физической памяти с запасом под ОС и СУБД
Свойства рабочего сервераКоличество ИБ на процесс, соединений на процессОставить по умолчанию, менять только при доказанной проблеме

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

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

Когда в консоли причина не видна, включают технологический журнал. Его настраивают файлом logcfg.xml в каталоге conf платформы, например C:\Program Files\1cv8\conf\logcfg.xml. Минимальная настройка, которая собирает исключения (события EXCP) — с неё удобно начинать разбор падений и ошибок на сервере:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

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

Технологический журнал без фильтров за час заполняет диск. Задавайте условия отбора, ставьте history и удаляйте файл настройки после разбора.

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

«Кластер в облаке» бывает двух видов:

  1. Аренда 1С у провайдера. Сервер, лицензии и обновления на стороне провайдера, вы платите за пользователя в месяц. Доступа к консоли кластера обычно нет.
  2. Свой кластер на арендованной виртуальной машине. Вы ставите сервер 1С и СУБД сами, покупаете лицензии и отвечаете за настройку.
КритерийАренда 1ССвой сервер в облакеСвой сервер в офисе
СтартЗа день2–5 днейОт недели, нужна закупка железа
ЛицензииВключены в тарифПокупаете самиПокупаете сами
Доступ к консоли и доработкамОграниченПолныйПолный
Зависимость от интернетаПолнаяПолнаяВнутри офиса работает без него
Ориентир затратПримерно 1–3 тыс. руб. на пользователя в месяцВиртуальная машина от 8–15 тыс. руб. в месяц плюс лицензииЖелезо от 300 тыс. руб. плюс лицензии

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

Частые ошибки при работе с кластером 1С

  • ❌ Разные версии платформы. Сервер обновили, клиентов — нет. Решение: держать дистрибутив клиента в общей папке и разрешить автоматическое обновление клиентов либо обновлять всех одновременно.
  • ❌ Сервер 1С и СУБД дерутся за память. MS SQL по умолчанию забирает всю свободную память. Ограничьте максимальный объём памяти СУБД, оставив запас под рабочие процессы 1С.
  • ❌ Открыт только порт 1540. Консоль и клиент соединяются с агентом, а дальше ошибка: закрыт диапазон рабочих процессов.
  • ❌ Служба под учётной записью без прав. Пользователю службы нужно право входа в качестве службы и полный доступ к каталогу srvinfo. Если его переименовали или сменили пароль — служба не стартует.
  • ❌ Антивирус проверяет srvinfo и файлы СУБД. Это замедляет работу в разы. Добавьте каталоги в исключения.
  • ❌ Очистка сеансовых данных «на горячую». Чистить папки snccntx* в reg_1541 можно только при остановленной службе. Остановка службы обрывает сеансы всех пользователей — делайте это вне рабочего времени, предупредив пользователей.

Частые вопросы

Можно ли поставить сервер 1С и СУБД на одну машину?
Да, для небольших компаний это обычная схема. Ограничьте память СУБД и используйте SSD под базы.
Сколько баз можно держать в одном кластере?
Жёсткого ограничения на практике нет: десятки баз в одном кластере — обычное дело. Ограничивают память, процессор и скорость дисков.
Нужна ли отдельная лицензия на каждый рабочий сервер?
Да. Каждый рабочий сервер кластера, который выполняет рабочие процессы, требует своей серверной лицензии.
Можно ли запустить два кластера на одной машине?
Да, с разными портами агента, менеджера и диапазоном рабочих процессов. Так делают, например, для тестовой версии платформы рядом с рабочей.
Чем «Центральный сервер» отличается от обычного рабочего?
Центральный сервер хранит реестр кластера и управляет им. Обычный рабочий сервер только выполняет вызовы. Если центральных серверов несколько, отказ одного не останавливает кластер.