Внезапное отключение электропитания сервера — это критическая ситуация, которая часто приводит к повреждению кэша, служебных файлов и нарушению работы портов. Одной из самых неприятных проблем является ситуация, когда после перезагрузки служба 1С «зависает», а процесс rphost потребляет значительную часть ресурсов процессора (например, 25% на 4-ядерном процессоре), при этом пользователи не могут подключиться к базам.
Разберем подробно, как восстановить работоспособность сервера без полной переустановки платформы и ручного добавления всех информационных баз. Мы проанализируем причины сбоя и рассмотрим пошаговые алгоритмы реанимации системы.
Чаще всего администраторы совершают ошибку, полностью удаляя папку srvinfo. Это приводит к потере реестра кластера и списка всех информационных баз. Нам же важно сохранить конфигурацию, удалив только поврежденные временные данные. Рассмотрим правильную последовательность действий:
services.msc).C:\Program Files\1cv8\srvinfo.1cv8wsrv.lst (список кластеров) и 1CV8Clst.lst (реестр конкретного кластера, обычно находится в подпапке reg_1541).snaccfg — в ней хранятся настройки сеансов, которые часто повреждаются при сбое..lst на свои места.Выясним причину, по которой ragent или rmngr не могут занять свои порты. Иногда системные службы Windows, такие как IP Helper (Вспомогательная служба IP) или Print Spooler (Диспетчер печати), динамически захватывают порты из диапазона 1540–1591 сразу после старта ОС.
Проанализируем ситуацию в реестре Windows. Путь к параметрам службы 1С выглядит так:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent
Если конфликты портов происходят регулярно, выполним следующие действия:
ImagePath в реестре.После аварийного завершения серверу 1С требуется время на проверку целостности файлов в srvinfo. Если Windows не получает ответ от службы в течение стандартных 30 секунд, она принудительно завершает процесс, считая его зависшим. Рассмотрим, как дать серверу больше времени на самовосстановление:
regedit).HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.ServicesPipeTimeout.180000 (это соответствует 3 минутам).Чтобы не добавлять базы вручную после каждой переустановки или сбоя на стороне клиента, воспользуемся механизмом общих списков информационных баз. Разберем по шагам, как это настроить:
Сформируем один раз список всех баз в окне запуска 1С. После этого найдем файл ibases.v8i (обычно в %AppData%\1C\1cv8\). Сохраним его на сетевой ресурс или в надежную папку на сервере. В настройках окна запуска 1С (кнопка «Настройка») добавим путь к этому файлу в список «Списки общих информационных баз».
Пример структуры записи в таком файле:
[Бухгалтерия_Предприятия]
Connect=Srvr="ServerName";Ref="BaseName";
ID=e4b1...
OrderInList=1
Folder=/
External=0
Использование .v8i файлов позволяет мгновенно восстановить видимость всех 50 баз у любого пользователя или на новом сервере простым подключением одного файла конфигурации.
Если служба по-прежнему не запускается, проанализируем ошибки в реальном времени. Для этого нужно запустить агент сервера вручную в режиме отладки. Остановим службу и выполним в командной строке (от имени администратора) команду, аналогичную той, что прописана в реестре, но с добавлением ключа -debug:
"C:\Program Files\1cv8\8.3.9.2033\bin\ragent.exe" -debug -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Это позволит увидеть сообщения об ошибках доступа к файлам или конфликтах портов непосредственно в консоли, что гораздо информативнее стандартных логов Windows.
Поскольку 1С и SQL-сервер находятся на одной машине, внезапное отключение может вызвать две проблемы:
chkdsk C: /f. Поврежденные сектора в области файлов .lst могут вызывать бесконечный цикл чтения и нагрузку на ЦП.Max Server Memory в настройках SQL Management Studio, оставив системе и процессам rphost минимум 4 ГБ свободного пространства.Выполнив эти рекомендации, мы сможем восстанавливать работоспособность сервера за несколько минут, не прибегая к радикальным мерам переустановки программного обеспечения.