Хранение файлов 1С в томах на nfs-шаре Linux

Большинство современных конфигураций позволяет осуществлять хранение прикрепленных файлов не только в базе, но и на файловом сервере.
Последний вариант хорош тем, что помогает предотвратить неоправданно быстрый рост базы данных из-за прикладываемых пользователями файлов.
В этой статье мы ответим на следующие вопросы:
1. Как сделать Network File System (NFS) — шару на linux?
2. Как настроить 1С для хранения файлов в томах?
3. Какие могут быть ошибки при настройке nfs-шары для 1С?
О том, как происходит взаимодействие пользователя с системой при хранения файлов в томах на nfs-шаре файлового сервера можно увидеть на схеме.

Как сделать Network File System (NFS) — шару на linux?
Описание установки и настройки nfs-шары приведём для ОС Linux дистрибутивов RHEL/CentOS 7.
Установим и настроим NFS-сервер
1. Установим пакеты для NFS-сервера.
1 |
yum install nfs-utils |
2. Включим автозагрузку для служб rpcbind и nfs-server.
1 |
systemctl enable rpcbind nfs-server |
3. Запустим службы rpcbind и nfs-server.
1 |
systemctl start rpcbind nfs-server |
4. Создадим каталог под NFS-шару.
1 |
mkdir -p /nfs_share_1c |
5. Дадим необходимые права на каталог. Важно понимать, что у пользователя под которым запущена служба 1С – должны быть права на запись в данный каталог.
1 |
chmod -R 777 /nfs_share_1c |
6. Настроим NFS-шару в файле /etc/exports:
1 |
vim /etc/exports |
Приведем к виду:
1 |
/nfs_share_1c *(rw,sync,no_root_squash,no_all_squash) |
где
/nfs_share_1c — путь к папке, для которой предоставляется общий доступ;
* –IP-подсеть, которой разрешён доступ к шаре — в нашем случае — все;
(rw,sync,no_root_squash,no_all_squash) — набор опций для шары.
7. Перечитаем конфигурацию службы nfs-server
1 |
exportfs -r |
8. Убедимся, что публикация выполнена.
1 |
exportfs |
Результат должен быть:
1 |
/nfs_share_1c <world> |
9. Добавляем разрешающие правила брандмауэра:
1 2 3 4 5 6 7 |
firewall-cmd --permanent --zone=public --add-service=nfs firewall-cmd --permanent --zone=public --add-service=mountd firewall-cmd --permanent --zone=public --add-service=rpc-bind firewall-cmd --reload |
Установим и настроим NFS- клиент
1. Установим пакеты для NFS.
1 |
yum install nfs-utils |
2. Запустим службу rpcbind.
1 |
systemctl start rpcbind |
3. Включим автозагрузку для службы rpcbind.
1 |
systemctl enable rpcbind |
4. Создадим каталог, в который будет смонтирована шара и монтируем шару:
1 |
mkdir /nfs_share |
5. Смонтируем шару в каталог.
1 |
mount -t nfs XXX.XX.XX.XX:/nfs_share_1c/ /nfs_share/ |
где
XXX.XX.XX.XX – ip-адрес nfs-сервера.
5. Проверим, что каталог примонтирован, используя команду mount .
1 |
mount | grep nfs4 |
Результат выполнения команды должен быть следующим.
1 2 3 4 5 6 7 |
XXX.XX.XX.XX:/nfs_share_1c/ on /nfs_share/ type nfs4 (rw,relatime,vers=4.0,rsize=1048888,wsize=1048888, namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys, clientaddr=*,local_lock=none,addr=* |
6. Проверим, что каталог примонтирован, используя команду df.
1 |
df -hT | grep nfs4 |
Результат выполнения команды df должен быть следующим.
1 |
XXX.XX.XX.XX:/nfs_share_1c nfs4 5.8T 88M 5.5T 1% /nfs-share |
Проверим возможность записи в шару.
1. Создадим файл
1 |
touch /nfs-share/testfile.txt |
2. Удалим файл
1 |
rm /nfs-share/testfile.txt |
3. Настроим автоматическое монтирование шары при перезагрузке системы.
1 |
vim /etc/fstab |
Добавим в конец файла:
1 |
XXX.XX.XX.XX:/nfs_share_1c/ /nfs_share/ nfs defaults 0 0 |
где
XXX.XX.XX.XX – ip-адрес nfs-сервера.
Как настроить 1С для хранения файлов в томах?
Рассмотрим на примере1С:ERP 2.
1. Зайдём в 1С под пользователем с правами Администратора.
2. Откроем раздел «НСИ и администрирование» -> «Настройки работы с файлами».
3. Установим признак «Хранить файлы в томах на диске» и откроем окно списка томов из «Тома хранения файлов».
4. Создадим том для хранения. Укажем в нем наш каталог с сервера 1С. При необходимости ограничим максимальный размер тома.
Список томов хранения файла теперь будет выглядеть следующим образом.
Какие могут быть ошибки при настройке nfs-шары для 1С?
Ошибка при добавлении тома хранения файла.
Пример полного текста ошибки:
1 2 3 |
Путь к тому некорректен. Возможно учетная запись, от лица которой работает сервер 1С:Предприятия, не имеет прав доступа к каталогу тома. Ошибка доступа к файлу «»: Permission denied |
Описание:
Отсутствуют права на каталог, созданный на сервере 1С.
Либо имя каталога указано не верно и такой каталог просто не существует на сервере 1С.
Решение:
Дадим права на редактирование каталога пользователю usr1cv8. В данном примере на каталог предоставляются полные права всем пользователям.
1 |
chmod -R 777 /nfs_share_1c |
Ошибка при добавлении файла.
Пример полного текста ошибки:
1 2 3 4 5 6 7 8 9 10 11 |
Ошибка при добавлении присоединенного файла «»: Не удалось добавить файл ни в один из томов. Список ошибок: Ошибка при добавлении файла «» В том «»: Ошибка совместного доступа к файлу «» |
Описание:
При добавлении файла выдается ошибка.
Сам файл при этом появляется и в 1С и на шаре, но при этом он пустой.
Решение:
1. На nfs-клиенте и nfs-сервере сверим uid и gid пользователя usr1cv8. Они должны совпадать.
Зайдем под пользователем usr1cv8
1 |
su - usr1cv8 |
покажем id пользователя
1 |
id |
Если имеются отличия — исправим.
2. На nfs-клиенте и nfs-сервере проверим наличие прав на запись у пользователя usr1cv8 в каталоги шары.
Если права отсутствуют права на запись — добавим.
Еще можно посмотреть
Отладка на сервере 1С на Linux
Настройка отладки на Linux сервере 1С. Пошаговый процесс настройки tcp и http отладки.
Установка сервера 1С Предприятие 8.3 на Linux
Пошаговый процесс установки 1С сервера на Linux. Подготовка Linux к установке. Инсталяция дистрибутива 1С сервера. Его настройка и запуск.
Очистка кэша: серверного и клиентского для 1С:Предприятия
Лечим непонятные ошибки 1С Предприятия чисткой так называемого кеша - служебных файлов с настройками 1С
Публикация 1С на Веб сервере Apache Linux
Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Основы работы в Linux
Основы работы в Linux. Как подключиться к серверу. Как скопировать файлы на сервер. Редактирование конфигурационных файлов.
Ошибка «Слишком много открытых файлов» или«Too many open files» В 1С на Linux
Устраняем ошибку «Слишком много открытых файлов» или «Too many open files» в 1С под ОС Linux (Red Hat 7/Centos 7) 1. Увеличиваем лимит на открытые файлы всей системы. 2. Увеличиваем лимит на открытые файлы для процессов 1С. 3. Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона. 4. Увеличиваем максимальное число сегментов разделяемой […]
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- Расследование конфликтов управляемых блокировок (TTIMEOUT) 1С:Предприятия
- Что такое PG_TEMP в PostgreSQL для 1С
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- Пропажа индексов дескрипторов в 1С:Документообороте
- Технологический журнал 1С и бесконечный цикл в коде 1С