Консоль администрирования, rac и SSH: три способа управлять кластером 1С
Содержание
Чтобы подключить консоль к серверу 1С, зарегистрируйте radmin.dll той же версии, что и сервер, откройте «Администрирование серверов 1С Предприятия» и добавьте центральный сервер по имени и порту агента 1540. Для командной строки нужна другая пара: служба ras на сервере (порт 1545) и утилита rac на вашей машине.
Частая ошибка — ставить на рабочее место «какую-нибудь» платформу и ждать, что оснастка увидит кластер. Не увидит: консоль, rac и сервер должны совпадать по номеру версии вплоть до сборки. Всё, что описано ниже, относится к платформе 8.3 и одинаково для любой конфигурации — БП, ЗУП, УТ или ERP.
Зачем администратору консоль сервера 1С
Клиент-серверная база живёт не в файле, а в кластере. Посмотреть, что там происходит, без консоли нельзя. Через неё делают ежедневную работу:
- 👥 смотрят сеансы и соединения, завершают «зависшие»;
- 🔒 ставят блокировку сеансов и регламентных заданий перед обновлением;
- 🗄️ регистрируют новые информационные базы и меняют их параметры подключения к СУБД;
- ⚙️ следят за рабочими процессами: память, число соединений, перезапуски;
- 🧾 проверяют, кто из пользователей занял лицензию и какую;
- 🛡️ задают администраторов кластера и требования назначения функциональности.
Управлять сервером можно с той же машины, где он стоит, или удалённо. Удалённый вариант удобнее, но требует открытых портов и одинаковой версии на обеих сторонах.
Способы подключения консоли к серверу 1С: что выбрать
У платформы два независимых канала управления. Они ходят на разные порты и не заменяют друг друга.
| Способ | Что нужно на клиенте | Порт на сервере | Когда удобен |
|---|---|---|---|
| Оснастка MMC | Windows, платформа той же версии, зарегистрированный radmin.dll | 1540 (агент), 1541, диапазон рабочих процессов | Ручная работа, наглядный список сеансов и баз |
Утилита rac | rac той же версии (входит в дистрибутив платформы) | 1545 (служба ras) | Скрипты, Linux, массовые операции |
| PowerShell | rac или COM-объект V83.COMConnector | 1545 или 1540 | Автоматизация на Windows, отчёты по сеансам |
| SSH на Linux-сервер | SSH-клиент | 22 | Сервер на Linux, порты 1С наружу закрыты |
Консоль общается с агентом сервера (ragent) на порту 1540. Дальше агент передаёт её менеджеру кластера на 1541 и рабочим процессам. Их диапазон задают в свойствах рабочего сервера, по умолчанию это 1560:1591.
rac устроена иначе: она не умеет говорить с агентом напрямую. Ей нужен посредник — сервер администрирования ras, который сам подключается к агенту.
Как подключить консоль MMC к серверу 1С на Windows
Это главный сценарий. Без регистрации библиотеки он не работает , поэтому начинаем с неё.
Шаг 1. Поставьте платформу нужной версии
Узнайте версию сервера: откройте services.msc, свойства службы агента сервера 1С — номер сборки виден в пути к исполняемому файлу ragent.exe. На рабочем месте администратора установите ту же сборку. При установке отметьте компонент «Администрирование сервера 1С:Предприятия».
Разрядность имеет значение. 64-битная платформа даёт 64-битную библиотеку, и открывать её нужно в 64-битной MMC. Для 32-битной библиотеки консоль запускают командой mmc /32.
Шаг 2. Зарегистрируйте radmin.dll
Это тот самый шаг, который пропускают чаще всего. Особенно после обновления сервера: платформу обновили, а библиотеку консоли на ноутбуке администратора — нет.
Откройте командную строку от имени администратора и выполните:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой. Должно появиться сообщение об успешной регистрации. Зарегистрирована может быть только одна версия, поэтому для работы с серверами разных сборок библиотеку перерегистрируют перед подключением.
💡 Удобно держать на рабочем столе несколько .bat-файлов — по одному на каждую версию сервера, который вы администрируете. Двойной щелчок от имени администратора, и консоль готова к нужному кластеру.
Шаг 3. Добавьте центральный сервер
- Откройте в меню «Пуск» ярлык «Администрирование серверов 1С Предприятия».
- В дереве слева щёлкните правой кнопкой по узлу «Central 1C:Enterprise 8.3 servers».
- Выберите
Создать → Центральный сервер 1С:Предприятия 8.3. - В поле «Имя» укажите сетевое имя или IP-адрес сервера, протокол
TCP, порт1540. - Нажмите «ОК» и раскройте добавленный узел.
Если в кластере заданы администраторы, консоль спросит логин и пароль при раскрытии узла «Кластеры». Подключение запоминается в файле оснастки, при следующем запуске вводить адрес заново не нужно.
Если сервер указан по имени, это имя должно разрешаться с рабочей станции. Агент возвращает консоли адреса менеджера и процессов по имени хоста. Не резолвится имя — список кластеров виден, а базы и сеансы не открываются. Добавьте запись в DNS или в файл hosts.
Подключение к серверу 1С через утилиту rac и службу ras
rac нужна, когда графической консоли нет или действия надо повторять скриптом. Работает в Windows и Linux одинаково.
Запустите ras на сервере
Для разовой проверки достаточно запустить её в консоли сервера:
"C:\Program Files\1cv8\8.3.24.1548\bin\ras.exe" 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= "Сервер администрирования 1С 8.3" start= auto
sc start "1C:Enterprise 8.3 Remote Server"
Пробелы после binPath=, DisplayName= и start= обязательны — так устроен синтаксис sc. После обновления платформы путь в службе придётся поменять, иначе ras останется на старой версии.
Подключитесь утилитой rac
Формат команды: rac [адрес:порт] команда. Без адреса утилита идёт на localhost:1545.
rac srv-1c:1545 cluster list
Ответ — блок полей, первым идёт cluster с идентификатором вида 4a8e3e5c-.... Его подставляют во все дальнейшие команды:
rac srv-1c:1545 infobase summary list --cluster=4a8e3e5c-...
rac srv-1c:1545 session list --cluster=4a8e3e5c-...
rac srv-1c:1545 process list --cluster=4a8e3e5c-...
Если у кластера есть администратор, добавьте --cluster-user=Имя --cluster-pwd=Пароль. Полный перечень режимов и параметров выводит rac help, а справку по конкретному режиму — например, rac help session.
Управление сервером 1С из PowerShell
Готового модуля от фирмы 1С для PowerShell нет. Рабочих путей два: вызывать rac и разбирать его вывод либо подключаться к агенту через COM.
Вариант через rac
Вывод rac — блоки строк поле : значение, разделённые пустой строкой. Их несложно превратить в объекты:
$rac = "C:\Program Files\1cv8\8.3.24.1548\bin\rac.exe"
$srv = "srv-1c:1545"
function Convert-RacOutput($lines) {
$obj = [ordered]@{}
foreach ($line in $lines) {
if ([string]::IsNullOrWhiteSpace($line)) {
if ($obj.Count) { [pscustomobject]$obj; $obj = [ordered]@{} }
continue
}
$k, $v = $line -split '\s*:\s*', 2
$obj[$k.Trim()] = $v
}
if ($obj.Count) { [pscustomobject]$obj }
}
$cluster = (Convert-RacOutput (& $rac $srv cluster list))[0].cluster
Convert-RacOutput (& $rac $srv session list --cluster=$cluster) |
Select-Object user-name, host, app-id, started-at
Так за минуту собирается список «кто сейчас в базе» для рассылки перед обновлением.
Вариант через COM-соединитель
Если зарегистрирован comcntr.dll, к агенту можно подключиться напрямую, без ras:
$com = New-Object -ComObject "V83.COMConnector"
$agent = $com.ConnectAgent("tcp://srv-1c:1540")
$cl = $agent.GetClusters()[0]
$agent.Authenticate($cl, "", "")
$agent.GetSessions($cl) | Select-Object UserName, Host, AppID
Пустые строки в Authenticate — если администраторы кластера не заданы. Разрядность PowerShell должна совпадать с разрядностью зарегистрированного comcntr.dll.
Как подключиться к серверу 1С на Linux через SSH
На Linux графической консоли нет. Есть два рабочих подхода.
Работать с rac прямо на сервере
Зайдите по SSH и запустите утилиту из каталога платформы. В свежих сборках это /opt/1cv8/x86_64/8.3.xx.xxxx/, в старых — /opt/1C/v8.3/x86_64/.
ssh admin@srv-1c
cd /opt/1cv8/x86_64/8.3.24.1548
./ras cluster --daemon --port=1545 localhost:1540
./rac cluster list
Для постоянной работы ras лучше оформить юнитом systemd, чтобы служба поднималась после перезагрузки вместе с агентом.
Пробросить порт ras через SSH-туннель
Порты 1С на сервере не открыты наружу, а управлять хочется с ноутбука. Пробросьте только 1545:
ssh -N -L 1545:localhost:1545 admin@srv-1c
Теперь в соседнем окне rac localhost:1545 cluster list работает так, будто сервер рядом. Трафик идёт внутри SSH-сессии.
С оснасткой MMC такой туннель работает плохо. Агент отдаёт консоли адреса менеджера кластера и рабочих процессов по имени хоста, и их тоже пришлось бы пробрасывать. Для Linux-сервера надёжнее схема «ras на сервере + rac через туннель».
Права доступа: кто может управлять кластером 1С
Пока список администраторов пуст, управлять кластером может любой, кто достучался до порта. Для сервера в рабочей сети это недопустимо.
В платформе два уровня:
- 🏢 Администраторы центрального сервера — управляют самим агентом: создают и удаляют кластеры, добавляют рабочие серверы. Список виден командой
rac agent admin list. - 🧩 Администраторы кластера — работают внутри кластера: базы, сеансы, процессы. Список —
rac cluster admin list --cluster=<UUID>.
В консоли MMC они добавляются в ветках «Администраторы» соответствующего узла. Можно задать пароль 1С или включить аутентификацию средствами ОС — тогда консоль пустит доменного пользователя без ввода пароля.
Как только вы добавили первого администратора кластера, все подключения без логина перестают работать. Это касается и скриптов: заранее пропишите в них --cluster-user и --cluster-pwd, иначе ночное резервное копирование
или блокировка сеансов сломается молча.
Отдельно от этого у каждой информационной базы есть свой администратор — пользователь 1С с правами в самой базе. Его логин нужен консоли, чтобы менять параметры базы или ставить блокировку сеансов. Права кластера доступа к данным базы не дают.
Ошибки при подключении консоли и как их снять
Проверить доступность портов с рабочей станции можно без сторонних утилит:
Test-NetConnection srv-1c -Port 1540
Test-NetConnection srv-1c -Port 1545
TcpTestSucceeded : True — порт открыт. False при запущенной службе — ищите блокировку на брандмауэре сервера или в сети.
Совет «перезапустить службу агента» встречается часто. Помните: при остановке агента обрываются все сеансы пользователей, несохранённые документы будут потеряны. Делайте это вне рабочего времени и после предупреждения.
Безопасность удалённого управления сервером 1С
Консоль даёт полный контроль над базами, поэтому доступ к ней стоит ограничить.
- Задайте администраторов центрального сервера и кластера с надёжными паролями или доменной аутентификацией.
- Закройте порты 1С снаружи.
1540,1541,1545и диапазон процессов открывайте только для подсети администраторов и серверов приложений. - Не публикуйте
rasв интернет. Для удалённой работы — VPN или SSH-туннель, как описано выше. - Запускайте
rasнаlocalhost, еслиracиспользуется только локально или через туннель. - Храните пароли для скриптов отдельно, например в защищённом хранилище учётных данных Windows, а не открытым текстом в
.bat. - Делайте копию каталога реестра кластера (
srvinfo) по расписанию — она спасёт при утере паролей и повреждении настроек.