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

· 9 мин

Содержание

Зайти в кластер серверов 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. Запустите консоль Администрирование серверов 1С Предприятия.
  2. В дереве слева правой кнопкой щёлкните по корневому узлу «Central 1C:Enterprise 8.3 servers».
  3. Выберите Создать → Центральный сервер 1С:Предприятия 8.3.
  4. Укажите протокол tcp, имя компьютера сервера (лучше то, под которым он зарегистрирован в кластере) и IP-порт 1540.
  5. Нажмите «ОК» — сервер появится в дереве.

Шаг 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С три независимых уровня учётных записей, и их часто путают:

УровеньГде задаётсяЧто разрешает
Администратор центрального сервера (агента)Ветка «Администраторы» центрального сервера в консолиСоздавать и удалять кластеры, управлять самим агентом
Администратор кластераВетка «Администраторы» внутри кластераБазы, сеансы, рабочие процессы, блокировки
Пользователь информационной базыСписок пользователей в самой базеОткрывать свойства конкретной базы в консоли, создавать базу

🔐 Пока список администраторов пуст, в кластер может зайти любой, кто достучался до сервера по сети. Для рабочего сервера так оставлять нельзя.

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

  1. В консоли раскройте кластер → «Администраторы».
  2. Правой кнопкой → Создать → Администратор.
  3. Задайте имя и пароль. Либо отметьте аутентификацию операционной системы и укажите доменного пользователя в формате \\ДОМЕН\Пользователь.
  4. Сохраните. Теперь при раскрытии кластера консоль спросит эти данные.

Через rac список смотрят командами rac cluster admin list --cluster=<id> и rac agent admin list (для агента — с ключами --agent-user и --agent-pwd).

Когда спрашивают пользователя базы

Если открыть свойства конкретной информационной базы, консоль дополнительно попросит имя и пароль пользователя этой базы с административными правами. Администратор кластера тут не подойдёт — это учётная запись из списка пользователей конфигурации.

Если пароль администратора кластера утерян, не пересоздавайте кластер. Правильный путь — остановить службу агента (у всех пользователей оборвутся сеансы, делайте это в нерабочее время), восстановить файл реестра кластера 1CV8Clst.lst из каталога srvinfo\reg_1541 из резервной копии и снова запустить службу. Нет копии — обратитесь к администратору, который настраивал сервер.

Почему не удаётся зайти в кластер: диагностика

Сначала определите, на каком этапе обрывается подключение: консоль не запускается, сервер не отвечает или не принимается пароль.

Диагностика: выберите симптом

Частая ловушка с именем сервера

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

Поэтому возможна ситуация: вы подключились по 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 от старой. Установите ту же сборку и перерегистрируйте библиотеку.
Чем администратор кластера отличается от администратора базы?
Первый управляет кластером: сеансами, процессами, списком баз. Второй — пользователь внутри конкретной базы, его спрашивают при открытии свойств этой базы.