Карта настроек сервера 1С 8.3: srvinfo, реестр, conf и логи
Содержание
Настройки сервера 1С 8.3 хранятся в трёх местах. Параметры запуска службы (порты, каталог данных) — в реестре Windows, в ключе службы агента. Реестр кластера со списком баз, рабочих серверов и администраторов — в файле 1CV8Clst.lst внутри каталога srvinfo, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\. Технологический журнал, сетевые ключи и прочие тонкие настройки — в файлах каталога conf.
Какое место открывать, зависит от задачи. Сменить порт или путь к данным — правите службу. Найти, где лежит журнал регистрации базы или кэш, — идёте в srvinfo. Включить техжурнал — создаёте logcfg.xml. Ниже по каждому месту: точный путь, что внутри и что можно трогать.
Из чего состоит сервер 1С и где лежит каждая часть
Сервер 1С:Предприятия — это не одна программа, а несколько процессов. У каждого свои настройки.
| Компонент | Исполняемый файл | Где его настройки |
|---|---|---|
| Агент сервера | ragent.exe | параметры командной строки службы (реестр) |
| Менеджер кластера | rmngr.exe | srvinfo\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
- Предупредите пользователей: остановка службы оборвёт все сеансы. Делайте это вне рабочего времени.
- Остановите службу агента в
services.msc. - Если меняете каталог — перенесите папку
srvinfoцеликом на новое место. - Выдайте учётной записи службы полные права на новую папку.
- В
regeditотредактируйтеImagePath: новый путь после-dили новые номера портов. - Запустите службу и откройте консоль кластера.
Если поменяли -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 базы>\. Имя папки — внутренний идентификатор, а не имя базы. Чтобы понять, какая папка чья, есть два способа:
- Открыть
1CV8Clst.lstблокнотом и найти имя базы поиском. Рядом с ним стоит её GUID. - Выполнить через сервер администрирования:
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:
Копировать srvinfo можно только при остановленной службе — и на старом, и на новом сервере. Копия с работающего кластера может оказаться несогласованной. Остановку согласуйте с пользователями: все сеансы будут завершены.
После запуска на новой машине откройте консоль администрирования, проверьте список баз и попробуйте подключиться к одной из них клиентом. Журналы регистрации переносить необязательно, но если их потерять, история изменений в базах пропадёт.