Что делать, если после сбоя питания пропали базы из кластера 1С и не запускается агент сервера?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Внезапное отключение электроэнергии или аварийное выключение физического сервера — распространенная причина сбоя серверной части 1С:Предприятия. В результате служба «Агент сервера 1С:Предприятия 8.3» либо завершает работу сразу после старта, либо запускается номинально, но при попытке открыть консоль администрирования или войти в информационную базу выдает ошибки: Конечный компьютер отверг запрос на подключение или Не найдено ни одного сервера с размещенным сервисом servicename = ClusterConfigService. Разберем причины такого поведения и пошагово восстановим работу кластера.

Причины падения службы и исчезновения списка баз

Проанализируем ситуацию: в момент аварийного отключения питания операционная система не успевает сбросить данные из дискового кэша на накопитель. Служебные файлы настроек кластера 1С, расположенные в каталоге srvinfo (файлы с расширением .lst, такие как 1CV8Clst.lst, 1cv8wsrv.lst), оказываются повреждены или заполнены нулевыми байтами (nullnullnull...).

При старте менеджер кластера (rmngr) пытается прочитать структуру кластера из этих файлов, сталкивается с некорректным форматом и аварийно завершает свою работу. Поскольку менеджер кластера не запустился, порты кластера (по умолчанию 1540 и 1541) остаются закрытыми, что и приводит к ошибке отказа в подключении.

Если запустить исполняемый файл ragent.exe вручную из каталога bin без параметров, процесс стартует от имени текущего пользователя и создает временный пустой кластер в пользовательском профиле. Поэтому кластер открывается совершенно пустым, без реальных информационных баз.

Важно понимать: сами данные в СУБД (PostgreSQL, MS SQL Server и др.) при повреждении файлов кластера 1С не страдают. Кластер 1С хранит лишь описание подключения к базам (имя базы, имя сервера СУБД, параметры сеансов и фоновых заданий).

Пошаговый алгоритм восстановления работы сервера 1С

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

  1. Останавливаем службу сервера 1С: откроем оснастку «Службы» (services.msc), найдем службу Агент сервера 1С:Предприятия 8.3 (или 1C:Enterprise 8.3 Server Agent) и нажмем «Остановить». Также можно выполнить команду в командной строке от имени администратора:net stop "1C:Enterprise 8.3 Server Agent"
  2. Создаем резервную копию каталога srvinfo: перед любыми манипуляциями обязательно сохраним текущую папку с настройками. По умолчанию каталог расположен по пути C:\Program Files\1cv8\srvinfo (или C:\Program Files (x86)\1cv8\srvinfo / C:\Program Files\1cv82\srvinfo в зависимости от версии и разрядности). Скопируем папку srvinfo в безопасное место.
  3. Проверяем и очищаем поврежденные файлы: перейдем в папку кластера srvinfo\reg_1541. Откроем текстовым редактором файл 1CV8Clst.lst. Если внутри отображаются сплошные символы NUL или нечитаемый мусор, файл поврежден. Для полной очистки кэша и сбойных настроек удалим содержимое рабочего каталога (папки кэша сеансов snccntx, временные файлы и поврежденные файлы .lst). Если цель — полностью пересоздать кластер с нуля, очистим каталог reg_1541 и файл 1cv8wsrv.lst в корне srvinfo.
  4. Запускаем службу агента сервера: вернемся в оснастку служб и запустим Агент сервера 1С:Предприятия 8.3:net start "1C:Enterprise 8.3 Server Agent"После запуска служба автоматически создаст чистые файлы конфигурации кластера со стандартными параметрами по умолчанию.
  5. Подключаем информационные базы заново: откроем стандартную оснастку «Утилита администрирования кластеров 1С:Предприятия». В дереве кластера перейдем в ветку «Информационные базы», нажмем правой кнопкой мыши и выберем «Создать -> Информационная база». Укажем параметры базы данных в точности так, как они были настроены ранее: имя базы в кластере, имя сервера баз данных (например, PostgreSQL или MS SQL), тип СУБД, имя базы в СУБД, логин и пароль пользователя СУБД. Повторим эту операцию для всех баз. Данные сразу станут доступны пользователям.

Альтернативный способ: восстановление настроек через теневые копии (VSS)

Рассмотрим случай, когда баз в кластере было много, и повторный ввод их параметров вручную занимает слишком много времени. Если в Windows настроена защита системы или теневые копии тома (Volume Shadow Copy):

  1. Остановим службу 1C:Enterprise 8.3 Server Agent.
  2. Нажмем правой кнопкой мыши по каталогу srvinfo, выберем пункт «Свойства» и перейдем на вкладку «Предыдущие версии».
  3. Выберем точку восстановления, созданную до момента аварии, и скопируем из нее файлы 1cv8wsrv.lst и reg_1541\1CV8Clst.lst.
  4. Поместим восстановленные файлы в рабочий каталог srvinfo с заменой поврежденных.
  5. Запустим службу сервера 1С. Все базы и настройки кластера моментально вернутся на свои места.

Как предотвратить подобные сбои в будущем

Проанализируем меры профилактики, которые позволят исключить повреждение конфигурации кластера при перебоях с электропитанием:

  1. Регулярное резервное копирование файлов *.lst: настроим регулярное (например, ежечасное) копирование файлов конфигурации кластера из папки srvinfo. Так как их размер обычно не превышает нескольких десятков килобайт, это позволит восстановить конфигурацию за секунды.
  2. Настройка политик дискового кэширования: в «Диспетчере устройств» Windows для накопителя с каталогом srvinfo в свойствах диска (вкладка «Политика») рекомендуется отключить кэширование записей, если на сервере отсутствует аппаратный RAID-контроллер с батарейным модулем защиты (BBU/Flash).
  3. Корректное выключение серверов через ИБП: программное обеспечение источника бесперебойного питания при переходе на батарею должно автоматически вызывать остановку службы агента сервера 1С (командой net stop) до полного отключения питания сервера.
← На главную