Кластер серверов 1С:Предприятие 8.3: от установки до мониторинга
Содержание
Кластер серверов 1С настраивают в консоли «Администрирование серверов 1С:Предприятия»: регистрируют центральный сервер, задают свойства кластера и рабочего сервера, затем создают в кластере информационные базы с привязкой к СУБД. Сам кластер «Локальный кластер» появляется автоматически, когда при установке сервер 1С регистрируется как служба Windows и стартует агент.
Вариантов настройки два. Через графическую консоль — удобно на Windows и для разовых задач. Через утилиту rac и сервер администрирования ras — для Linux, скриптов и удалённого управления. Ниже оба пути для платформы 8.3 на Windows Server 2016 и новее; для Linux отличается только установка и запуск службы.
Из чего состоит кластер серверов 1С
Кластер — это группа процессов, которые обслуживают клиентские подключения к базам. Даже на одном компьютере это несколько отдельных программ.
| Компонент | Процесс | Порт по умолчанию | Что делает |
|---|---|---|---|
| Агент сервера | ragent | 1540 | Принимает первое обращение клиента и консоли, хранит список кластеров на сервере |
| Менеджер кластера | rmngr | 1541 | Управляет кластером: реестр баз, сеансы, лицензии, распределение нагрузки |
| Рабочие процессы | rphost | 1560–1591 | Выполняют код конфигурации и обращаются к СУБД |
| Сервер администрирования | ras | 1545 | Нужен только для rac и сторонних консолей |
Порядок подключения клиента такой: клиент стучится к агенту на 1540, агент передаёт его менеджеру кластера на 1541, менеджер назначает рабочий процесс из диапазона портов. Поэтому открыть в брандмауэре только 1540 недостаточно.
🔹 Центральный сервер — компьютер, на котором работает главный менеджер кластера. Он хранит реестр кластера. 🔹 Рабочий сервер — любой компьютер кластера, где запускаются рабочие процессы. Центральный сервер тоже обычно рабочий. 🔹 Сервер СУБД — MS SQL Server, PostgreSQL, IBM Db2 или Oracle. Может стоять на той же машине или отдельно.
Настройки кластера хранятся в каталоге srvinfo. На Windows по умолчанию это C:\Program Files\1cv8\srvinfo. Главный файл реестра — 1CV8Clst.lst в подкаталоге reg_1541.
Подготовка сервера и установка платформы
Перед установкой решите три вопроса: где будет СУБД, какие порты открыть и под какой учётной записью пойдёт служба.
Что проверить заранее
- 🖥️ Разрядность. Ставьте 64-битный сервер 1С: 32-битный упирается в память одного процесса.
- 🌐 Имя компьютера. Клиенты подключаются по имени, оно должно разрешаться через DNS со всех рабочих мест. Переименовывать сервер после настройки кластера неудобно: имя записано в реестре кластера.
- 🔥 Брандмауэр. Входящие правила для TCP 1540, 1541, 1560–1591, а если нужен
rac— ещё 1545. Порт СУБД (1433 для MS SQL, 5432 для PostgreSQL) открывайте только для серверов 1С, не для всей сети. - 🗄️ СУБД. Для PostgreSQL берите сборку, адаптированную для 1С: обычная сборка из репозитория дистрибутива не подходит. Для MS SQL заведите отдельный логин с правом создавать базы.
- 🔑 Лицензия сервера. Программная лицензия или аппаратный ключ должны быть под рукой до первого запуска базы.
Установка компонентов
- Запустите
setup.exeиз дистрибутива технологической платформы (полный дистрибутив, не тонкий клиент). - Отметьте компоненты «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». На рабочие места консоль не нужна.
- На шаге установки сервера включите «Установить сервер 1С:Предприятия 8 как сервис Windows».
- Оставьте пользователя
USR1CV8или укажите доменную учётную запись. Установщик создаст локального пользователя сам, если выбрать вариант по умолчанию. - После установки откройте
services.mscи убедитесь, что служба «Агент сервера 1С:Предприятия 8.3» запущена и стоит в автозапуске.
Строка запуска службы выглядит примерно так (номер версии свой):
"C:\Program Files\1cv8\8.3.24.1467\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Ключи -port, -regport и -range задают те самые порты из таблицы. Если на одном компьютере нужно два кластера (например, разных версий платформы), второй поднимают на смещённых портах: 2540, 2541, 2560:2591 — и с отдельным каталогом srvinfo.
Учётной записи службы нужны права на каталог srvinfo и на каталог временных файлов. Если служба стартует и сразу падает, первым делом проверьте именно права.
Настройка кластера 1С в консоли администрирования
Консоль — это оснастка MMC. Если при запуске она ругается или открывается пустой, зарегистрируйте библиотеку radmin.dll той версии платформы, что стоит на сервере. Командная строка от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
Версия консоли и сервера должна совпадать. Консоль от 8.3.22 к серверу 8.3.24 не подключится, это частая причина ошибки при попытке открыть кластер.
Регистрация центрального сервера
- Откройте «Администрирование серверов 1С Предприятия».
- Правой кнопкой по узлу «Центральные серверы 1С:Предприятия 8.3» →
Создать → Центральный сервер 1С:Предприятия 8.3. - Укажите имя компьютера, протокол TCP и порт 1540.
- Раскройте сервер →
Кластеры. Там уже есть «Локальный кластер» на порту 1541.
Свойства кластера
Откройте свойства кластера правой кнопкой. Ключевые параметры:
| Параметр | Что даёт | С чего начать |
|---|---|---|
| Интервал перезапуска | Плановый перезапуск рабочих процессов, лечит утечки памяти | 86400 с (раз в сутки) или 0, если перезапуск не нужен |
| Допустимый объём памяти | Порог, после которого процесс считается проблемным | По объёму ОЗУ сервера, оставив запас СУБД |
| Принудительно завершать проблемные процессы | Автоматически гасит процесс, превысивший порог | Включать осознанно |
| Уровень отказоустойчивости | Сколько рабочих серверов может отказать без остановки работы | 0 для одного сервера |
| Режим распределения нагрузки | Приоритет по производительности или по памяти | По производительности |
Принудительное завершение рабочего процесса обрывает все сеансы, которые он обслуживал. Пользователи потеряют несохранённые данные. Включайте этот флажок вместе с разумным порогом памяти, а не «на всякий случай».
Администраторы кластера
Пока в узле Администраторы никого нет, кластером может управлять любой, кто дотянулся до порта 1540. Добавьте администратора с паролем: правой кнопкой → Создать → Администратор. После этого консоль и rac будут спрашивать логин.
Пароль запишите в хранилище паролей. При его потере придётся останавливать службу и восстанавливать каталог srvinfo из резервной копии.
Свойства рабочего сервера
Узел Рабочие серверы → свойства сервера. Здесь, а не в кластере, задаются:
- 📌 диапазон портов рабочих процессов;
- 📌 количество информационных баз и соединений на один процесс;
- 📌 безопасный расход памяти за один вызов;
- 📌 флажок «Центральный сервер» и признак «Менеджер под каждый сервис»;
- 📌 требования назначения функциональности — какие сервисы (лицензирование, фоновые задания, работа с базами) этот сервер берёт на себя.
Второй рабочий сервер добавляют здесь же: Создать → Рабочий сервер, имя второго компьютера, порт 1540. На нём должна стоять та же версия платформы с запущенной службой агента.
Регистрация информационных баз и подключение к СУБД
Базу в кластере можно создать двумя способами: в консоли или из окна запуска 1С. Результат одинаковый.
Создание базы в консоли
- Кластер →
Информационные базы→ правой кнопкой →Создать → Информационная база. - Имя — так база будет называться в кластере. Его вводят пользователи при подключении, поэтому без пробелов и кириллицы удобнее.
- Защищённое соединение — обычно «Выключено» в локальной сети.
- Сервер баз данных — имя сервера СУБД, для именованного экземпляра MS SQL через обратный слэш:
SQLSRV\INST1. - Тип СУБД — MS SQL Server, PostgreSQL, IBM DB2 или Oracle Database.
- База данных, пользователь и пароль сервера БД.
- Смещение дат — 2000 для MS SQL Server, для PostgreSQL оставьте 0.
- Флажок «Создать базу данных в случае её отсутствия», если базы в СУБД ещё нет.
- «Разрешить выдачу лицензий сервером 1С:Предприятия» — «Да», если клиентские лицензии стоят на сервере.
Флажок «Установить блокировку регламентных заданий» включайте для копий рабочих баз. Иначе тестовая копия начнёт отправлять отчёты, обмениваться данными и загружать банковские выписки от имени рабочей.
Подключение пользователей
В окне запуска 1С: Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия. Указываете кластер серверов (имя центрального сервера, при нестандартном порте через двоеточие: srv1c:2541) и имя базы в кластере.
Перенос существующей файловой базы в кластер — через выгрузку .dt: в Конфигураторе файловой базы Администрирование → Выгрузить информационную базу, затем в пустой серверной базе Администрирование → Загрузить информационную базу. Загрузка .dt требует монопольного доступа и заменяет все данные в базе-приёмнике.
Рабочие процессы и лицензирование
Рабочие процессы rphost менеджер кластера запускает сам. Их число зависит от настроек рабочего сервера: сколько баз и соединений допускается на один процесс. На небольшой базе на 20–30 пользователей обычно хватает одного-двух процессов.
Как распределяются лицензии
- 🔐 Лицензия на сервер нужна всегда. Без неё серверная база не запустится. Для 64-битного сервера нужна соответствующая лицензия, 32-битная к нему не подойдёт.
- 👥 Клиентские лицензии можно держать на каждом рабочем месте или на сервере. Во втором случае в свойствах базы включают выдачу лицензий сервером.
- 🏷️ Программные лицензии на Windows хранятся в
C:\ProgramData\1C\licenses. При переносе на новое железо их нужно активировать заново по пин-коду, а не копировать файлы.
Какой сеанс какую лицензию получил, видно в консоли в списке сеансов базы. Из командной строки то же самое показывает rac session list --licenses.
Если серверов несколько
Сервис лицензирования работает на том рабочем сервере, которому он назначен в требованиях назначения функциональности. Программную лицензию сервера активируют на том компьютере, где она будет использоваться: она привязана к его оборудованию. Если в кластере два рабочих сервера и важна отказоустойчивость, лицензия нужна на каждом из них.
Управление кластером из командной строки: ras и rac
На Linux графической консоли нет, а на Windows скрипты удобнее для регулярных задач. Схема такая: на сервере запускается ras, утилита rac подключается к нему по порту 1545.
Запуск ras как службы Windows:
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1467\bin\ras.exe\" cluster --service --port=1545 localhost:1540" DisplayName= "Сервер администрирования 1С" start= auto
sc start "1C:Enterprise 8.3 Remote Server"
Базовые команды rac, которые точно есть в 8.3:
rac localhost:1545 cluster list
rac localhost:1545 infobase summary list --cluster=<UUID кластера> --cluster-user=admin --cluster-pwd=***
rac localhost:1545 session list --cluster=<UUID кластера> --cluster-user=admin --cluster-pwd=***
rac localhost:1545 process list --cluster=<UUID кластера> --cluster-user=admin --cluster-pwd=***
Первая команда выдаёт UUID кластера, его подставляют во все остальные. Полный перечень режимов и параметров показывает rac help и rac help <режим>, например rac help infobase.
Пароль администратора в строке команды остаётся в истории оболочки. В скриптах передавайте его через переменную окружения или файл с ограниченным доступом.
Мониторинг и диагностика проблем кластера
Ежедневный контроль занимает пару минут в консоли.
Рабочие процессы— колонки памяти, числа соединений и доступной производительности. Процесс, который за день вырос в разы и не освобождает память, — кандидат на утечку в коде конфигурации.Сеансыбазы — кто подключён, с какого компьютера, сколько висит без активности.Блокировки— какие объекты держат сеансы. Длинный список по одному сеансу указывает на зависшую транзакцию.
Для разбора медленных операций включают технологический журнал: файл logcfg.xml в каталоге conf платформы. В нём описывают, какие события писать (например, EXCP, TLOCK, DBMSSQL) и куда. Журнал быстро растёт, поэтому задавайте ограничение по сроку хранения и включайте его на время расследования.
Ошибки старта службы смотрите в журнале событий Windows, раздел «Приложение», источник — 1С:Предприятие.
Очистка сеансовых данных
Когда кластер ведёт себя странно после сбоя питания или обновления платформы (база не открывается, хотя всё настроено верно), чистят сеансовые данные: каталоги snccntx* в srvinfo\reg_1541.
Это делают только при остановленной службе агента, вне рабочего времени. Остановка службы обрывает все сеансы всех баз кластера. Порядок: предупредить пользователей → остановить службу → сохранить копию каталога srvinfo → удалить только каталоги snccntx* → запустить службу. Файл 1CV8Clst.lst не трогайте: в нём список баз кластера.