wine@etersoft 1.0.8+cifs+1Cv7.7 (блокировка записи)
Модератор: Модераторы разделов
-
killovolt
- Сообщения: 29
wine@etersoft 1.0.8+cifs+1Cv7.7
Доброго времени суток!
Имеем AltLinux 4.0 c с установленным wine@etersoft 1.0.8 и 1С v7.7 c Комплексной конфигурацией. База расположена на Samba и смонтирована через linux-cifs v1.5с от etersoft, для организации совместного доступа Lin и Win клиентов. Linux клиенты работают в терминальном режиме с базой смонтированной через cifs.
Проблема заключается в следующем: у Linux клиентов после отправки на печать любого документа невозможно повторно открыть этот документ, выдается ошибка "Запись заблокирована!" (пример ошибки ). Чтобы повторно открыть документ надо выйти из 1С полностью и снова зайти. От количества работающих клиентов проблема не зависит, проблема есть при работе даже одного клиента.
Работа Win клиента с этой же базой через самбу без проблем.
Если сделать доступ к базе для Linux клиентов без Samba, то блокировки не происходит.
Ресурс Samba монтируется вот так:
mount -t cifs //111.111.111.111/base /home/<user>/.db/1c \
-o user=<user>,pass=,file_mode=0660,dir_mode=02770,uid=<user>,gid=wine,iocharset=utf8
В wine база подключается так:
ln -s /home/<user>/.db/1c /home/<user>/.wine/dosdevices/h:
Пробовал обновить linux-cifs до 3.4.1, проблема не исчезла.
Подскажите куда рыть?
Имеем AltLinux 4.0 c с установленным wine@etersoft 1.0.8 и 1С v7.7 c Комплексной конфигурацией. База расположена на Samba и смонтирована через linux-cifs v1.5с от etersoft, для организации совместного доступа Lin и Win клиентов. Linux клиенты работают в терминальном режиме с базой смонтированной через cifs.
Проблема заключается в следующем: у Linux клиентов после отправки на печать любого документа невозможно повторно открыть этот документ, выдается ошибка "Запись заблокирована!" (пример ошибки ). Чтобы повторно открыть документ надо выйти из 1С полностью и снова зайти. От количества работающих клиентов проблема не зависит, проблема есть при работе даже одного клиента.
Работа Win клиента с этой же базой через самбу без проблем.
Если сделать доступ к базе для Linux клиентов без Samba, то блокировки не происходит.
Ресурс Samba монтируется вот так:
mount -t cifs //111.111.111.111/base /home/<user>/.db/1c \
-o user=<user>,pass=,file_mode=0660,dir_mode=02770,uid=<user>,gid=wine,iocharset=utf8
В wine база подключается так:
ln -s /home/<user>/.db/1c /home/<user>/.wine/dosdevices/h:
Пробовал обновить linux-cifs до 3.4.1, проблема не исчезла.
Подскажите куда рыть?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Djelf
- Сообщения: 615
- ОС: Гигтег+Цшт32
-
killovolt
- Сообщения: 29
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Djelf писал(а): ↑31.01.2009 21:12http://bugs.etersoft.ru/show_bug.cgi?id=1185
http://bugs.etersoft.ru/show_bug.cgi?id=3053
Насколько я понял, нужно монтировать с опциями noperm, forcemand. Опция forcemand появилась только в etercifs 4.0.x. Сам пакет etercifs предназначен для работы с wine 1.0.9. А без обновления до версии 1.0.9 никак нельзя решить эту проблему?
Кто сталкивался, подскажите, решилась проблема обновлением wine и etercifs?
-
sisop
- Сообщения: 54
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
в 1.09 бага исправлена. что тут еще обсуждать?
-
killovolt
- Сообщения: 29
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Обновил wine до 1.0.9 и поставил etercifs-4.1.1-alt0.M40.1.noarch.rpm, к сожалению ситуация не изменилась, после печати любого документа его повторное открытие приводит к ошибке "Запись заблокирована!".
Информация о модуле etercifs:
[root@localhost ~]# /etc/rc.d/init.d/etercifs status
CIFS module status:
kernel module etercifs is loaded
[root@localhost ~]# lsmod | grep cifs
etercifs 249716 1
nls_base 8448 10 nls_cp866,vfat,fat,isofs,udf,nls_cp1251,smbfs,nls_koi8_r,nls_utf8,etercifs
[root@localhost ~]# /sbin/modinfo etercifs
filename: /lib/modules/2.6.18-wks-smp-alt2/kernel/fs/cifs/etercifs.ko
version: 1.51
description: VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows
license: GPL
author: Steve French <sfrench@us.ibm.com>
srcversion: 03DA04FA9AFB8DC48596B6B
depends: nls_base
vermagic: 2.6.18-wks-smp-alt2 SMP mod_unload 586 REGPARM gcc-4.1
parm: CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (int)
parm: cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64 (int)
parm: cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256 (int)
parm: cifs_max_pending:Simultaneous requests to server. Default: 50 Range: 2 to 256 (int)
Вывод winediag:
Программа проверки WINE@Etersoft. 06.11.08 © 2005, 2006, 2007, 2008 Etersoft
Проверяем libwine.so.1... ИМЕЕТСЯ. (версия 20080705)
Проверяем /usr/bin/winelog ... пакет WINE@Etersoft: УСТАНОВЛЕН
Проверяем libwine-etersoft.so.1... NETWORK ИМЕЕТСЯ (сборка 0x211)
-------
WINE@Etersoft 1.0 Network (1.0.9), registration number is XXXX-XXXX.
Legality check is available on the page http://sales.etersoft.ru/product/.
-------
Проверяем libcups.so.2... ИМЕЕТСЯ.
Проверяем libfreetype.so.6...ИМЕЕТСЯ (версия 2.3.4)
Установлено соединение с Икс-сервером на :0.0
Расширение GLX имеется (3D поддерживается)
Используемая модель потоков (thread): pthread (NPTL)
Ядро: Linux, версия: 2.6.18-wks-smp-alt2
Максимальное число файловых дескрипторов в системе: 104854 (3072 используется)
Максимально доступное количество открытых файлов для одного процесса: 5000
Число тиков таймера в секунду (CLK_TCK): 100
Нет ограничений виртуальной памяти
Check for futimes: OK
Количество бит для смещения в файле: 64
Установка блокировки на смещение более 512Мб прошла успешно
Установка блокировки на смещение более 4Гб прошла успешно
Текущая локаль: ru_RU.UTF-8
Проверка блокировок из под пользователя:
[alex@localhost db]$ winelocktest
localhost being added to access control list
Check Y:\ in single user mode...
Start test as STANDALONE for lockfile.wine file...
Running on CIFS filesystem
G_R G_R G_R G_W G_W G_W G_R|W G_R|W G_R|W
S_R S_W S_R|W S_R S_W S_R|W S_R S_W S_R|W
G_R FVL F. FVL F. F. F. F. F. F.
S_R
G_R F. F. F. FVL F. FVL F. F. F.
S_W
G_R FVL F. FVL FVL F. FVL FVL F. FVL
S_R|W
G_W F. FVL FVL F. F. F. F. F. F.
S_R
G_W F. F. F. F. FVL FVL F. F. F.
S_W
G_W F. FVL FVL F. FVL FVL F. FVL FVL
S_R|W
G_R|W F. F. FVL F. F. F. F. F. F.
S_R
G_R|W F. F. F. F. F. FVL F. F. F.
S_W
G_R|W F. F. FVL F. F. FVL F. F. FVL
S_R|W
Проверка блокировок из-под root:
[root@localhost db]# winelocktest
localhost being added to access control list
It is not recommended to run WINE as root
Creating test environment in /tmp/winelocktest, shared dir is /mnt/1c/db
FAILED: groupadd
Removing test environment(ROOTDIR=/tmp/winelocktest)...
userdel: user winelock-user1 does not exist
userdel: user winelock-user2 does not exist
Монтирование базы через cifs:
/bin/mount -t cifs //192.168.44.2/base /mnt/1c/db -o user=<user>,pass=,forcemand,noperm,iocharset=utf8
Подключение базы в wine:
ln -s /mnt/1c/db /home/<user>/.wine/dosdevices/y:
Ткните куда дальше копать!
-
lira63
- Сообщения: 19
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
У меня wine 1.09. Не знаю как после печати, но после открытия-закрытия документа тоже самое было.
Мне помогло: в /etc/wine/config раскомментировал строку "# WINEDISABLEFLUSH=yes" на всех машинах с альт-линуксом.
Удачи!
Мне помогло: в /etc/wine/config раскомментировал строку "# WINEDISABLEFLUSH=yes" на всех машинах с альт-линуксом.
Удачи!
-
killovolt
- Сообщения: 29
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Спасибо за подсказку. Попробовал с WINEDISABLEFLUSH=yes, блокировка записи, увы, не пропала. Насколько понимаю, проблема в модуле etercifs, так как если подключить базу без монтирования через cifs, то блокировки записи нет.
Какие ещё возможны варианты решения? Неужели эта проблема только у меня?
Версии пакетов wine и etercifs:
[root@localhost alex]# rpm -qa | grep wine
libwine-1.0.9-alt39.M40.40
wine-1.0.9-alt39.M40.40
wine-etersoft-network-1.0.9-alt16.M40.17
[root@localhost alex]# rpm -qa | grep cifs
etercifs-4.1.1-alt0.M40.1
-
lira63
- Сообщения: 19
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Я обновился до последних версий.
Монтирую шару в /etc/fstab с параметрами noperm и forcemand.
Поудалял из настройки самбы все, что связано с oplocks, т.е. по умолчанию, кроме kernel oplocks = no в глобальной секции. Там же в соответствии с рекомендациями Этерсофта ввел use sendfile = yes (правда эта строка уже давно была, так же как и кернел оплокс - ну просто на всякий случай привел пример, может это важно...). Сервак на Дебиане 4.0.
И стало все нормально, больше нет блокировок записи.
И строка с WINEDISABLEFLUSH=yes осталась закомментирована в /etc/wine/config.
Так что скорее всего без обновления не получится избавиться от проблемы.
Удачи!
Монтирую шару в /etc/fstab с параметрами noperm и forcemand.
Поудалял из настройки самбы все, что связано с oplocks, т.е. по умолчанию, кроме kernel oplocks = no в глобальной секции. Там же в соответствии с рекомендациями Этерсофта ввел use sendfile = yes (правда эта строка уже давно была, так же как и кернел оплокс - ну просто на всякий случай привел пример, может это важно...). Сервак на Дебиане 4.0.
И стало все нормально, больше нет блокировок записи.
И строка с WINEDISABLEFLUSH=yes осталась закомментирована в /etc/wine/config.
Так что скорее всего без обновления не получится избавиться от проблемы.
Удачи!
-
lav
- Модератор
- Сообщения: 192
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Выложена сборка etercifs версии 4.3.6,
в которой выявлены и устранены все известные проблемы наличия
и отсутствия блокировок. Монтировать нужно обязательно указав
параметры forcemand и direct.
Ждём положительных отзывов
ftp://updates.etersoft.ru/pub/Etersoft/CIFS@Etersoft/stable/
в которой выявлены и устранены все известные проблемы наличия
и отсутствия блокировок. Монтировать нужно обязательно указав
параметры forcemand и direct.
Ждём положительных отзывов
ftp://updates.etersoft.ru/pub/Etersoft/CIFS@Etersoft/stable/
-
DjSpike
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
в этой сборке возможна одновременная работа Linux - Windows , когда база находится на Linux. ????
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
Hoblin
- Модератор
- Сообщения: 1442
- Статус: Etersoft team
- ОС: ALT Linux
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Да. Если нет - с Вас багрепорт.
-
BDenis
- Сообщения: 74
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Я у вас там багу создал, но может здесь обсудим. Почему обязательна опция direct? Она исключает кеширование и может сказаться на монопольном режиме, а патч который делает ее не обязательным написан еще в версии 4.3.2. Или его убрали?
У меня у самого на 4.3.2 уже недели две нет никаких проблем с блокировками без direct.
-
sisop
- Сообщения: 54
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Раз уж пошла такая пьянка... Возможна ли сейчас такая схема - виндовые клиенты коннектятся через SMB, а линуксовые через NFS? ОДновременно к одной базе, естественно.
-
BDenis
- Сообщения: 74
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Ни в коем случае! Если с базой работают разномастные клиенты, то только cifs.
Это означает также, что если на компе расшарена по самбе база, то пользоватся ей на этом же компе можно только подмаунтив каталог по cifs на самого себя. Ни в коем случае не оригинальную базу.
-
sisop
- Сообщения: 54
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
-
DjSpike
- Сообщения: 2265
- Статус: в поисках истины
- ОС: Lubuntu 12.04
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
BDenis писал(а): ↑17.04.2009 13:40
Ни в коем случае! Если с базой работают разномастные клиенты, то только cifs.
Это означает также, что если на компе расшарена по самбе база, то пользоватся ей на этом же компе можно только подмаунтив каталог по cifs на самого себя. Ни в коем случае не оригинальную базу.
А можно ссылку на документацию где это написано ???
Почему нельзя в линуксе нельзя указать локальный путь к базе когда работают совместно с виндами ?????
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
-
BDenis
- Сообщения: 74
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
Конечно можно.
Замечание: При использовании одной и той же машины в качестве файлового и терминального сервера одновременно, следует устроить так, чтобы терминальные клиенты также работали с общим ресурсом посредством протокола CIFS, иначе взаимодействия не получится.
Я, правда, прочитал это позновато, пришел к этому тестированием.
Корень проблемы мне видится в следующем, блокировки ядра в линуксе являются совещательными (т.е. о ее наличии вам просто сообщают, но ничего не запрещают). Преобразование в строгие (которые, как раз и используются для корректной работы виндовых программ) происходит в двух местах.
На самбовском сервере в специальном головном процессе smbd к которому обращаются все дочерние процессы smbd по вопросу блокировки. Этим способом работает обеспечение корректных блокировок по цифс. В новых версиях этого протокола стали использоваться юникс расширения (у юниксовых клиентов блокировки стали совещательными), для возвращения к старому механизму придумали опцию forcemand, которая обязательна при работе в 1С.
Если вы обращаетесь к файлам в пределах одной машины напрямую через ядро (минуя цифс), то заботу о преобразовании блокировок в строгие для всех запущеных виндовых программ берет на себя специальный процесс wineserver. Поэтому в пределах одной машины можно запустить сколько угодно экземпляров 1С и все будет пучком.
Так вот, при совместном использовании базы по цифс и на прямую через ядро линукс smbd и wineserver не обращают внимания/не видят/не могут видеть (может еще просто не дописано) блокировок друг друга. Поэтому вы, например, легко сможете одновременно войти пару раз монопольно.
Кто обрабатывает эти строгие блокировки при расшаривании по NFS не спрашивайте, не знаю.
И вообще, все выше описаное является плодом моего больного воображения, поэтому если я заблуждаюсь, пожалуйста, поправте меня.
-
at9
- Сообщения: 2
Re: wine@etersoft 1.0.8+cifs+1Cv7.7
BDenis писал(а): ↑17.04.2009 13:40
Ни в коем случае! Если с базой работают разномастные клиенты, то только cifs.
Это означает также, что если на компе расшарена по самбе база, то пользоватся ей на этом же компе можно только подмаунтив каталог по cifs на самого себя. Ни в коем случае не оригинальную базу.
А если клиенты конектятся терминально (FreeNX), можно обойтись без cifs?
-
BDenis
- Сообщения: 74