Можно ли прописать локальный путь до томов хранения файлов в 1С вместо сетевого?

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

При администрировании баз данных 1С, особенно таких тяжелых конфигураций как 1С:Документооборот, часто возникает вопрос оптимизации работы с прикрепленными файлами. Проанализируем распространенную ситуацию: тома хранения файлов физически располагаются на том же сервере, где работает служба сервера 1С:Предприятия. По умолчанию для их подключения используется сетевой путь вида \\ИмяСервера\ПапкаТома\. У многих системных администраторов возникает логичный вопрос: можно ли прописать прямой локальный путь, например D:\1CDOFiles\, чтобы сервер не обращался к файлам через сетевой интерфейс и тем самым ускорить открытие объемных документов?

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

Почему для серверов Windows требуется именно сетевой путь (UNC)

Разберем по шагам логику разработчиков платформы. Платформа 1С:Предприятие изначально проектировалась с расчетом на масштабируемую кластерную архитектуру (для администрирования которой удобно использовать специализированные панели управления). Даже если в данный момент у вас развернут только один рабочий сервер, система всегда ожидает, что в будущем нагрузка может возрасти, и вы добавите в кластер новые рабочие серверы (ноды).

Если прописать жесткий локальный путь, такой как D:\1CDOFiles\, то этот путь будет понятен только тому серверу, на котором физически находится диск D. Если к кластеру подключится второй сервер, он попытается найти файлы на своем собственном локальном диске D, не найдет их и выдаст ошибку доступа.

Именно поэтому для серверов под управлением ОС Windows необходимо использовать единый сетевой формат (UNC-путь), который будет выглядеть так: \\server\folder. Этот формат гарантирует, что любой рабочий процесс rphost на любом сервере кластера сможет корректно найти и прочитать нужный том.

Посмотрим на пример правильной настройки, если том расположен на одном компьютере с сервером 1С:

  1. Создайте папку на локальном диске, например C:\volume1.
  2. Настройте общий доступ к этому каталогу (закладка Sharing/Доступ в свойствах каталога).
  3. В настройках тома в 1С укажите полный сетевой путь к этому каталогу: \\server\volume1.

Миф о нагрузке на сетевую карту

Многие специалисты ошибочно полагают, что если указать путь через двойной слеш \\Serv2\1CDOFiles\, то сервер начнет "гонять" трафик через физическую сетевую карту к самому себе. Предполагается, что это ограничивает скорость чтения пропускной способностью сетевого адаптера.

Проанализируем ситуацию на уровне операционной системы. Эти опасения абсолютно безосновательны. Когда операционная система Windows обращается по сетевому пути к расшаренной папке, расположенной на этом же самом компьютере, она использует внутренний интерфейс замыкания на себя (SMB Loopback).

Пакеты данных в этом случае вообще не доходят до контроллера физической сетевой карты. Взаимодействие происходит исключительно на уровне оперативной памяти и ядра ОС. Скорость работы в таком режиме практически идентична скорости прямого линейного чтения с локального жесткого диска. Никаких дополнительных сетевых задержек не возникает.

Особенности настройки путей к томам на серверах Linux

Сравним описанную выше механику с работой серверов под управлением ОС Linux. Архитектура работы с файловыми системами здесь в корне отличается от Windows.

Если сервер 1С работает под Linux, платформа официально позволяет указывать прямой локальный путь к каталогу тома. Например, вы можете прописать путь /home/shared_files/volume1. Использование сетевых шар (через CIFS/SMB или NFS) для масштабирования кластера в среде Linux настраивается на уровне монтирования каталогов самой операционной системой, а не внутри платформы 1С. Служба сервера 1С просто обращается к смонтированной локальной директории, не задумываясь о том, физический ли это диск или сетевой ресурс.

Истинные причины долгого открытия больших файлов

Если мы выяснили, что сетевой путь не замедляет чтение файлов сервером, почему же пользователи жалуются на долгое открытие больших документов? Разберем основные причины (узкие места) этой проблемы:

  1. Транспортировка файла от сервера к клиенту: Когда пользователь запрашивает файл в тонком или веб-клиенте, клиентское приложение не обращается напрямую к тому \\Serv2\1CDOFiles\. Клиент вообще может не иметь прав доступа к этой папке (и в целях безопасности так и должно быть). Файл забирает рабочий процесс сервера 1С, помещает его в свою оперативную память, разбивает на пакеты и передает клиенту по сети. Именно пропускная способность канала связи между рабочим местом пользователя и сервером 1С чаще всего является причиной долгого открытия тяжелых файлов.
  2. Вмешательство антивирусного ПО: В корпоративных сетях файловые серверы и общие папки строго контролируются антивирусами. При включенной функции проверки файлов "на лету" (On-Access Scanning), антивирус перехватывает каждое обращение 1С к файлу, блокирует его, сканирует содержимое и только потом отдает приложению. Для ускорения работы настоятельно рекомендуется добавлять каталоги томов 1С в исключения серверного антивируса (естественно, с соблюдением общих регламентов информационной безопасности).
  3. Скорость дисковой подсистемы: Если файлы лежат на медленных HDD-дисках, собранных в неоптимальный RAID-массив, скорость отдачи будет низкой независимо от способа обращения к файлу. Рекомендуется использовать производительные SSD-накопители для оперативного файлового хранилища.

Практические советы по работе с томами в 1С

Чтобы избежать ошибок при администрировании файлового хранилища, рассмотрим несколько важных правил настройки томов в платформе 1С:Предприятие:

Права доступа: Папка, к которой вы предоставляете общий доступ для создания тома, должна обязательно иметь права на чтение и запись для того системного пользователя, от имени которого запущена служба сервера 1С:Предприятия. В ОС Windows по умолчанию это локальный пользователь USR1CV8. Если прав не будет, 1С не сможет инициализировать том.

Изменение путей: Важно помнить, что для уже созданного и используемого тома хранения в 1С изменить путь нельзя. Платформа блокирует эту возможность для сохранения целостности ссылок. Если вам критически необходимо перенести файлы на другой диск или изменить структуру путей, вам потребуется:

  1. Создать новый том хранения с новым правильным путем в интерфейсе 1С.
  2. Временно остановить работу пользователей.
  3. Перенести физические файлы средствами ОС из старой папки в новую.
  4. Скорректировать записи в системных регистрах базы данных (обычно это делается специальными обработками).
  5. Альтернативный вариант: просто пометить старый том как неактивный (изменив порядок заполнения или установив предел размера), создать новый том, и тогда все новые файлы будут сохраняться по новому пути, а старые останутся доступны для чтения по старому пути.

Подводя итоги, можно сказать, что стремление прописать локальный диск для томов в Windows-среде 1С не только нарушает стандарты платформы, но и не несет в себе никакого выигрыша в производительности. Грамотно настраивайте общие ресурсы, следите за скоростью сети между сервером и клиентами и контролируйте работу антивирусного ПО.

← На главную