Карта настроек сервера 1С 8.3: srvinfo, реестр, conf и логи

· 10 мин

Содержание

Настройки сервера 1С 8.3 хранятся в трёх местах. Параметры запуска службы (порты, каталог данных) — в реестре Windows, в ключе службы агента. Реестр кластера со списком баз, рабочих серверов и администраторов — в файле 1CV8Clst.lst внутри каталога srvinfo, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\. Технологический журнал, сетевые ключи и прочие тонкие настройки — в файлах каталога conf.

Какое место открывать, зависит от задачи. Сменить порт или путь к данным — правите службу. Найти, где лежит журнал регистрации базы или кэш, — идёте в srvinfo. Включить техжурнал — создаёте logcfg.xml. Ниже по каждому месту: точный путь, что внутри и что можно трогать.

Из чего состоит сервер 1С и где лежит каждая часть

Сервер 1С:Предприятия — это не одна программа, а несколько процессов. У каждого свои настройки.

КомпонентИсполняемый файлГде его настройки
Агент сервераragent.exeпараметры командной строки службы (реестр)
Менеджер кластераrmngr.exesrvinfo\reg_<порт>\1CV8Clst.lst
Рабочие процессыrphost.exeсвойства рабочего сервера в том же 1CV8Clst.lst
Сервер администрированияras.exeпараметры командной строки своей службы
Технологический журнал—logcfg.xml в каталоге conf
Программные лицензии—C:\ProgramData\1C\licenses\

Сама платформа ставится в C:\Program Files\1cv8\<номер версии>\bin\, например C:\Program Files\1cv8\8.3.24.1548\bin\. В этой папке нет настроек кластера — только программа. Поэтому при обновлении платформы список баз и администраторы не теряются: они живут отдельно, в srvinfo.

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

  • 🔌 1540 — агент сервера, к нему клиент обращается первым;
  • 🔌 1541 — менеджер кластера, его номер даёт имя папке reg_1541;
  • 🔌 1560–1591 — диапазон для рабочих процессов, задаётся в свойствах рабочего сервера.

Параметры службы агента в реестре Windows

Служба агента регистрируется установщиком под именем вида 1C:Enterprise 8.3 Server Agent (x86-64). Все её параметры собраны в одной строке запуска. Хранится она здесь:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)

Нужное значение — ImagePath. Типичное содержимое:

"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug

Что значит каждый ключ:

  • -port 1540 — порт агента;
  • -regport 1541 — порт менеджера кластера;
  • -range 1560:1591 — диапазон портов для процессов кластера;
  • -d "…\srvinfo" — каталог, где лежат все данные кластера; это главный ответ на вопрос «где хранятся настройки»;
  • -debug — разрешает отладку на сервере, на рабочем сервере обычно не нужен.

Учётная запись, от которой работает служба, видна в оснастке services.msc на вкладке «Вход в систему». По умолчанию установщик создаёт пользователя USR1CV8. У него должны быть права на запись в каталог srvinfo и в папку логов.

Как поменять порт или каталог srvinfo

  1. Предупредите пользователей: остановка службы оборвёт все сеансы. Делайте это вне рабочего времени.
  2. Остановите службу агента в services.msc.
  3. Если меняете каталог — перенесите папку srvinfo целиком на новое место.
  4. Выдайте учётной записи службы полные права на новую папку.
  5. В regedit отредактируйте ImagePath: новый путь после -d или новые номера портов.
  6. Запустите службу и откройте консоль кластера.

Если поменяли -regport, менеджер кластера будет искать папку reg_<новый порт>. Старая reg_1541 останется лежать рядом, а консоль покажет пустой кластер. Порт менеджера без нужды не трогайте.

Строку службы можно поправить и без реестра, командой sc config с параметром binPath=. Результат тот же — меняется ImagePath.

Служба сервера администрирования RAS, если вы её регистрировали для работы rac, лежит в соседнем ключе Services под тем именем, которое дали при создании. Её порт по умолчанию — 1545.

Каталог srvinfo: файлы кластера на диске

В каталоге из параметра -d хранится всё, что вы настраиваете в консоли администрирования. Структура при стандартных портах такая:

srvinfo\
├── srvribrg.lst          ← администраторы центрального сервера (агента)
└── reg_1541\
    ├── 1CV8Clst.lst      ← реестр кластера
    ├── snccntx<GUID>\    ← кэш сеансовых данных
    └── <GUID базы>\      ← данные каждой информационной базы
        ├── 1Cv8Log\      ← журнал регистрации
        └── 1Cv8FTxt\     ← индекс полнотекстового поиска

Что записано в 1CV8Clst.lst

Это главный файл кластера. Всё, что вы меняете в консоли в ветке кластера, оказывается здесь:

  • 📋 список зарегистрированных информационных баз и параметры их подключения к СУБД;
  • 🖥 рабочие серверы кластера и их свойства: диапазон портов, ограничения памяти, параметры рабочих процессов;
  • 👤 администраторы кластера;
  • 🔒 профили безопасности и требования назначения функциональности;
  • ⚙️ уровень отказоустойчивости, интервал перезапуска процессов.

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

Перед любой серьёзной операцией с кластером копируйте 1CV8Clst.lst в отдельную папку. Это несколько килобайт, а восстановить по нему список баз можно за минуту.

Если папки называются не reg_1541

Имя папки повторяет порт менеджера. Если на машине несколько кластеров или служб разных версий, вы увидите reg_2541, reg_3541 и так далее. Сверяйте номер с -regport в строке службы — так понятно, какая папка к какому кластеру относится.

Когда агент запускают не службой, а приложением без ключа -d, данные пишутся в профиль пользователя: %LOCALAPPDATA%\1C\1cv8\. Если srvinfo пустая, а кластер в консоли есть, — ищите там.

Где хранятся настройки информационных баз

Настройки базы делятся на две части: серверную и клиентскую.

На сервере

Параметры регистрации базы — имя, сервер СУБД, имя базы данных, пользователь СУБД, блокировка регламентных заданий — записаны в 1CV8Clst.lst. Отдельного файла под каждую базу нет.

А вот рабочие данные базы лежат в отдельной папке reg_1541\<GUID базы>\. Имя папки — внутренний идентификатор, а не имя базы. Чтобы понять, какая папка чья, есть два способа:

  1. Открыть 1CV8Clst.lst блокнотом и найти имя базы поиском. Рядом с ним стоит её GUID.
  2. Выполнить через сервер администрирования:
rac cluster list
rac infobase summary list --cluster=<идентификатор кластера>

Вторая команда выводит пары «идентификатор — имя» для всех баз кластера.

На клиенте

Список баз в окне запуска хранится не на сервере, а у каждого пользователя:

  • %APPDATA%\1C\1CEStart\ibases.v8i — сам список баз со строками подключения вида Srvr="srv1c";Ref="buh";;
  • %APPDATA%\1C\1CEStart\1cestart.cfg — настройки стартера, в том числе ссылки на общие списки баз;
  • %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\ — клиентский кэш конфигураций и настройки форм.

Если надо раздать один список баз на весь отдел, удобнее положить общий .v8i в сетевую папку и прописать путь к нему в 1cestart.cfg строкой CommonInfoBases=.

Журналы регистрации, техжурнал и файлы conf

Журнал регистрации

Журнал каждой базы лежит в reg_1541\<GUID базы>\1Cv8Log\. Формат определяется по файлам:

Файлы в папкеФорматКак читать
1Cv8.lgdновый, SQLiteтолько через 1С или средства для SQLite
1Cv8.lgf + *.lgpстарый, текстовый1С; .lgp — текстовые куски по периодам

Журнал растёт быстро. Объём в десятки гигабайт на загруженной базе — обычная картина. Ограничить его можно в Конфигураторе: меню Администрирование → Настройка журнала регистрации, там задают уровень событий и сокращают журнал.

Технологический журнал и logcfg.xml

По умолчанию техжурнал выключен. Его включает файл logcfg.xml. Платформа ищет его в каталоге conf:

  • общий для всех версий: C:\Program Files\1cv8\conf\;
  • для конкретной версии: C:\Program Files\1cv8\8.3.xx.xxxx\bin\conf\.

Куда смотрит конкретная версия, видно в файле bin\conf\conf.cfg: строка ConfLocation= указывает на общий каталог.

Минимальный logcfg.xml для сбора исключений:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\1c_techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Логи пойдут в D:\1c_techlog, хранение — 24 часа. Перезапускать службу не нужно: платформа перечитывает файл сама примерно в течение минуты.

