Подключение к кластеру 1С:Предприятия 8.3 для администратора
Содержание
Зайти в кластер серверов
1С можно двумя штатными способами: через консоль Администрирование серверов 1С Предприятия (оснастка MMC, работает напрямую с агентом сервера на порту 1540) или через утилиту командной строки rac, которой нужен запущенный сервер администрирования ras (по умолчанию порт 1545). Если в кластере заданы администраторы, при входе потребуется их имя и пароль.
Порядок входа одинаков для серверов на Windows и Linux, разница только в инструменте. Всё относится к платформе 8.3 и не зависит от конфигурации: БП, ЗУП и УТ работают в кластере одинаково.
Как устроен кластер и куда именно вы подключаетесь
Перед входом полезно понимать, с каким процессом говорит консоль. На каждом сервере 1С работает несколько процессов:
| Процесс | Что делает | Порт по умолчанию |
|---|---|---|
ragent — агент сервера | Принимает подключения консоли и клиентов, хранит список кластеров и администраторов центрального сервера | 1540 |
rmngr — менеджер кластера | Управляет кластером: базы, сеансы, блокировки, распределение нагрузки | 1541 |
rphost — рабочий процесс | Выполняет код конфигурации, обслуживает соединения | диапазон 1560:1591 |
ras — сервер администрирования | Даёт доступ к кластеру для rac и сторонних утилит | 1545 |
🔹 Консоль MMC всегда подключается к агенту (1540), а дальше агент сообщает адрес менеджера кластера.
🔹 Утилита rac к агенту напрямую не ходит: она обращается к ras, а уже ras — к агенту.
🔹 В рабочий процесс rphost «зайти» нельзя. Его видно в консоли в ветке «Рабочие процессы», там же смотрят память, число соединений и доступность.
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, а не кластера. Если вы его меняли, открывать в брандмауэре нужно новый диапазон.
Вход в кластер серверов 1С через консоль администрирования
Консоль ставится вместе с платформой: в программе установки отметьте компонент «Администрирование сервера 1С:Предприятия». После установки ярлык появляется в меню «Пуск» в папке 1С:Предприятие 8.
Шаг 1. Зарегистрируйте radmin.dll
Это главный приём, без которого консоль чаще всего не открывается или выдаёт пустое окно с ошибкой. Библиотека radmin.dll должна быть зарегистрирована от той же версии платформы, что и на сервере.
Откройте командную строку от имени администратора и выполните (номер версии подставьте свой):
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Должно появиться окно об успешной регистрации. Для 32-разрядной платформы путь будет в C:\Program Files (x86)\1cv8\....
Разрядность консоли и библиотеки должна совпадать. 64-разрядная MMC не видит 32-разрядную radmin.dll, и наоборот.
После обновления платформы на сервере повторите регистрацию от нового каталога bin. Консоль старой версии к серверу новой версии не подключится.
Шаг 2. Добавьте центральный сервер
- Запустите консоль
Администрирование серверов 1С Предприятия. - В дереве слева правой кнопкой щёлкните по корневому узлу «Central 1C:Enterprise 8.3 servers».
- Выберите
Создать → Центральный сервер 1С:Предприятия 8.3. - Укажите протокол
tcp, имя компьютера сервера (лучше то, под которым он зарегистрирован в кластере) и IP-порт1540. - Нажмите «ОК» — сервер появится в дереве.
Шаг 3. Раскройте кластер
Разверните сервер, затем ветку «Кластеры». По умолчанию там один кластер — «Локальный кластер» на порту 1541. Внутри доступны ветки:
- 📂 Информационные базы — список баз, их свойства, блокировка регламентных заданий;
- 👥 Сеансы и Соединения — кто работает, какую лицензию занял, с какого компьютера;
- 🔒 Блокировки — объектные блокировки менеджера;
- ⚙️ Рабочие процессы и Рабочие серверы — нагрузка и параметры;
- 🛡 Администраторы — список администраторов кластера.
Если при раскрытии кластера консоль просит имя и пароль — в кластере заданы администраторы, нужна их учётная запись (о правах — ниже).
Доступ через RAS и утилиту rac
На сервере под Linux оснастки MMC нет. Там кластер администрируют через rac либо подключаются консолью с Windows-машины по сети. На Windows rac тоже удобен — для скриптов и быстрых проверок.
Запуск сервера администрирования
Для разового запуска хватит команды из каталога bin платформы:
ras cluster --port=1545 localhost:1540
Чтобы ras работал постоянно, зарегистрируйте его службой Windows (путь и версию подставьте свои):
sc create "1C:Enterprise 8.3 Remote Server" binpath= "\"C:\Program Files\1cv8\8.3.24.1548\bin\ras.exe\" cluster --service --port=1545 localhost:1540" displayname= "1C:Enterprise 8.3 Remote Server" start= auto
sc start "1C:Enterprise 8.3 Remote Server"
На Linux ras запускают в режиме демона: ras cluster --daemon.
Первые команды rac
rac localhost:1545 cluster list
Команда выведет параметры кластера, главное из них — идентификатор cluster. Его подставляют во все следующие команды:
rac localhost:1545 infobase summary list --cluster=<id_кластера> --cluster-user=admin --cluster-pwd=Пароль
rac localhost:1545 session list --cluster=<id_кластера> --cluster-user=admin --cluster-pwd=Пароль
Если администраторы кластера не заданы, ключи --cluster-user и --cluster-pwd не нужны. Полный перечень режимов и параметров смотрите в справке rac help и rac help session: синтаксис немного меняется между версиями платформы.
Графические надстройки и сторонние утилиты
Кроме штатной консоли существуют сторонние графические инструменты и модули PowerShell. Почти все они работают через тот же ras или через COM-соединитель V83.COMConnector. Поэтому правила для них общие:
- ✅ на сервере запущен
ras(для утилит на базе RAS); - ✅ версия клиентской части совпадает с версией платформы на сервере;
- ✅ у учётной записи есть права администратора кластера.
Ещё один «вход» есть внутри самой базы. Типовые конфигурации на БСП при блокировке работы пользователей (Администрирование → Обслуживание → Блокировка работы пользователей) запрашивают параметры администрирования кластера: имя и пароль администратора кластера и администратора базы. Это то же подключение к кластеру, только из интерфейса 1С.
Права и аутентификация администратора кластера
В 1С три независимых уровня учётных записей, и их часто путают:
| Уровень | Где задаётся | Что разрешает |
|---|---|---|
| Администратор центрального сервера (агента) | Ветка «Администраторы» центрального сервера в консоли | Создавать и удалять кластеры, управлять самим агентом |
| Администратор кластера | Ветка «Администраторы» внутри кластера | Базы, сеансы, рабочие процессы, блокировки |
| Пользователь информационной базы | Список пользователей в самой базе | Открывать свойства конкретной базы в консоли, создавать базу |
🔐 Пока список администраторов пуст, в кластер может зайти любой, кто достучался до сервера по сети. Для рабочего сервера так оставлять нельзя.
Как добавить администратора кластера
- В консоли раскройте кластер → «Администраторы».
- Правой кнопкой →
Создать → Администратор. - Задайте имя и пароль. Либо отметьте аутентификацию операционной системы и укажите доменного пользователя в формате
\\ДОМЕН\Пользователь. - Сохраните. Теперь при раскрытии кластера консоль спросит эти данные.
Через rac список смотрят командами rac cluster admin list --cluster=<id> и rac agent admin list (для агента — с ключами --agent-user и --agent-pwd).
Когда спрашивают пользователя базы
Если открыть свойства конкретной информационной базы, консоль дополнительно попросит имя и пароль пользователя этой базы с административными правами. Администратор кластера тут не подойдёт — это учётная запись из списка пользователей конфигурации.
Если пароль администратора кластера утерян, не пересоздавайте кластер. Правильный путь — остановить службу агента (у всех пользователей оборвутся сеансы, делайте это в нерабочее время), восстановить файл реестра кластера 1CV8Clst.lst из каталога srvinfo\reg_1541 из резервной копии и снова запустить службу. Нет копии — обратитесь к администратору, который настраивал сервер.
Почему не удаётся зайти в кластер: диагностика
Сначала определите, на каком этапе обрывается подключение: консоль не запускается, сервер не отвечает или не принимается пароль.
radmin.dll или зарегистрирована не той разрядности. Выполните regsvr32 от имени администратора из каталога bin нужной версии платформы.radmin.dll.1540 или 1541, либо имя сервера не разрешается. Проверьте ping по имени и Test-NetConnection сервер -Port 1540 в PowerShell, добавьте запись в DNS или в файл hosts.1560:1591 или он изменён в свойствах рабочего сервера. Откройте нужный диапазон в брандмауэре.ras или указан не тот порт. Проверьте службу и вызывайте rac с явным адресом сервер:1545.Частая ловушка с именем сервера
Кластер запоминает имя компьютера, под которым был зарегистрирован рабочий сервер. Агент сообщает это имя клиентам, и клиент дальше ищет менеджер кластера уже по нему.
Поэтому возможна ситуация: вы подключились по IP-адресу, а следующий шаг падает. Причина — с вашего компьютера не разрешается имя сервера. Решение — запись в DNS или строка в C:\Windows\System32\drivers\etc\hosts:
192.168.1.10 srv-1c
Вход в распределённый кластер из нескольких серверов
В кластере может быть несколько рабочих серверов. У каждого свой агент, но администрируется кластер как единое целое.
- 🖥 Подключайтесь к любому центральному серверу кластера — у рабочего сервера в свойствах есть флажок «Центральный сервер». Через обычный рабочий сервер без этого флажка кластер не администрируют.
- 📋 Список администраторов кластера общий: заведённый один раз, он действует на всех серверах.
- 🔁 При настроенном резервировании кластеров входите в основной кластер. Изменения, сделанные там, переносятся на резервный.
- 🌐 Порты
1540,1541и диапазон рабочих процессов должны быть открыты между всеми серверами кластера, а не только от клиентов к серверу. - 🕐 Время на серверах синхронизируйте с одним источником: расхождение часов даёт трудноуловимые сбои.
Параметры отказоустойчивости и требования назначения функциональности задаются в свойствах рабочего сервера. Именно там решают, какой сервер принимает сеансы, а какой выполняет фоновые задания.
На Linux-серверы кластера удобно заходить консолью MMC с Windows-машины администратора. Главное — совпадение версий платформы и открытые порты.
Автоматизация: вход в кластер скриптом
Скрипт на rac пригодится для мониторинга сеансов, ночного отчёта о лицензиях или подготовки к обновлению. Пароль не храните в тексте скрипта — читайте его из переменной окружения или защищённого хранилища.
Пример на bat: список сеансов с лицензиями
@echo off
set RAC="C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
set RAS=srv-1c:1545
rem Получаем идентификатор первого кластера
for /f "tokens=2 delims=: " %%i in ('%RAC% %RAS% cluster list ^| findstr /b "cluster"') do set CL=%%i
%RAC% %RAS% session list --cluster=%CL% --cluster-user=%RAC_USER% --cluster-pwd=%RAC_PWD% --licenses > sessions.txt
echo Готово: sessions.txt
Переменные RAC_USER и RAC_PWD задайте в параметрах задачи планировщика или в окружении служебной учётной записи.
Пример на PowerShell: проверка доступности
$server = "srv-1c"
foreach ($port in 1540, 1541, 1545) {
$r = Test-NetConnection -ComputerName $server -Port $port -WarningAction SilentlyContinue
"{0}:{1} — {2}" -f $server, $port, ($(if ($r.TcpTestSucceeded) {"открыт"} else {"закрыт"}))
}
Скрипт за пару секунд показывает, какой из портов закрыт. С этого удобно начинать разбор жалобы «не подключается».
COM-соединитель
Из 1С или из скриптов на VBScript и PowerShell к кластеру можно подключиться через V83.COMConnector: метод ConnectAgent("tcp://srv-1c:1540"), затем GetClusters() и Authenticate(кластер, имя, пароль). Компонент comcntr.dll регистрируют так же, как radmin.dll, через regsvr32, и версия у него тоже должна совпадать с серверной.
Команды, которые завершают сеансы или перезапускают рабочие процессы, обрывают работу пользователей без сохранения. Запускайте такие скрипты в согласованное окно и предупреждайте людей заранее.
Частые вопросы
Можно ли зайти в кластер 1С без консоли MMC?
ras и работайте через rac из командной строки. На Linux это основной способ.Нужна ли отдельная лицензия для консоли администрирования?
rac лицензию не занимают, она нужна только клиентским сеансам и самому серверу 1С.Можно ли подключиться к кластеру через интернет?
1540, 1541 и 1545 наружу опасно. Используйте VPN или удалённый рабочий стол на машине внутри сети.Почему после обновления платформы консоль перестала видеть сервер?
radmin.dll от старой. Установите ту же сборку и перерегистрируйте библиотеку.