При организации совместной работы с базой данных 1С системные администраторы и руководители небольших компаний часто рассматривают сетевое хранилище (NAS) как удобную замену выделенному серверу. На первый взгляд идея кажется привлекательной: автономное компактное устройство, зеркалирование дисков в RAID и удобный доступ по локальной сети. Однако на практике перенос базы на NAS почти всегда оборачивается падением скорости, блокировками и рисками повреждения данных. Разберем подробно, почему это происходит и какие архитектурные альтернативы существуют.
Главная ошибка заключается в сравнении линейной скорости передачи файлов и специфики работы файловой базы 1С. Файл информационной базы 1Cv8.1CD представляет собой совокупность таблиц и индексов. Когда база лежит на сетевом накопителе, каждый пользовательский сеанс выполняет микрооперации чтения и записи напрямую по протоколу SMB.
Проанализируем технические факторы, которые резко снижают производительность:
Помимо деградации производительности, перенос файла 1Cv8.1CD на сетевую папку создает критическую угрозу целостности базы. Файловый движок 1С не имеет полноценного механизма упреждающей записи в журнал транзакций (WAL), применяемого в СУБД промышленного уровня. Если в момент проведения сложного документа или закрытия месяца у одного из пользователей произойдет кратковременный обрыв связи (сбой коммутатора, нестабильный Wi-Fi, зависание клиентского компьютера), табличная структура и внутренние индексы файла базы данных повредятся. В этом случае запуск программы завершится аварийно с ошибкой «Файл базы данных поврежден», что потребует ручного восстановления утилитой chdbfl.exe или отката к резервной копии.
Рассмотрим наиболее популярный и эффективный способ ускорения файловой базы для рабочих групп от 2 до 15 человек. Вместо того чтобы гонять тяжелые объемы данных по сети на клиентские машины, базу размещают на одном производительном компьютере или сервере под управлением Windows, куда пользователи подключаются по протоколу Remote Desktop Protocol (RDP).
Преимущества такой схемы:
Если нет возможности приобрести лицензии на службы терминалов, разберем альтернативный архитектурный вариант — публикацию базы на локальном веб-сервере. Платформа 1С:Предприятие поддерживает работу через собственный модуль расширения веб-сервера.
В этой конфигурации веб-сервер (например, Microsoft IIS или Apache) устанавливается на том же ПК, где лежит файл базы. Веб-сервер обращается к файлу 1Cv8.1CD локально, выступая единственным монопольным клиентом. Пользователи подключаются к базе через тонкий клиент 1С или обычный браузер по защищенному протоколу HTTP/HTTPS. В результате полностью устраняются сетевые проблемы с протоколом SMB и оппортунистическими блокировками, а клиенты получают стабильный и быстрый доступ даже через медленные каналы связи.
Если хранилище уже закуплено и его аппаратные ресурсы необходимо задействовать, проанализируем схему с протоколом iSCSI. Подавляющее большинство хранилищ поддерживают выделение блочных томов (LUN).
При такой архитектуре:
Важное предостережение: Категорически запрещено монтировать один и тот же iSCSI-том напрямую к нескольким клиентским компьютерам одновременно через стандартную файловую систему NTFS. Это мгновенно приведет к разрушению файловой системы и безвозвратной потере информации. Доступ к блочному тому должен осуществляться только через один головной сервер.
Когда число пользователей превышает 5–6 человек, файловая архитектура исчерпывает свои возможности независимо от типа накопителей. В таком случае рекомендуем развернуть полноценную трехзвенную архитектуру с использованием сервера приложений 1С:Предприятие и свободно распространяемой реляционной СУБД (например, PostgreSQL).
Для небольших рабочих групп существует лицензия «1С:Предприятие 8.3. Сервер МИНИ», рассчитанная максимум на 5 клиентских подключений в одном сеансе. При такой архитектуре сервер баз данных берет на себя построчную блокировку записей, обеспечивая максимальную скорость и гарантируя сохранность данных даже при аварийных сбоях оборудования.
Если перенос базы на отдельный сервер временно невозможен, оптимизируем работу файлового ресурса на базе Linux/Samba. Для этого отредактируем конфигурационный файл smb.conf в секции сетевой папки с базой 1С:
oplocks = no
level2 oplocks = no
posix locking = no
strict locking = no
server signing = no
Подводя итог: использовать сетевое хранилище (NAS) в качестве общего файлового ресурса для одновременной работы нескольких пользователей в 1С категорически не рекомендуется. Оптимальная роль для NAS в инфраструктуре 1С — это надежное хранение резервных копий (бэкапов) и снапшотов баз данных.