Техжурнал с событиями без фильтра забивает диск за часы. Включайте его на время разбора проблемы, ставьте history и выносите location на диск, где не лежат базы.

Другие файлы в conf

  • nethasp.ini — адрес сервера сетевых HASP-ключей. Если ключ стоит на другой машине, его IP прописывают в секции [NH_TCPIP] параметром NH_SERVER_ADDR.
  • conf.cfg — ссылка на общий каталог настроек и язык интерфейса.

Лицензии и сервер на Linux

Программные лицензии

Активированные программные лицензии сервера лежат файлами *.lic в каталоге C:\ProgramData\1C\licenses\. Папка ProgramData по умолчанию скрыта — включите показ скрытых элементов в проводнике.

Лицензия привязана к параметрам оборудования. Поэтому файл .lic нельзя просто скопировать на новый сервер и считать, что всё работает. На новом железе лицензию придётся восстановить — для этого нужен пин-код и регистрационные данные, указанные при первой активации. Сохраните их заранее.

Где лежат настройки на Linux

На Linux логика та же, меняются только пути:

ЧтоПуть по умолчанию
Платформа/opt/1cv8/x86_64/8.3.xx.xxxx/
Каталог данных кластера/home/usr1cv8/.1cv8/1C/1cv8/
Реестр кластера…/1cv8/reg_1541/1CV8Clst.lst
Общий каталог conf/opt/1cv8/conf/
Программные лицензии/var/1C/licenses/

Параметры запуска агента на свежих версиях платформы задаются в юните systemd службы srv1cv8-<версия>@.service. На старых установках со скриптом /etc/init.d/srv1cv83 их брали из файла /etc/default/srv1cv83 (Debian, Ubuntu) или /etc/sysconfig/srv1cv83 (RHEL-подобные). Там прописаны порты, путь к данным в SRV1CV8_DATA и режим отладки.

Пользователь службы — usr1cv8. Если копируете данные кластера под root, верните владельца командой chown -R usr1cv8:grp1cv8 на каталог данных, иначе служба не стартует.

Перенос настроек сервера 1С на другой компьютер

Сценарий зависит от того, сохраняется ли имя машины. В 1CV8Clst.lst записано сетевое имя рабочего сервера, и на компьютере с другим именем скопированный файл даст кластер, который ссылается на старый хост.

Какой у вас переезд?

Что ещё забрать со старого сервера, помимо srvinfo:

Что сохранить перед переездом
Выполнено: 0 / 6

Копировать srvinfo можно только при остановленной службе — и на старом, и на новом сервере. Копия с работающего кластера может оказаться несогласованной. Остановку согласуйте с пользователями: все сеансы будут завершены.

После запуска на новой машине откройте консоль администрирования, проверьте список баз и попробуйте подключиться к одной из них клиентом. Журналы регистрации переносить необязательно, но если их потерять, история изменений в базах пропадёт.

Частые проблемы и вопросы

Сбои, связанные с файлами настроек

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

Ответы на частые вопросы

Можно ли удалить папки snccntx, чтобы почистить кэш сервера?
Можно, но только при остановленной службе агента. Остановка завершит все сеансы, поэтому делайте это вне рабочего времени. Сами папки платформа создаст заново при запуске.
Теряются ли настройки кластера при обновлении платформы?
Нет, если новая версия запускается с тем же каталогом после ключа -d. Установщик меняет только путь к ragent.exe в строке службы, а srvinfo остаётся прежним.
Где хранится строка подключения к базе SQL Server или PostgreSQL?
В 1CV8Clst.lst, в записи этой информационной базы. Пароль пользователя СУБД там тоже есть, поэтому доступ к каталогу srvinfo ограничивайте.
Как узнать, какая из папок с GUID занимает больше всего места?
Отсортируйте папки внутри reg_1541 по размеру, затем найдите GUID самой большой в 1CV8Clst.lst или в выводе rac infobase summary list.
Нужно ли бэкапить srvinfo, если базы лежат в СУБД?
Да. В бэкапе СУБД нет регистрации баз в кластере, администраторов и профилей безопасности. Достаточно копировать 1CV8Clst.lst и srvribrg.lst после каждого изменения в консоли.