Новый кластер на сервере 1С:Предприятия 8.3: от службы до первой базы

· 10 мин

Содержание

Кластер сервера 1С добавляют в оснастке «Администрирование серверов 1С Предприятия»: регистрируете центральный сервер (порт агента 1540), затем в узле Кластеры выбираете Создать → Кластер и задаёте свободный порт менеджера, например 1641. Если нужен кластер на другой версии платформы, ставят отдельную службу агента со своими портами (2540/2541) и регистрируют её так же.

Обычно всё упирается в мелочи: консоль не видит сервер, порты пересекаются с первым кластером, база создаётся, но лицензии не выдаются. Ниже — порядок действий для платформы 8.3 на Windows Server 2016 и новее, с отличиями для Linux там, где они есть.

Что подготовить на сервере до добавления кластера

При установке сервера 1С:Предприятия с флажком «Установить как сервис» инсталлятор создаёт службу агента и кластер по умолчанию — «Локальный кластер» на порту 1541. Для большинства задач этого хватает. Новый кластер нужен, когда вы хотите изолировать тестовые базы, разнести нагрузку или запустить вторую версию платформы.

Проверьте перед началом:

  • 🟢 служба «Агент сервера 1С:Предприятия 8.3» запущена (services.msc);
  • 👤 служба работает от отдельной учётной записи (обычно USR1CV8) с правом «Вход в качестве службы»;
  • 🔌 порты не заняты другими программами;
  • 🧱 в брандмауэре открыт входящий трафик на порты агента, менеджеров и рабочих процессов;
  • 🗄️ СУБД (MS SQL Server или PostgreSQL) доступна с сервера 1С, у вас есть логин с правом создавать базы.

Занятость портов смотрят так:

netstat -ano | findstr ":1540 :1541 :1560 :1641"

С рабочей станции администратора доступность проверяют в PowerShell:

Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541

Какие порты понадобятся

ПортКто слушаетГде задаётся
1540агент сервера (ragent)параметр -port службы агента
1541менеджер «Локального кластера»параметр -regport службы агента
1560:1591рабочие процессы и доп. менеджерысвойства рабочего сервера, «Диапазоны IP портов»
1641менеджер нового кластера (пример)свойства кластера при создании
1660:1691рабочие процессы нового кластера (пример)свойства рабочего сервера нового кластера
1545сервер администрирования (ras)параметр --port службы ras

Диапазоны портов разных кластеров не должны пересекаться. Если новый кластер получит тот же диапазон 1560:1591, рабочие процессы будут конфликтовать и пользователи начнут вылетать с ошибками соединения.

Регистрация консоли администрирования

Оснастка MMC работает только после регистрации библиотеки radmin.dll. Её берут из папки той же версии платформы, что и сервер. Запустите командную строку от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1586\bin\radmin.dll"

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

Как добавить кластер сервера в консоли администрирования

Откройте «Администрирование серверов 1С Предприятия» из меню «Пуск». В дереве слева — узел Central 1C:Enterprise 8.3 servers (в русской сборке — «Центральные серверы 1С:Предприятия 8.3»).

Шаг 1. Зарегистрировать центральный сервер

  1. Щёлкните правой кнопкой по узлу центральных серверов → Создать → Центральный сервер 1С:Предприятия 8.3.
  2. В поле «Имя» укажите сетевое имя машины, например srv1c. Лучше имя, а не IP: клиенты и консоль должны разрешать его одинаково.
  3. «IP порт» оставьте 1540, если агент стоит на стандартных портах.
  4. Нажмите «ОК». Сервер появится в дереве, внутри — папки «Администраторы» и «Кластеры».

Шаг 2. Создать новый кластер

  1. Разверните сервер, щёлкните правой кнопкой по папке Кластеры → Создать → Кластер.
  2. Заполните «Описание» — понятное имя, например «Тестовые базы».
  3. «Компьютер» — то же имя srv1c.
  4. «IP порт» — свободный порт менеджера кластера, например 1641.
  5. «Уровень безопасности» оставьте «Небезопасное соединение», если не настраивали защищённое.
  6. Нажмите «ОК».

