Новый кластер на сервере 1С:Предприятия 8.3: от службы до первой базы
Содержание
Кластер сервера 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С:Предприятия 8.3. - В поле «Имя» укажите сетевое имя машины, например
srv1c. Лучше имя, а не IP: клиенты и консоль должны разрешать его одинаково. - «IP порт» оставьте
1540, если агент стоит на стандартных портах. - Нажмите «ОК». Сервер появится в дереве, внутри — папки «Администраторы» и «Кластеры».
Шаг 2. Создать новый кластер
- Разверните сервер, щёлкните правой кнопкой по папке
Кластеры→Создать → Кластер. - Заполните «Описание» — понятное имя, например «Тестовые базы».
- «Компьютер» — то же имя
srv1c. - «IP порт» — свободный порт менеджера кластера, например
1641. - «Уровень безопасности» оставьте «Небезопасное соединение», если не настраивали защищённое.
- Нажмите «ОК».
Шаг 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С, и СУБД, сначала ограничьте память СУБД, а уже потом рабочих процессов. Иначе они будут отнимать её друг у друга.
Создание информационной базы в добавленном кластере
Базу можно создать двумя способами. В консоли: кластер → «Информационные базы» → Создать → Информационная база. Заполните поля:
- Имя — имя базы в кластере, латиницей без пробелов, например
bp_test. - Защищённое соединение — «Выключено», если не настраивали.
- Сервер баз данных — имя сервера СУБД (для именованного экземпляра MS SQL —
sqlsrv\INSTANCE). - Тип СУБД — MSSQLServer или PostgreSQL.
- База данных — имя базы в СУБД.
- Пользователь и пароль сервера БД — логин СУБД с правами на базу.
- Разрешить выдачу лицензий сервером 1С:Предприятия — «Да», если лицензии стоят на сервере.
- Смещение дат — для MS SQL ставьте
2000, для PostgreSQL —0. - Флажок «Создать базу данных в случае её отсутствия» — если базы в СУБД ещё нет.
Второй способ — из окна запуска 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
Блокировка входа на время работ
Для регламентных работ откройте свойства базы и включите «Блокировка начала сеансов включена». Задайте время начала и конца, сообщение для пользователей и код разрешения. С этим кодом администратор войдёт, остальные — нет.
Удаление сеанса в консоли обрывает работу пользователя: несохранённые документы пропадут. Предупредите людей заранее и делайте это вне рабочего времени.
Диагностика: журналы и частые сбои кластера
Когда кластер добавлен, а что-то не работает , смотрите в трёх местах.
- Журнал событий Windows → «Приложение», источник 1С:Предприятие. Сюда агент пишет ошибки запуска и падения процессов.
- Каталог реестра кластера —
srvinfo\reg_1641для нового кластера. Там лежат список баз1CV8Clst.lstи журналы регистрации каждой базы в подпапках<GUID базы>\1Cv8Log. - Технологический журнал — включается файлом
logcfg.xmlв каталогеconfплатформы. Начните с событийEXCPиPROC, а после разбора выключите: журнал быстро съедает диск.
Перезапуск службы агента рвёт сеансы всех кластеров этой службы, не только нового. Перезапускайте её вечером или после блокировки начала сеансов.