Запуск сервера администрирования 1С (ras) на Windows и Linux

· 9 мин

Содержание

Сервер администрирования 1С — это отдельный процесс ras, а не сам сервер 1С:Предприятия. Частая ошибка — ждать, что он появится сам после установки платформы. Не появится: установщик ставит службу агента ragent, а ras нужно запустить вручную командой ras cluster --port=1545 localhost:1540 или зарегистрировать службой.

Пока ras не работает , утилита rac, веб-консоли и обработки администрирования кластера из конфигураций не подключатся к серверу. Классическая MMC-консоль кластера работает без него: она ходит к агенту напрямую через radmin.dll. Ниже — запуск на Windows и Linux, автозапуск, мониторинг и разбор сбоев.

Что проверить перед запуском ras

Сервер администрирования — посредник. Он сам ничего не хранит, а подключается к агенту сервера 1С и транслирует ему команды. Поэтому сначала должен работать агент.

Проверьте по пунктам:

  • 🟢 Агент сервера запущен. В Windows это служба «Агент сервера 1С:Предприятия 8.3», в Linux — сервис srv1cv8. Агент по умолчанию слушает порт 1540.
  • 📁 Найден каталог платформы. ras лежит рядом с ragent: в Windows C:\Program Files\1cv8\<версия>\bin\ras.exe, в Linux /opt/1cv8/x86_64/<версия>/ras.
  • 🔢 Версия совпадает с агентом. Берите ras из той же сборки платформы, что и работающий агент. Если на сервере стоит несколько версий, легко запустить «чужой» файл.
  • 🔌 Порт 1545 свободен. Это порт по умолчанию для ras. Его можно сменить, но тогда новый номер придётся указывать всем клиентам.
  • 🛡️ Брандмауэр. Если rac или веб-консоль будут подключаться с другой машины, откройте входящий порт 1545.

Проверить порты в Windows:

netstat -ano | findstr ":1540 :1545"

В Linux:

ss -tlnp | grep -E ':1540|:1545'

Если на 1540 никто не слушает — сначала поднимайте агент, иначе ras стартует, но команды будут падать с ошибкой подключения.

Ключ localhost:1540 в команде запуска — это адрес агента, а не адрес самого ras. Если агент на другой машине или на нестандартном порту, укажите его: srv1c-01:2540.

Как запустить сервер администрирования 1С в Windows

Есть два режима: разовый запуск в консоли (для проверки) и служба (для постоянной работы).

Разовый запуск из командной строки

  1. Откройте командную строку от имени администратора.
  2. Перейдите в каталог платформы: cd "C:\Program Files\1cv8\8.3.24.1342\bin" — подставьте свой номер сборки.
  3. Запустите:
ras.exe cluster --port=1545 localhost:1540

Окно должно остаться открытым — процесс работает, пока оно не закрыто. Во втором окне проверьте:

rac.exe localhost:1545 cluster list

Вывод с параметрами кластера (cluster, host, port, name) значит, что связка работает. Можно регистрировать службу.

Регистрация ras как службы Windows

Отдельной команды установки службы у ras нет — службу создают стандартной утилитой sc. Ключ --service говорит процессу работать в режиме службы.

set SrvcName="1C:Enterprise 8.3 Remote Server"
set BinPath="\"C:\Program Files\1cv8\8.3.24.1342\bin\ras.exe\" cluster --service --port=1545 localhost:1540"
set Description="1C:Enterprise 8.3 Remote Server"
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto displayname= %Description%
sc start %SrvcName%

Пробелы после binPath=, start= и displayname= обязательны — без них sc не примет параметры.

После создания:

  1. Откройте services.msc и найдите службу «1C:Enterprise 8.3 Remote Server».
  2. Тип запуска — «Автоматически». Если агент стартует долго, поставьте «Автоматически (отложенный запуск)».
  3. На вкладке «Вход в систему» по умолчанию стоит локальная система. Для ras этого достаточно: он не работает с файлами баз, только передаёт команды агенту.

