Каждый администратор серверов 1С рано или поздно сталкивается с критической ситуацией: на системном диске сервера (как правило, это диск C:\) внезапно заканчивается свободное место. При детальном анализе выясняется, что виновником является каталог рабочего процесса сервера 1С, расположенный по умолчанию по пути C:\Program Files\1cv8\srvinfo\reg_1541. Его объем может разрастаться до десятков и сотен гигабайт, парализуя работу всей системы.
В этой статье мы подробно и по шагам разберем, почему переполняется эта директория, как безопасно очистить накопившийся мусор, не повредив рабочие базы данных, и как перенести этот каталог на другой жесткий диск, чтобы навсегда забыть о проблеме нехватки места.
Прежде чем приступать к удалению файлов, давайте разберемся, из чего состоит структура каталога reg_1541. Имя этой папки соответствует порту главного рабочего процесса кластера 1С (по умолчанию это 1541). Внутри нее находятся подкаталоги, имена которых представляют собой уникальные идентификаторы (GUID) информационных баз, зарегистрированных в кластере. Внутри папки каждой конкретной базы хранятся следующие ключевые элементы:
indexMain.bin, размер которого может превышать несколько гигабайт.Проанализируем детально каждую составляющую и выработаем надежные методы оптимизации.
Если вы столкнулись с ошибкой выполнения файловой операции с файлом indexMain.bin (например, при вызове метода FullTextSearch.UpdateIndex или ОбновитьИндекс), это первый признак того, что файловая система диска C:\ исчерпала свои ресурсы. Когда на диске остается критически мало места (менее 10-20 ГБ), СУБД, операционная система и сам сервер 1С начинают работать нестабильно, блокируя создание временных файлов.
Рассмотрим два способа очистки и восстановления работоспособности полнотекстового поиска.
Это самый правильный и штатный способ сбросить раздувшийся индекс без остановки сервера. Выполним следующие действия:
1Cv8FTxt на сервере.Если полнотекстовый поиск в вашей организации не используется сотрудниками, его рекомендуется полностью отключить в этом же меню, сняв соответствующий флажок. Это сэкономит дисковое пространство и снизит нагрузку на дисковую подсистему сервера.
Если из-за нехватки места зайти в базу невозможно, мы можем очистить кэш вручную:
services.msc.C:\Program Files\1cv8\srvinfo\reg_1541\[GUID_базы]\1Cv8FTxt\.Важное предупреждение: Первичное построение индекса крупной базы данных создает высокую нагрузку на процессоры и диски сервера. Рекомендуется выполнять эту операцию в нерабочее время.
Также стоит учитывать критический баг платформы 1С версий 8.3.24–8.3.26. В этих релизах файл изменений tableChanges.dat в папке поиска может бесконечно разрастаться, поглощая сотни гигабайт. Если вы столкнулись с этим, обновите платформу до актуальных исправленных релизов.
Журнал регистрации в современных версиях платформы по умолчанию хранится в формате базы данных SQLite (файл 1cv8.lgd). При активной работе пользователей этот файл растет с огромной скоростью.
Многие администраторы пытаются уменьшить размер журнала через стандартное сокращение в конфигураторе. Однако они замечают, что файл на диске не уменьшается ни на один мегабайт. Выясним причину этого поведения: СУБД SQLite при удалении записей не возвращает физическое место операционной системе, а лишь помечает эти страницы как свободные внутри самого файла.
Чтобы физически сжать журнал регистрации, выполним один из следующих вариантов:
1cv8.lgd, расположенный в папке 1Cv8Log нужной базы.
VACUUM;
Если вам не требуется мгновенный доступ к старым логам непосредственно из интерфейса 1С, мы можем перенести их в архив:
1Cv8Log и переименуем файл 1cv8.lgd в 1cv8_old.lgd (или переместим его на архивный диск).1cv8.lgd минимального размера. Старый файл при необходимости можно будет открыть локально через конфигуратор.Попытки постоянно очищать логи и индексы на системном диске C:\ — это лишь временная мера. Рано или поздно свободное место снова закончится. Гораздо надежнее перенести рабочий каталог сервера srvinfo целиком на более емкий диск (например, D:\ или E:\).
Разберем этот процесс по шагам:
srvinfo (вместе со всеми вложенными файлами и структурой) из каталога по умолчанию C:\Program Files\1cv8\ в новую директорию, например, D:\1C\srvinfo\.D:\1C\srvinfo\, перейдем на вкладку «Безопасность» и предоставим права «Полный доступ» пользователю, от имени которого запускается служба 1С. По умолчанию это локальный системный пользователь USR1CV8. Если этого не сделать, служба сервера 1С просто откажется запускаться.Win + R, введем regedit и нажмем Enter.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
ImagePath. Дважды кликнем по нему для редактирования.-d. По умолчанию там указано:
-d "C:\Program Files\1cv8\srvinfo"
-d "D:\1C\srvinfo"
Проверим работоспособность баз данных. Все новые логи, индексы и сеансовые файлы теперь будут создаваться на диске D:\, полностью обезопасив системный раздел от переполнения.
⚠️ Внимание! Главное предостережение администратору: При каждом последующем обновлении версии платформы 1С:Предприятие (установке нового релиза) установщик заново создает службу Windows и сбрасывает путь к рабочему каталогу в реестре на значение по умолчанию. Не забывайте после каждого обновления платформы заходить в реестр и заново прописывать путь к диску D:\ перед первым запуском новой версии сервера!
Со временем в папке reg_1541 накапливаются каталоги баз, которые давно были удалены из кластера через консоль администрирования. Платформа 1С не удаляет физические файлы журналов регистрации таких баз при их удалении из списка. Чтобы выявить и безопасно удалить такие папки, проделаем следующее:
1CV8Clst.lst, который находится в корне папки reg_1541, с помощью обычного Блокнота.reg_1541, со списком GUID из файла конфигурации.1CV8Clst.lst, являются «сиротами». Мы можем безвозвратно удалить их, освободив гигабайты свободного места.Также обратим внимание на папки, имена которых начинаются с snccntx. В них сохраняется оперативная информация о сеансах пользователей. Если служба сервера была завершена аварийно, эти файлы могут оставаться заблокированными и раздувать объем папки. При остановленной службе сервера 1С файлы и папки вида snccntx* можно удалять без всяких опасений. Для автоматизации этого процесса можно использовать скрипт для очистки сеансовых данных и серверного кэша.
Иногда причиной резкого заполнения жесткого диска становится забытая или неправильно настроенная трассировка технологического журнала 1С. Проверим, активирован ли он в системе:
C:\Program Files\1cv8\conf\ (или в аналогичный каталог для 32-битных версий).logcfg.xml.C:\ без ограничения по объему и времени хранения, мы рискуем быстро заполнить диск.Выполнив все описанные мероприятия, мы не только вернем драгоценное свободное место на системном диске сервера, но и значительно повысим стабильность, скорость и надежность функционирования всей экосистемы 1С:Предприятие в вашей компании. Для своевременного контроля за состоянием дисков можно использовать телеграм-бота для мониторинга свободного дискового пространства сервера.