MyTetra Share
Делитесь знаниями!
Samba: 1С на самбе
Время создания: 04.02.2012 15:18
Текстовые метки: 1С, 1C
Раздел: Компьютер - Linux - Samba
Запись: xintrea/mytetra_syncro/master/base/1328357930mt20gt0epc/text.html на raw.github.com

Вопрос

Поставил 1С 7.7 файл-серверный вариант на самбу. Теперь возникают вопросы. А именно - есть устойчивое ощущение, что самба работает с блокировками немного не так, так работает Windows. А именно - самба пытается (и успешно пытается) заблокировать целый файл, там где, по моему, в виндах блокировалась на запись только часть файла. В результате юзер ждет какое то время, пока нужный файл (в конкретном случае - с таблицей "Журналы") не разлочится, чтобы самому в этой таблице начать свою транзакцию. Опрос юзерей показал, что раньше, в виндах, такого поведения не было, похоже эта таблица лочилась частично. Можно ли это вылечить?

Настройка самбы в части 1С следующая

[1C]

path=...

browseable=yes

public=yes

readonly=no

createmask=0666

directory mask=0777

write cashe size = -1

locking = yes

csc policy=disable

и в секции global - в части блокировок 1С следующая запись

kernel oplocks = yes

level2 oplocks = yes

strict locking = yes

oplocks = yes

Все файлы базы 1С принадлежат руту и имеют атрибуты вообще 0777.

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

Ответы

1.

oplocks выключать не пробовали?

Он есть в "man smb.conf", после 5000 строк.

Есть прекрасный сайт с переводом smb-conf.ru.

2.

У меня на самбе тоже имеется база 1С в dbf формате. Проблем не возникает. Я сравнил параметры и различие в них в следующем:

strict locking = auto

write cashe size = 0

csc policy = manual

эти параметры у меня по умолчанию как впрочем и все остальные.

3.

По поводу write cashe size - я нашел в Инете статью, где для этого параметра указано именно это (-1) значение. Причем специально подчернуто было, что с этим значением при старте самбы возникает WARNING, но далее всё работает корректно. Причем при данной настройке работает корректно и "Монитор пользователей 1С". То есть показывает всех активных юзерей.

Однако testparm говорит, что эта опция - устарела. И, более того - если её ставить в 0, то её не показывает, то есть настройка дефолтная.

Как и опция csc policy = manual. Если её поставить в это значение, то testparm её не отобраемет.

4.

>> Cruiser78 пишет: Кстати, с Вашими параметрами блокировок база зашуршала ощутимо быстрее

> Это скорее всего из-за

> strict locking = auto

Так как включение strict locking на постоянку заставляет самбу проверять диапазоны при любом обращении (чтение и запись) к файлу, а реально виндовый клиент может требовать блокировки не для каждого обращения.

strict locking = yes помогает усилить секьюрити, но явно замедляет работу

Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования