Одной из наиболее распространенных и неприятных проблем при администрировании сервера «1С:Предприятия» является отказ службы ragent (Агент сервера 1С) запускаться после изменения сетевого имени компьютера. Ситуация осложняется тем, что стандартная оснастка «Службы» часто выдает малоинформативные сообщения, такие как «Служба запустилась и затем остановилась» или «Ошибка 1920». В рамках данной статьи мы подробно разберем, почему это происходит, и проанализируем пошаговый алгоритм восстановления работоспособности сервера.
Прежде чем приступать к активным действиям, выясним причину сбоя. Внутренняя архитектура сервера «1С:Предприятия» тесно завязана на идентификации рабочих серверов по их сетевым именам. При первом создании кластера 1С записывает имя компьютера во внутренние конфигурационные файлы. Когда мы переименовываем компьютер в операционной системе, служба ragent при старте пытается обратиться к самой себе по старому имени, прописанному в настройках кластера, не находит «себя» в сети и аварийно завершает работу.
Рассмотрим метод, который позволяет увидеть реальные сообщения об ошибках, скрытые от глаз в графическом интерфейсе Windows. Вместо запуска через панель управления службами, мы попробуем запустить ragent вручную в консоли. Это позволит нам наблюдать процесс старта в реальном времени.
Откроем командную строку (cmd) от имени администратора, перейдем в каталог bin установленной платформы и выполним команду запуска агента. Проанализируем пример для версии 8.3.16.1224:
cd "C:\Program Files\1cv8\8.3.16.1224\bin"
ragent.exe -debug
Если после выполнения команды мы видим сообщение Server Agent finished практически сразу после Server Agent started, это подтверждает наличие критической ошибки в конфигурации или правах доступа. В консоли могут отобразиться более детальные сведения, например, невозможность создать файл блокировки или отсутствие доступа к каталогу реестра кластера.
Разберем ситуацию, когда служба не стартует из-за «мусора» в настройках. Основные параметры кластера хранятся в папке srvinfo. Если мы готовы пересоздать кластер и заново зарегистрировать информационные базы, самым надежным способом будет полная очистка содержимого этой папки. Однако, будьте осторожны: это приведет к удалению списка баз в консоли администрирования 1С (сами данные в SQL останутся нетронутыми).
Посмотрим на последовательность действий:
1C:Enterprise 8.3 Server Agent.C:\Program Files\1cv8\srvinfo).Важный нюанс: Если мы хотим сохранить настройки баз, нам нужно отредактировать файл 1cv8wsrv.lst, который находится внутри srvinfo. Откроем его текстовым редактором и заменим старое имя компьютера на новое во всех строках. Это позволит кластеру «узнать» сервер под новым именем.
Проанализируем ошибку: Ошибка 1920. Ошибка при запуске службы... Убедитесь, что у вас имеются разрешения на запуск системных служб. Эта ошибка часто возникает при попытке запуска службы от имени специально созданного пользователя (например, usr1cv8), у которого после переименования компьютера или изменения доменной политики пропали необходимые права.
Выясним, какие права необходимы пользователю службы:
C:\Program Files\1cv8.srvinfo.C:\Windows\Temp и %LOCALAPPDATA%\Temp.Если настройка прав кажется слишком сложной или не приносит результата, воспользуемся проверенным методом: переключим службу на запуск от имени «Локальной системной учетной записи» (Local System Account). Рассмотрим, как это сделать:
Агент сервера 1С:Предприятия 8.3.Иногда корень проблемы лежит глубже — в повреждении кэша системных профилей Windows. Проанализируем ошибку из журнала событий: Ошибка -1023 при открытии файла журнала ...\TileDataLayer\Database\EDB.log. Это указывает на то, что компоненты операционной системы не могут корректно инициализировать окружение для пользователя, под которым запускается 1С.
В этом случае рекомендуется:
C:\WINDOWS\system32\config\systemprofile\AppData\Local.Local или TileDataLayer отсутствуют, создадим их вручную.Temp, так как там могут оставаться старые файлы блокировок *.lock, созданные процессом ragent до переименования.Если вышеописанные методы не помогли, разберем способ получения максимально подробной информации о падении процесса. Настроим сбор Технологического журнала (ТЖ). Для этого в каталоге C:\Program Files\1cv8\conf (или аналогичном) создадим файл logcfg.xml со следующим содержанием:
<config xmlns="http://v8.1c.ru/7.4/get/logcfg">
<log location="C:\LOGS\1C" history="2">
<event>
<eq property="Name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
После создания файла и попытки запуска службы, в папке C:\LOGS\1C появятся логи. Проанализируем события типа EXCP (Exception). Там будет четко указано, на каком этапе инициализации ragent происходит сбой — будь то проверка лицензии, подключение к сетевому порту или чтение конфигурации кластера.
Мы выяснили, что основной причиной падения ragent при переименовании сервера является несоответствие нового имени хоста старым записям в файлах srvinfo и проблемы с правами доступа учетной записи. Наиболее быстрым решением является временный перевод службы на запуск от System Account и очистка (или правка) файлов настроек кластера. Не забывайте также проверять брандмауэр Windows, так как смена имени ПК может привести к смене сетевого профиля с «Частного» на «Общий», что заблокирует порты 1540, 1541 и диапазон 1560-1591.