Сервер администрирования ras и утилита rac: установка и запуск

· 9 мин

Содержание

Отдельного установщика у утилиты администрирования серверов 1С нет. Сервер администрирования ras и консольный клиент rac лежат в каталоге bin рядом с серверной частью платформы. Поставили сервер 1С:Предприятия, значит, файлы уже на диске. Остаётся запустить ras, дать ему адрес главного сервера кластера и открыть порт.

Ниже — подготовка, запуск на Windows и Linux, регистрация службы, первые команды rac и разбор ошибок подключения. Все примеры рассчитаны на платформу 8.3 с кластером серверов.

Что понадобится до установки

ras не работает сам по себе. Он подключается к уже работающему серверу 1С (процесс ragent) и отдаёт его управление по сетевому протоколу. Поэтому сначала проверьте основу.

  • ✅ Сервер 1С:Предприятия установлен и запущен, кластер создан.
  • ✅ Версия ras совпадает с версией платформы на сервере. Берите файлы из того же каталога, где лежит ragent.
  • ✅ Знаете адрес и порт главного сервера кластера. По умолчанию порт 1540.
  • ✅ На сервере открыт порт, который будет слушать ras. По умолчанию 1545.
  • ✅ Есть учётная запись администратора кластера, если он защищён паролем.

Какие порты задействованы в типовой схеме:

ПортКто слушаетДля чего
1540агент сервера ragentточка входа в кластер
1541менеджер кластерауправление кластером
1545rasзапросы от rac (MMC-консоль администрирования ходит к агенту напрямую, а не к ras)
1560–1591рабочие процессысеансы пользователей

Порт 1545 нужен только тем, кто администрирует. Пользователям он не нужен, поэтому открывайте его только для адресов администраторов.

Где лежат файлы ras и rac

Откройте каталог установленной версии платформы.

  • Windows: C:\Program Files\1cv8\8.3.xx.xxxx\bin\ — файлы ras.exe и rac.exe.
  • Linux: /opt/1cv8/x86_64/8.3.xx.xxxx/ — файлы ras и rac.

Вместо 8.3.xx.xxxx подставьте номер вашего релиза платформы. Если серверов несколько, держите ras той же версии, что и кластер, который он обслуживает.

Не запускайте ras из каталога другой версии платформы. Утилита может подключиться, но часть команд будет вести себя странно или вернёт ошибку протокола.

Запуск на Windows

Откройте командную строку от имени администратора и перейдите в каталог bin нужной версии. Запустите:

ras.exe cluster --port=1545 localhost:1540

Здесь cluster — режим работы с кластером серверов, --port — порт, на котором слушает сам ras, а localhost:1540 — адрес главного сервера кластера. Если ras стоит на другой машине, укажите её имя или IP вместо localhost.

Окно останется открытым, пока работает процесс. Это годится для проверки. Для постоянной работы нужна служба.

Служба Windows

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

sc create "1C:Enterprise Remote Server" binpath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto

Пробел после binpath= и start= обязателен. Ключ --service говорит ras, что он запущен как служба. Затем запустите её:

sc start "1C:Enterprise Remote Server"

Служба должна идти под учётной записью, у которой есть доступ к каталогу платформы. Если у вас уже работает служба агента сервера 1С, ras не нужно запускать от той же учётной записи, но права на чтение каталога bin обязательны.

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

Запуск на Linux

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

/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --port=1545 localhost:1540

Если нужен автозапуск, оформите юнит systemd. Создайте файл /etc/systemd/system/ras.service:

[Unit]
Description=1C Remote Administration Server
After=network.target

[Service]
Type=simple
User=usr1cv8
ExecStart=/opt/1cv8/x86_64/8.3.xx.xxxx/ras cluster --port=1545 localhost:1540
Restart=on-failure

[Install]
WantedBy=multi-user.target

Пользователя usr1cv8 замените на того, от имени которого работает у вас сервер 1С. Дальше:

sudo systemctl daemon-reload
sudo systemctl enable --now ras
sudo systemctl status ras

Порт на Linux открывается средствами вашего межсетевого экрана: ufw, firewalld или правилами iptables. Какой из них стоит, зависит от дистрибутива.

Проверка и первая регистрация кластера

Проверьте, что ras слушает порт. На Windows:

netstat -ano | findstr 1545

На Linux:

ss -ltnp | grep 1545

Теперь запросите список кластеров через rac. Команда выполняется на любой машине, откуда виден порт 1545:

rac localhost:1545 cluster list

В ответе будет блок с полями cluster (идентификатор), host, port, name. Идентификатор — это длинная строка вида GUID. Он понадобится в остальных командах.

Если кластер защищён, укажите учётную запись администратора кластера:

rac localhost:1545 cluster list --cluster-user=admin --cluster-pwd=секрет

Чтобы не вводить параметры в каждой команде, подключайтесь к кластеру с --cluster=<идентификатор>. Так вы сразу работаете с нужным кластером и не гадаете, какой из них имеется в виду, если их несколько.

Сервер администрирования готов к работе
Выполнено: 0 / 5

Основные команды rac

rac построен как набор объектов и действий: объект действие --параметры. Полный перечень параметров смотрите в справке rac help. Для конкретного объекта справка вызывается так: rac help cluster. Вот команды, которыми пользуются чаще всего.

Что нужноКоманда
Список кластеровrac cluster list
Список информационных базrac infobase summary list --cluster=<id>
Список сеансовrac session list --cluster=<id>
Список сеансов с лицензиямиrac session list --cluster=<id> --licenses
Список рабочих серверовrac server list --cluster=<id>
Список рабочих процессовrac process list --cluster=<id>