Команды sc stop и sc delete в начале скрипта нужны только при перерегистрации, например после обновления платформы. Остановка ras не обрывает сеансы пользователей, но прерывает все текущие подключения rac и веб-консолей.

Если не запущен сам агент сервера

Служба агента ставится вместе с сервером 1С. Если её нет или она испорчена, её регистрирует сам ragent:

ragent.exe -instsrvc -usr .\USR1CV8 -pwd <пароль> -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

Удалить службу агента — ragent.exe -rmsrvc. Пользователю службы нужно право «Вход в качестве службы» и полный доступ к каталогу srvinfo.

Запуск и управление сервером 1С в Linux

В Linux ras тоже не стартует сам. Порядок такой: проверить агент, запустить ras вручную, затем оформить его в unit systemd.

Проверка агента

С платформы 8.3.21 сервер 1С управляется через systemd, а не через старый скрипт /etc/init.d/srv1cv83. Посмотреть, что установлено и работает:

systemctl list-units --all | grep -i 1cv8
ls /opt/1cv8/x86_64/

На старых версиях работают команды service srv1cv83 status и service srv1cv83 start.

Ручной запуск ras

sudo -u usr1cv8 /opt/1cv8/x86_64/8.3.24.1342/ras cluster --port=1545 localhost:1540

Для работы в фоне добавьте ключ --daemon. Проверка:

/opt/1cv8/x86_64/8.3.24.1342/rac localhost:1545 cluster list

Автозапуск через systemd

Сначала посмотрите, нет ли готового unit-файла в каталоге платформы:

ls /opt/1cv8/x86_64/8.3.24.1342/*.service

Если готового файла для ras нет, создайте свой — /etc/systemd/system/ras-1c.service:

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

[Service]
Type=simple
User=usr1cv8
Group=grp1cv8
ExecStart=/opt/1cv8/x86_64/8.3.24.1342/ras cluster --port=1545 localhost:1540
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Ключ --daemon здесь не нужен: при Type=simple systemd сам держит процесс. Включите и запустите:

sudo systemctl daemon-reload
sudo systemctl enable --now ras-1c.service
systemctl status ras-1c.service

Путь с номером версии в ExecStart — слабое место. После обновления платформы старый каталог могут удалить, и служба не поднимется. Правьте unit-файл сразу после установки новой сборки.

Параметры кластера, порты и реестр

Сервер администрирования настраивается ключами командной строки. Основные:

КлючЧто задаётПо умолчанию
--portПорт, на котором слушает ras1545
адрес:порт в концеАгент, к которому подключатьсяlocalhost:1540
--serviceРежим службы Windows—
--daemonФоновый режим в Linux—

Порты самого сервера 1С задаются в службе агента: -port (агент, 1540), -regport (менеджер кластера, 1541), -range (рабочие процессы, 1560:1591). Диапазон портов для рабочих процессов при этом редактируется в свойствах рабочего сервера в консоли кластера.

Где хранится командная строка службы

В Windows параметры запуска служб лежат в реестре:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы>

Параметр ImagePath — это и есть полная командная строка. Через него удобно посмотреть, с какими ключами и из какой версии запускается служба. Менять порт правкой реестра можно, но надёжнее пересоздать службу через sc.

Не путайте реестр Windows с реестром кластера. Реестр кластера — это каталог srvinfo\reg_1541, где хранятся описание кластера, список информационных баз и администраторы. Его не правят руками. Удалять или подменять файлы оттуда без резервной копии нельзя: кластер может потерять список баз.

Администратор кластера и rac

Если на кластере заведён администратор, rac его спросит:

rac localhost:1545 infobase summary list --cluster=<uuid> --cluster-user=admin --cluster-pwd=<пароль>

UUID кластера берётся из вывода rac localhost:1545 cluster list. Остальные подкоманды смотрите в справке rac help — набор зависит от версии платформы.

Почему не запускается сервер администрирования

Сбои почти всегда сводятся к одной из пяти причин. Выберите симптом:

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

Если MMC-консоль кластера не открывается вовсе, дело не в ras. Консоль работает через radmin.dll, и после установки новой платформы библиотеку нужно зарегистрировать заново:

regsvr32 "C:\Program Files\1cv8\8.3.24.1342\bin\radmin.dll"

Разрядность библиотеки должна совпадать с разрядностью MMC: для 64-битной консоли — radmin.dll из 64-битной платформы.

Автозапуск, перезапуск и мониторинг службы

Служба может упасть: из-за обновления, нехватки памяти, перезагрузки агента. Настройте автоматическое восстановление.

Перезапуск при сбое в Windows

sc failure "1C:Enterprise 8.3 Remote Server" reset= 86400 actions= restart/60000/restart/60000/restart/60000

Служба перезапустится через минуту после каждого сбоя, счётчик сбрасывается раз в сутки. То же можно выставить мышкой: services.msc → свойства службы → вкладка «Восстановление».

В Linux за это отвечают строки Restart=on-failure и RestartSec=10 в unit-файле выше.

Простая проверка доступности

Скрипт, который раз в 5 минут опрашивает кластер, ловит падение раньше пользователей. Пример для Windows:

@echo off
"C:\Program Files\1cv8\8.3.24.1342\bin\rac.exe" localhost:1545 cluster list >nul 2>&1
if errorlevel 1 (
  echo %date% %time% ras недоступен >> C:\scripts\ras_check.log
  net start "1C:Enterprise 8.3 Remote Server"
)

Повесьте его в Планировщик заданий с запуском от системной учётной записи. В Linux аналог — cron-задача с вызовом rac и systemctl restart ras-1c.service.

Проверить порт с другой машины можно в PowerShell:

Test-NetConnection srv1c-01 -Port 1545

Перезапуск ras безопасен для пользователей. А вот перезапуск агента сервера 1С обрывает все сеансы в базах. Скрипты мониторинга не должны трогать службу агента в рабочее время.

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

Несколько версий платформы и доступ по сети

На одном сервере часто живут две сборки: рабочая и тестовая, например после обновления платформы. У каждой свой агент на своих портах. Сервер администрирования тоже нужен свой.

Схема для двух кластеров:

КластерАгентМенеджерРабочие процессыras
Рабочий154015411560:15911545
Тестовый254025412560:25912545

Второй ras запускают из каталога тестовой версии: ras cluster --port=2545 localhost:2540. Имя службы тоже делайте отличным, например с номером сборки в конце. Иначе sc create откажет: служба с таким именем уже существует.

Кому открывать порт 1545

Сервер администрирования даёт полное управление кластером: список баз, завершение сеансов, изменение параметров. Если администратор кластера не задан, команды выполнит любой, кто дотянулся до порта.

  • 🔐 Заведите администратора кластера до того, как открывать 1545 в сети.
  • 🧱 В брандмауэре разрешите порт только адресам админов и серверу мониторинга.
  • 🌐 Наружу, в интернет, 1545 не публикуйте. Для удалённой работы используйте VPN.

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

Нужен ли ras, если пользуюсь только консолью MMC?
Нет. Консоль кластера работает с агентом напрямую через radmin.dll. Сервер администрирования нужен для rac, веб-консолей и встроенных обработок администрирования кластера.
Можно ли запустить ras на другой машине, не на сервере 1С?
Можно. В конце команды запуска укажите адрес агента, например srv1c-01:1540. Между машинами должен быть открыт порт 1540.
Сколько экземпляров ras можно запустить?
Несколько, если они слушают разные порты. Так делают, когда на одной машине работают кластеры разных версий платформы: каждой версии свой ras.
Нужна ли лицензия для сервера администрирования?
Отдельной лицензии ras не требует. Он только передаёт команды агенту и не открывает сеансы в информационных базах.
Как остановить ras без вреда для пользователей?
Остановите службу через services.msc или sc stop, в Linux — systemctl stop. Сеансы пользователей в базах не прервутся, отвалятся только подключения rac и консолей.