Что делает служба ragent в кластере 1С:Предприятия 8.3
Содержание
Агент сервера 1С — это процесс ragent, который принимает первое подключение клиента на порту 1540, хранит список кластеров и запускает на своём компьютере менеджер кластера rmngr и рабочие процессы rphost. Без запущенного агента клиент-серверная база
недоступна: ни пользователи, ни консоль администрирования не смогут к ней подключиться.
В Windows агент работает как служба «Агент сервера 1С:Предприятия 8.3», в Linux — как юнит systemd. Ниже — как он устроен, где меняются порты и каталог данных, как его диагностировать и какие права ему выдать.
Место агента в архитектуре кластера
Сервер 1С — это не одна программа, а связка из трёх видов процессов. У каждого своя задача.
| Процесс | Порт по умолчанию | Что делает |
|---|---|---|
ragent | 1540 | Точка входа на компьютер-сервер, реестр кластеров, запуск остальных процессов, администраторы центрального сервера |
rmngr | 1541 | Менеджер кластера: список баз, сеансы, блокировки, распределение нагрузки |
rphost | 1560–1591 | Рабочий процесс: выполняет серверный код и запросы к СУБД |
Путь клиента при подключении выглядит так:
- Клиент обращается к агенту на
сервер:1540. - Агент сообщает адрес менеджера кластера (порт 1541).
- Менеджер выбирает рабочий процесс и отдаёт клиенту его порт из диапазона.
- Дальше клиент работает напрямую с
rphost.
Консоль администрирования серверов тоже ходит через агент: в консоли вы добавляете «центральный сервер» именно по адресу и порту агента.
💡 Если кластер состоит из нескольких рабочих серверов, агент запущен на каждом из них. Центральным считается сервер, где лежит реестр кластера, но агент нужен везде — он поднимает процессы на своём компьютере.
Когда агент не нужен
Файловым базам агент не нужен вообще. Не нужен он и на компьютерах пользователей: клиенту хватает установленной платформы. Ставить компонент «Сервер 1С:Предприятия» на рабочие места незачем — служба будет занимать порты и память впустую.
Как устроена служба: исполняемый файл и каталог srvinfo
Исполняемый файл лежит в каталоге платформы конкретной версии:
C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe
Рабочие данные агент держит в каталоге кластера, по умолчанию C:\Program Files\1cv8\srvinfo. Что там лежит:
- 📄
1cv8wsrv.lst— реестр центрального сервера: список кластеров и администраторы центрального сервера; - 📁
reg_1541— каталог кластера с портом менеджера 1541; - 📄
reg_1541\1CV8Clst.lst— реестр кластера: информационные базы, рабочие серверы, администраторы кластера, требования назначения функциональности; - 📁
reg_1541\<GUID базы>— служебные файлы и кеш конкретной базы; - 📁
reg_1541\snccntx…— данные сеансов.
Файлы 1cv8wsrv.lst и 1CV8Clst.lst — главное, что надо бэкапить на сервере 1С. Потеряете их — придётся заново регистрировать базы в кластере и настраивать администраторов, требования назначения и параметры рабочих серверов.
В Linux платформа ставится в /opt/1cv8/x86_64/<версия>/, а каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8. Структура внутри та же.
Параметры запуска агента: реестр, порты, отладка
Где хранится командная строка службы
В Windows параметры запуска записаны в реестре, в значении ImagePath раздела службы:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы агента>
Имя службы видно в свойствах службы в оснастке services.msc (поле «Имя службы»). Типичное значение ImagePath:
"C:\Program Files\1cv8\8.3.24.1342\bin\ragent.exe" -debug -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
| Ключ | Значение |
|---|---|
-srvc | запуск в режиме службы |
-agent | запуск в роли агента |
-port | порт агента (1540) |
-regport | порт менеджера кластера (1541) |
-range | диапазон портов для процессов кластера (1560:1591) |
-d | путь к каталогу данных кластера (srvinfo) |
-debug | разрешает отладку серверного кода |
Как поменять порт или каталог srvinfo
- Предупредите пользователей и выберите окно без работы: остановка службы обрывает все сеансы всех баз кластера.
- Остановите службу агента в
services.msc. - Откройте
regedit, найдите раздел службы и отредактируйтеImagePath. - Если переносите каталог — скопируйте старый
srvinfoв новое место целиком. - Запустите службу и проверьте, что порт слушается.
Если поменяли -regport, существующий кластер останется в каталоге reg_1541 и на старом порту в реестре кластеров. Порт менеджера уже созданного кластера проще не трогать, а для нового набора портов завести отдельный агент.
Вместо regedit можно использовать стандартную команду Windows sc config, но в её синтаксисе легко ошибиться с кавычками. Правка ImagePath нагляднее.
Два агента на одном компьютере
Частая задача — держать рядом две версии платформы, например для тестирования обновления. Второй агент регистрируется отдельной службой со сдвинутыми портами:
"C:\Program Files\1cv8\8.3.25.1257\bin\ragent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo2"
Правило одно: порты и каталоги двух агентов не пересекаются. Пользователи второго кластера в строке подключения указывают сервер с портом: srv01:2541.
Флаг -debug
Ключ -debug установщик добавляет по умолчанию. Он позволяет подключать отладчик Конфигуратора к серверному коду. На боевом сервере с нагрузкой его обычно убирают: отладка — инструмент разработчика, а не пользователей. На тестовом сервере его оставляют.
Linux
Начиная с платформы 8.3.21 сервер в Linux запускается юнитом systemd. Файл юнита поставляется в каталоге платформы, его подключают и запускают через systemctl. Порты и каталог задаются переменными окружения юнита или параметрами в файле настроек службы. Состояние смотрят так:
systemctl status 'srv1cv8-*'
ss -tlnp | grep -E '1540|1541'
Как агент работает с рабочими процессами rphost
Агент не выполняет серверный код сам. Его задача по отношению к rphost — запустить нужное количество процессов на своём компьютере и перезапускать их по команде менеджера кластера.
Сколько процессов поднять, решают настройки рабочего сервера. Они задаются в консоли администрирования: Кластеры → <кластер> → Рабочие серверы → <сервер> → Свойства. Там же:
- 🔢 диапазон IP-портов для процессов этого сервера;
- 👥 число информационных баз и соединений на процесс;
- 💾 допустимый и критический объём памяти рабочих процессов;
- 🛡 параметры отказоустойчивости;
- 🎯 требования назначения функциональности.
Каждый rphost занимает порт из диапазона. При 8–10 процессах и дополнительных менеджерах стандартных 32 портов (1560–1591) обычно хватает. Если процессов больше, расширьте диапазон в свойствах рабочего сервера и откройте его в брандмауэре.
Когда рабочий процесс превышает лимит памяти, кластер запускает новый rphost и переводит на него соединения, а старый процесс завершается. В списке процессов консоли это видно как процесс с отметкой «выключен», который скоро исчезнет. Это штатное поведение, а не сбой.
Список процессов удобно смотреть из командной строки через сервер администрирования ras и утилиту rac: rac cluster list, затем rac process list --cluster=<id кластера>. Остальные подкоманды — в rac help.
ras — отдельная служба (по умолчанию порт 1545), которая сама подключается к агенту на 1540. Без запущенного ras утилита rac работать не будет.
Диагностика: служба не стартует или клиенты не подключаются
Начните с трёх проверок — они закрывают большую часть случаев.
1. Служба запущена? Откройте services.msc и посмотрите состояние службы агента. Если она падает сразу после старта, причина записана в журнале Windows.
2. Порт слушается?
netstat -ano | findstr ":1540"
tasklist /FI "IMAGENAME eq ragent.exe"
Если порт занят чужим процессом (PID в выводе netstat не совпадает с ragent.exe), агент не сможет его открыть.
3. Доступен ли сервер с клиента?
Test-NetConnection srv01 -Port 1540
Test-NetConnection srv01 -Port 1541
Удачная проверка 1540 при неудачной 1541 или портах диапазона — почти всегда брандмауэр.
Где смотреть журналы
- 📋 Журнал Windows —
eventvwr.msc → Журналы Windows → Приложение, фильтр по источнику с «1C». Сюда попадают ошибки запуска и аварийные завершения процессов. - 🧾 Технологический журнал — настраивается файлом
logcfg.xmlв каталогеbin\confплатформы. Для разбора сбоев включают событияEXCPиPROCс ограничением по размеру и сроку хранения. - 💥 Дампы — при падении процесса платформа пишет дамп, если в
logcfg.xmlзадан элемент<dump>. Дамп отправляют в поддержку вместе с версией платформы.
Очистка сеансовых данных
Если сеансы не удаляются, кластер «тормозит» при входе или после аварийной перезагрузки ведёт себя странно, помогает очистка сеансового кеша:
- Дождитесь нерабочего времени — все пользователи будут отключены.
- Остановите службу агента и убедитесь, что в диспетчере задач не осталось
ragent,rmngr,rphost. - Сделайте копию каталога
srvinfo. - Удалите в
srvinfo\reg_1541только каталогиsnccntx…. - Запустите службу.
Файлы 1CV8Clst.lst и 1cv8wsrv.lst не удаляйте. Удаление каталогов с GUID баз тоже возможно — там кеш, — но после этого первый вход в каждую базу будет заметно дольше.
Права учётной записи и защита агента
Под кем запускать службу
Установщик по умолчанию создаёт локального пользователя USR1CV8. Запускать агент от LocalSystem или администратора домена — лишний риск: серверный код конфигурации выполняется с правами этой учётной записи.
Учётной записи службы нужны:
- ✅ право «Вход в качестве службы» в локальной политике безопасности;
- ✅ полный доступ к каталогу
srvinfo; - ✅ чтение и запуск в каталоге платформы
C:\Program Files\1cv8\<версия>; - ✅ доступ к каталогам, куда база пишет или откуда читает файлы (обмены, выгрузки);
- ✅ доступ к СУБД — если используется вход по Windows-аутентификации.
Если сменили пароль USR1CV8, обновите его во вкладке «Вход в систему» свойств службы, иначе после перезагрузки агент не поднимется.
Администраторы центрального сервера и кластера
По умолчанию после установки администраторов нет, и любой, у кого есть консоль и сетевой доступ к 1540, может управлять кластером: удалить базу из списка , завершить сеансы, поменять настройки.
Защита ставится в консоли администрирования:
Центральный сервер → Администраторы— добавьте учётную запись. Хранится в1cv8wsrv.lst.Кластеры → <кластер> → Администраторы— отдельный список для кластера. Хранится в1CV8Clst.lst.
Для администратора можно разрешить вход по паролю или по учётной записи операционной системы.
Забыли пароль администратора кластера? Не пересоздавайте кластер. Остановите службу (сеансы оборвутся), восстановите 1CV8Clst.lst из резервной копии с известным паролем или обратитесь к тому, кто администрирует сервер.
Брандмауэр
На сервере откройте входящие соединения для 1540, 1541, диапазона 1560–1591 и, если используете rac с других машин, 1545. Ограничьте источник подсетями пользователей. Публиковать эти порты в интернет нельзя: для удалённой работы есть веб-публикация и VPN.
Частые вопросы
Можно ли обновить платформу, не теряя список баз в кластере?
-d тот же каталог srvinfo, и реестр кластера подхватывается. Старую службу останавливают и отключают, чтобы она не заняла те же порты.