Если ras запущен не на локальной машине, перед названием объекта ставится адрес: rac 10.0.0.5:1545 session list --cluster=<id>.

Практический пример: нужно понять, кто занимает лицензии. Выполните команду со списком сеансов и ключом --licenses, а в выводе найдите поля с именем пользователя и приложением. Так видно зависшие сеансы, которые держат место, хотя человек давно ушёл.

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

Когда нужен ras, а когда хватает консоли

Оснастка «Администрирование серверов 1С:Предприятия» ходит к кластеру напрямую через агент сервера, ей ras не нужен. ras нужен всему, что работает через протокол удалённого администрирования: утилите rac, скриптам, сторонним системам мониторинга и веб-инструментам управления кластером. Для них в настройках подключения указывается адрес и порт именно ras, то есть имя_сервера:1545, а не 1540.

Типичная путаница: в скрипте или мониторинге прописан порт агента, и подключение не проходит. Если инструмент просит «адрес сервера администрирования», это всегда ras.

Когда rac удобнее консоли:

  • 🔧 нужно выполнять действие по расписанию, например ночную проверку числа сеансов;
  • 🔧 сервер без графической оболочки, как на большинстве Linux-машин;
  • 🔧 требуется собрать данные скриптом и сложить в мониторинг;
  • 🔧 надо быстро проверить кластер по SSH, не поднимая консоль.

Пример: ежедневная проверка сеансов скриптом

Сохраните идентификатор кластера в переменную и снимайте список сеансов в файл. На Linux это три строки:

CLUSTER=идентификатор_из_cluster_list
rac localhost:1545 session list --cluster=$CLUSTER > /var/log/1c-sessions-$(date +%F).txt
grep -c "session " /var/log/1c-sessions-$(date +%F).txt

Файлы за несколько дней показывают, как меняется нагрузка: в какие часы сеансов больше всего и не растёт ли число «висящих». Если кластер защищён паролем, добавьте --cluster-user и --cluster-pwd, но не храните пароль в тексте скрипта, который лежит в общей папке. Передавайте его через переменную окружения или файл с ограниченными правами.

На Windows тот же приём делается пакетным файлом, который запускает планировщик заданий. Следите, чтобы задание шло от учётной записи с правом читать каталог платформы.

Обновление платформы и удаление службы

После установки новой версии платформы на сервере ras нужно перевести на неё же. Порядок такой:

  1. Предупредите пользователей: на время обновления серверной части сеансы будут закрыты.
  2. Остановите службу ras и обновите платформу на сервере.
  3. Исправьте путь к исполняемому файлу в службе: на Windows через sc config, на Linux — строкой ExecStart в юните.
  4. Запустите службу и проверьте rac cluster list.

Команда для смены пути на Windows:

sc config "1C:Enterprise Remote Server" binpath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540"

Если ras больше не нужен, остановите и удалите службу:

sc stop "1C:Enterprise Remote Server"
sc delete "1C:Enterprise Remote Server"

На Linux отключите юнит командой sudo systemctl disable --now ras и удалите файл /etc/systemd/system/ras.service, затем выполните sudo systemctl daemon-reload. Каталог платформы при этом не трогайте: там же лежит сервер 1С.

Хранить команду создания службы удобно в файле рядом с документацией по серверу. После очередного обновления вы будете знать, что менять, а не вспоминать параметры по памяти.

Если не подключается: разбор ошибок

Большая часть проблем сводится к трём причинам: ras не запущен, порт закрыт, версия не совпала.

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

Если порт вроде бы открыт, но извне не отвечает, проверьте, к какому адресу привязан процесс. На машине могут стоять правила, которые режут входящие по профилю сети. На Windows это частая история: правило включено для «частной» сети, а сервер находится в «общедоступной».

Проверьте доступность с рабочего места без самой 1С:

Test-NetConnection сервер -Port 1545

Команда выполняется в PowerShell. Если TcpTestSucceeded вернул False, ищите проблему в сети или брандмауэре, а не в самой платформе.

Безопасность и порядок на сервере

ras по умолчанию не шифрует трафик и не требует особой защиты на уровне протокола. Всё, что может rac, доступно любому, кто достучится до порта и знает учётные данные кластера.

  • 🔒 Закройте 1545 от внешней сети. Доступ — только с адресов администраторов или через VPN.
  • 🔒 Задайте пароль администратору кластера и не передавайте его в командах, которые попадают в общие логи.
  • 🔒 Не оставляйте ras на серверах, где администрирование через него не нужно.
  • 🔒 Следите, чтобы служба стартовала после перезагрузки, иначе мониторинг ночью останется слепым.

Если у вас несколько кластеров, не держите на каждом свой ras без нужды. Одного экземпляра, который смотрит на главный сервер нужного кластера, достаточно.

Частые вопросы

Нужно ли отдельно скачивать утилиту администрирования?
Нет. ras и rac входят в состав серверной части платформы и лежат в каталоге bin установленной версии.
Какой порт использует ras по умолчанию?
1545. Его можно изменить параметром --port, тогда тот же номер указывайте в консоли и в rac.
Можно ли запустить ras на отдельной машине от кластера?
Да. В строке запуска укажите адрес главного сервера кластера, например 10.0.0.5:1540. Между машинами должен быть открыт порт 1540.
Чем rac отличается от ras?
ras — сервер, он слушает порт и принимает запросы. rac — консольный клиент, который эти запросы отправляет.
Нужен ли ras, если я работаю только через оснастку администрирования серверов?
Нет, оснастка подключается к агенту сервера напрямую. ras нужен для rac, скриптов и внешних систем управления.