Шаг 3. Проверить рабочий сервер нового кластера

Разверните новый кластер и откройте узел «Рабочие серверы». Если сервера там нет, создайте его через контекстное меню: имя компьютера srv1c, IP порт 1641, диапазон портов 1660:1691. Флажок «Центральный сервер» должен стоять — иначе кластеру некому управлять.

Шаг 4. Назначить администратора кластера

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

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

Второй кластер на другой версии платформы

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

sc create "1C:Enterprise 8.3 Server Agent 2541" binPath= "\"C:\Program Files\1cv8\8.3.24.1586\bin\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"D:\srvinfo2541\" -debug" start= auto obj= ".\USR1CV8" password= "ПарольСлужбы"

Что означают ключи:

  • -port 2540 — порт агента;
  • -regport 2541 — порт менеджера кластера по умолчанию;
  • -range 2560:2591 — диапазон для рабочих процессов;
  • -d — каталог реестра кластера (srvinfo), у каждой службы свой;
  • -debug — разрешить отладку на сервере, для рабочих баз ключ можно убрать.

Запустите службу, затем в консоли зарегистрируйте центральный сервер с портом 2540. Чтобы консоль подключилась, radmin.dll должна быть той же версии, что и этот агент.

💡 На Linux вторую копию запускают отдельным systemd-юнитом с теми же ключами -port, -regport, -range и -d. Каталог реестра по умолчанию там — /home/usr1cv8/.1cv8/1C/1cv8, для второй копии укажите другой.

Добавление кластера из командной строки через rac

Консоль MMC есть только в Windows. На Linux и в скриптах кластером управляют утилитой rac, которая общается с сервером администрирования ras. Сначала запустите ras.

На Windows его регистрируют службой:

sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1586\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto

На Linux ras можно запустить фоном: ras cluster --daemon.

Дальше проверьте, что видно сейчас, и добавьте кластер:

rac localhost:1545 cluster list
rac localhost:1545 cluster insert --host=srv1c --port=1641 --name="Тестовые базы"

Команда cluster list вернёт идентификатор (cluster) каждого кластера. Он понадобится во всех следующих командах. Если у кластера уже есть администратор, добавляйте к командам --cluster-user и --cluster-pwd. Для рабочих серверов и администраторов ключи смотрите в rac help server и rac help cluster — они отличаются между релизами платформы.

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

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

Свойства кластера

Правой кнопкой по кластеру → «Свойства»:

  • ⏱️ Интервал перезапуска — через сколько секунд рабочие процессы перезапускаются. 86400 — раз в сутки, 0 — без перезапуска. Перезапуск идёт с перехватом соединений, но тяжёлые операции в момент перезапуска могут прерваться.
  • 💾 Допустимый объём памяти и Интервал превышения — если процесс держит больше лимита дольше интервала, кластер его перезапускает.
  • 🛡️ Уровень отказоустойчивости — сколько рабочих серверов может выйти из строя без остановки кластера. Для одного сервера оставьте 0.
  • ⚖️ Режим распределения нагрузки — «По производительности» или «По памяти».

Свойства рабочего сервера

Узел «Рабочие серверы» → сервер → «Свойства»:

ПараметрЧто делаетС чего начать
Диапазоны IP портовпорты рабочих процессов1660:1691 для второго кластера
Количество ИБ на процесссколько баз обслуживает один процесспо умолчанию 8; 1 — отдельный процесс на базу
Количество соединений на процесспредел соединений до запуска нового процессапо умолчанию 128
Максимальный объём памяти рабочих процессовобщий потолок памяти всех процессов сервера~80% RAM, если на машине нет СУБД
Безопасный расход памяти за один вызовобрывает «прожорливый» серверный вызоввключайте, если отчёты съедают всю память
Менеджер под каждый сервисвыносит сервисы кластера в отдельные процессыдля нагруженных кластеров

💡 Если на одной машине стоят и сервер 1С, и СУБД, сначала ограничьте память СУБД, а уже потом рабочих процессов. Иначе они будут отнимать её друг у друга.

