среда, 22 декабря 2010 г.

Samba + NFS + блокировка файлов

Есть сервер на Debian 5.05, на нем крутится Samba 3.0.24. Встала задача раздавать контент с самбы на другие Debian-машины. По умолчанию выбор был сделан в пользу NFSv3.
Сказано - сделано.
Далее нарисовалась одна проблема, а именно: совместно использование файлов, особенно офисных документов. У человека, некоторое время имевшего открытый документ, со временем выскакивала ошибка, что документ нельзя изменить, ибо он заблокирован неизвестным пользователем. Проблема оказалась не в связке ООо (3.2.1) + NFS, а в NFS + Samba, ибо в них по-разному реализована система блокировок файлов. Поправлюсь. Не в самих программах, а в принципах их работы с клиентами. Т.е. какой-нибудь MS Word просто игнорировал открытость кем-то с помощью ООо соотвествующего файла и тд.
Выбор в сторону самбы для Debian был сделан, изначально, не специально, ибо в самом начале я столкнулся с проблемой прав доступа из линуховых машин (с виндовыми была абсолютная норма). Файл можно было создать, скопировать, но отредактировать или удалить было нельзя. Тогда проблема была неясна, теперь же я выяснил. Оказалось, что дело было в create mask и directory mask в параметрах шары в smb.conf. Казалось бы, если работа с этими файлами по средством самбы идет от определенного пользователя (в моем случае security mode = user), зачем выставлять права на 0777? А вот, оказалось, что надо так делать, иначе получим достаточно интеренсные лаги, ибо, как говорит интернет, в противном случае все файлы и директории создаются от имени пользователя sambauser.
В итоге можно было отказаться от использования связки Samba + NFS и оставить только Samba, которая внутри себя замечательно работает с блокировками.

Комментариев нет: