Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 


Настройка samba для работы с 1С


   Причины некорректной работы и обрушения индексных файлов:
   1. железо
   2. файловая система
   3. samba и её настройки
   4. default параметры ядра
   5. настройки клиента
   Для начала внимательно man smb.conf
   Приведу свой вольный перевод механизма блокировок:
   В случае с термином "шара" не смог найти краткий и ёмкий заменитель на
   русском языке.
   # kernel oplocks
   Булева опция используется только для UNIX где ядро поддерживает
   механизм oplocks (в настоящее время только IRIX и Linux 2.4.x). kernel
   oplocks позволяет обходить samba oplocks при обращении локального
   процесса или NFS операции к файлу с которым уже работает клиент Samba.
   Это позволяет как бы одновременно (последовательным доступом) SMB, NFS
   и локальными процессам совместно работать с данными (из мана: very
   cool feature ((: ).
   По умолчанию: kernel oplocks = True
   Не трогать эту опцию на системах, не поддерживающих ядерную
   блокировку.
   См. также: oplocks и level2 oplocks
   # level2 oplocks
   Эта опция управляет поддержкой read-only oplocks на шаре. Level2
   позволяют клиентам Windows NT открывшим oplock файл снизить права с
   read-write на read-only при открытии этого файла вторым клиентом,
   вместо реализации полного oplocks для второго клиента.
   Это позволяет вновь открывшим файл (с выставленным level2 oplocks)
   кэшировать файл только для чтения (т.е. они не могут кэшировать запись
   или блокировать запросы на файл). Это не влияет на скорость доступа к
   не записываемым и исполняемым файлам (типа .exe).
   Как только один из клиентов, который имеет read-only oplock записывает
   этот файл, остальные клиенты предупреждаются на уровне системы (не
   требуется ответа о полученном предупреждении), снимается oplock с
   файла и он стирается из read-only кэша. Рекомендуется, чтобы этот
   параметр был включен, для ускориения доступа при совместном
   использовании данных. Больше информации по level2 oplocks см. CIFS
   спецификации. Обратите внимание, oplocks параметр должен быть
   установлен на "Истина" при использовании "Истина" у этого параметра.
   # oplocks
   Булева опция (Yes/No или True/False) сообщает smbd, включать/выключать
   oplocks на запрашиваемые файлы с какой-либо шары. Включенные oplocks
   улучшают скорость доступа к файлам на шарах Samba примерно на 30%,
   позволяя клиентам локально кэшировать файлы.
   Возможно отключение этой опции для ненадежных сетевых сред (это
   включено по умолчанию в Серверах Windows NT [*] ).
   Для получения дополнительной информации см. файл Speed.txt в
   документации к Samba. Oplocks может быть выборочно выключен на
   некоторых файлах шары. cм. опцию veto oplock. В некоторых системах
   oplocks выставляются за основу работы с файлами самой ОС. Это
   позволяет синхронизацию данных между всеми доступами к oplocks файлам
   (Samba, NFS или локальный процесс UNIX).
   См. опцию kernel oplocks.
   По умолчанию: oplocks = True
   Теперь всё это осмыслим и вас введёт в заблуждение механизм блокировок
   как на уровне ядра, так и на уровне samba. Очень большое подозрение на
   неправильную документацию продукта микрософт, либо 1С сама выключает
   эту блокировку на winNT, что нам не известно [*], и как следствие
   полностью повторенные куски документации в samba, где идёт сравнение
   механизмов.
   Решение:
   1. Убедимся что память не битая, винт без бэдов, для ide оттюнен
   hdparm. Cетевые карты не должны сбоить. прокачайте по ftp и samba на
   сервер и обратно 1Gb файл несколько раз, при подвисании/падении
   скорости до значительных величин и ошибках/варнингах ядра на сетевые
   карты, они должны быть заменены немедленно. Лучше если каждая 1С база
   лежит на отдельной партиции. Файл-сервер должен содержать достаточное
   кол-во памяти.
   2. Поставим журналируемую фс, чем решим очень много проблем. у меня
   базы лежат на cgi xfs и reiserfs
   хинт: партицию монтируйте с опцией noatime
   3. Категорически настаиваю на обновлении samba до 2.2.5 [на время
   написание документа, это последняя версия ветки 2.2]
   blocking locks = yes
   kernel oplocks = yes
   locking = no
   oplocks = no
   level2 oplocks = no
   posix locking = yes
   strict locking = no
   share modes = yes
   хинт: при таком раскладе невозможно пользоваться 1С:Монитор для сброса
   пользователей (показывает нереальное кол-во пользователей). тогда
   прибегнем к:
   smbcontrol smbd close-share mybasa
   у вас ведь каждая база в отдельной шаре? ;)
   шара не пропадёт из виду и может быть спокойно задействована при
   обращении к ней
   Обратите внимание, если 1С шара лежит на PDC:
   у вас не должно быть перевыборов в сети никогда:
   os level = 255
   включите WINS:
   wins support = yes
   и пропишите на клиентах
   4. если у вас базы большие, man sysctl категорически рекомендуем.
   вот мой /etc/sysctl.conf на работу с ~40 клиентами базы в 150-250Mb
   (основные)
   fs/file-max=64000
   net/core/rmem_default=1048576
   net/core/rmem_max=1048576
   net/core/wmem_default=1048576
   net/core/wmem_max=1048576
   kernel/shmmax=167772160
   vm/bdflush=100 1000 128 256 500 6000 6000 2048 2
   5. Конечно, сами клиенты должны иметь хорошее железо, особенно в
   сетевой части.
   Рихтовка win98 клиентов: Устранение неполадок -> Файловая система ->
   Новая семантика блокировок
   С w2k всё ок.
   Замечания и предложения: bass@edinstvo.com


Автор|Источник|Перевод: http://bass.edinstvo.com/smb.html (bass@edinstvo.com)


Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.