Создание информационной базы в добавленном кластере

Базу можно создать двумя способами. В консоли: кластер → «Информационные базы» → Создать → Информационная база. Заполните поля:

  1. Имя — имя базы в кластере, латиницей без пробелов, например bp_test.
  2. Защищённое соединение — «Выключено», если не настраивали.
  3. Сервер баз данных — имя сервера СУБД (для именованного экземпляра MS SQL — sqlsrv\INSTANCE).
  4. Тип СУБД — MSSQLServer или PostgreSQL.
  5. База данных — имя базы в СУБД.
  6. Пользователь и пароль сервера БД — логин СУБД с правами на базу.
  7. Разрешить выдачу лицензий сервером 1С:Предприятия — «Да», если лицензии стоят на сервере.
  8. Смещение дат — для MS SQL ставьте 2000, для PostgreSQL — 0.
  9. Флажок «Создать базу данных в случае её отсутствия» — если базы в СУБД ещё нет.

Второй способ — из окна запуска 1С: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия. В поле «Кластер серверов 1С:Предприятия» укажите сервер с портом менеджера, если он нестандартный:

srv1c:1641

То же правило действует для клиентов. Строка подключения к базе в новом кластере выглядит как Srvr="srv1c:1641";Ref="bp_test";. Без порта клиент постучится в «Локальный кластер» на 1541 и сообщит, что базы нет.

Лицензии и сеансы в кластере

Серверная лицензия нужна на каждую машину, где работают рабочие процессы. Программную лицензию активируют на самом сервере, файлы лицензий хранятся в C:\ProgramData\1C\licenses (на Linux — /var/1C/licenses). Аппаратный ключ требует установленного драйвера HASP.

Клиентские лицензии сервер выдаёт, только если:

  • ✅ у базы стоит «Разрешить выдачу лицензий сервером 1С:Предприятия: Да»;
  • ✅ лицензии активированы на сервере или ключ подключён к нему.

Узел «Сеансы» внутри базы или кластера показывает, кто подключён, с какого компьютера и какую лицензию занимает. Из командной строки то же самое:

rac localhost:1545 session list --cluster=<id_кластера> --licenses

Блокировка входа на время работ

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

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

Диагностика: журналы и частые сбои кластера

Когда кластер добавлен, а что-то не работает , смотрите в трёх местах.

  1. Журнал событий Windows → «Приложение», источник 1С:Предприятие. Сюда агент пишет ошибки запуска и падения процессов.
  2. Каталог реестра кластера — srvinfo\reg_1641 для нового кластера. Там лежат список баз 1CV8Clst.lst и журналы регистрации каждой базы в подпапках <GUID базы>\1Cv8Log.
  3. Технологический журнал — включается файлом logcfg.xml в каталоге conf платформы. Начните с событий EXCP и PROC, а после разбора выключите: журнал быстро съедает диск.
Диагностика: выберите симптом

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

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

Сколько кластеров может быть на одном сервере 1С?
Жёсткого предела в консоли нет. Практическое ограничение — память и порты: каждому кластеру нужен свой порт менеджера и непересекающийся диапазон рабочих процессов.
Нужна ли отдельная серверная лицензия на второй кластер?
Лицензия привязана к компьютеру, а не к кластеру. Если оба кластера работают на одной машине под одним агентом, отдельная серверная лицензия обычно не нужна.
Можно ли перенести базу из одного кластера в другой?
Да. Зарегистрируйте в новом кластере базу с тем же именем базы в СУБД, а из старого кластера удалите регистрацию без удаления данных в СУБД. Пользователям поменяйте строку подключения.
Как сделать новый кластер доступным из интернета?
Напрямую открывать порты кластера наружу не стоит. Обычно используют VPN или публикацию базы на веб-сервере.
Чем кластер отличается от рабочего сервера?
Кластер — логическое объединение баз и процессов. Рабочий сервер — физическая машина в нём. В один кластер можно добавить несколько рабочих серверов для распределения нагрузки.