|
|||||||
Настройка samba для работы с 1С (15 Oct 2002)
Время создания: 04.02.2012 16:21
Раздел: Компьютер - Linux - Samba
Запись: xintrea/mytetra_syncro/master/base/1328361685yow0hb24g1/text.html на raw.github.com
|
|||||||
|
|||||||
Как настроить 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 |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|