LinuxForum.Fans
Тема

linux через VMware + 1c

Автор: edotsenco 15 сообщений 4754 просмотров
#354254

Всем зрям!
Небольшое отступление: не знаю есть ли подобная тема, если есть - то ссылки в студию... Сразу скажу, что с линуксом не знаком вообще, но уж очень хотелось его поставить и попробовать.

Итак, есть некий офис, в нём некий сервер на котором стоит win7. Работа идёт по RDP в 1с 7.7 и 8.2, но меня такой расклад не устраивает. Я хочу перебросить всё на компы клиентов. Казалось бы, что тут сложного? Но нет, работников не устраивает скорость работы 1с 7.7 по сети (по RDP в десятки раз быстрее), хотя с 8.2 всё ок. И вот тут меня осенило: а не попробовать ли мне линукс?
Итак, на этом же серваке в этом же офисе, через VMware 9, я поднял ubuntu 12.04, установил соединение типа мост (получилась сеть в одном диапазоне адресов 192.168.0.XXX). Я вижу все устройства в сети, и они видят виртуалку. 1с 7.7 ставить на линукс я пока не стал, ибо на первый взгляд слишком сложная статья была, и я решил скинуть туда базу в формате DBF. Расшарил папку по сети и всё вроде бы замечательно, я вижу как сетевой ресурс с клиентской машины, могу изменять файлы, но 1с не запускается, либо каталог пользователя занят, либо просто ошибка и программа закрывается. На клиентских везде win 7.

И вот собсно вопрос: что делать и куда копать? И вообще стоит ли замарачиваться? Я подумал что файловая система другая и (возможно) будет быстрее чем по сети windows.

#354255

7.7 запускается через Wine, 8.x имеет нативную версию. Wine - это таки тормозистор. Сетевой стек в Linux работает лучше, но тут можно и поспорить. А вот с занятостью ресурсов надо разбираться, в это я не полезу, опыта нету.

#354256

Чтобы 7.7 запустить через wine нужно столько манипуляций проделать...
Меня интересует конкретно занятость ресурсов, блокировки, кэширование и т.п. вещи.
Да и вообще он не даёт запустить 1с по сети.
Т.е. я запускаю на клиентской машине через win7, а файлы баз данных на виртуалке в linuxe...

#354529
"yars" написал:
Сетевой стек в Linux работает лучше, но тут можно и поспорить.

тут скорее он лучше твикается. у меня получалось доводить самбу до скорости в 7 раз превышающую скорость виндового сервера на том же железе и той же сети, но до того пришлось сниффером разбирать статистику MSU и MTU и пересчитывать параметры самбы под конкретную сеть.

#354533
edotsenco написал:
Чтобы 7.7 запустить через wine нужно столько манипуляций проделать...
Меня интересует конкретно занятость ресурсов, блокировки, кэширование и т.п. вещи.
Да и вообще он не даёт запустить 1с по сети.
Т.е. я запускаю на клиентской машине через win7, а файлы баз данных на виртуалке в linuxe...

1С 7.7 в Linux надо запускать не из под wine, а с помощью wine@etersoft. Специально заточенного под это дело продукта. Тогда всё будет работать хорошо. И я не понимаю смысла купить 1С за бешенные деньги и жабиться на покупку wine@etersoft...

#354534
dyasny написал:
[quote="yars"]Сетевой стек в Linux работает лучше, но тут можно и поспорить.

тут скорее он лучше твикается. у меня получалось доводить самбу до скорости в 7 раз превышающую скорость виндового сервера на том же железе и той же сети, но до того пришлось сниффером разбирать статистику MSU и MTU и пересчитывать параметры самбы под конкретную сеть.[/quote]

А можно методикой пересчета параметров самбы поделиться?
Максимум что мне удалось твикнуть - это разместить юзерский Temp, который интенсивно пользуется 1С'ом в RAM. Сильно ускорило некоторые процедуры. А вот саму самбу потвикать...

#354536
edotsenco написал:
Расшарил папку по сети и всё вроде бы замечательно, я вижу как сетевой ресурс с клиентской машины, могу изменять файлы, но 1с не запускается, либо каталог пользователя занят, либо просто ошибка и программа закрывается. На клиентских везде win 7.

Отсюда - http://vasilisc.com/terminal_1c_linux

-----------------------------------------------------------------------
Подробно о каталоге с базами 1С.


Читать об этом etersoft.ru/products/wine/manual/. Пример привожу для каталога /1c/bases. Права нужно выставить следующие:
#chmod 2770 /1c/bases


Чтобы все создаваемые в нём файлы принадлежали той же группе, что и каталог, а не группе создавшего файл пользователя. Владельца и группу можно выставить так
#chown -R vasilisc:1c /1c/bases/
Группа 1с - это созданная в /etc/group группа, в которую включены все пользователи, которые будут запускать 1с в терминале.
Настройка Samba и CIFS от Etersoft.


Читать etersoft.ru/products/wine/manual/. Кратко все сводится к тому, что пользователи в терминале будут работать с БД 1С через CIFS, то есть как бы через сеть, хотя базы лежат на этом же компьютере. Только таким способом блокировки будут нормально работать. Необходимо для работы CIFS поставить etercifs_*.deb.
Оптимальные настройки Самбы в /etc/samba/smb.conf
kernel oplocks = no
use sendfile = yes
log level = 0
Папка, расшаренная в доступ по сети, должна быть описана примерно так
[1c_bases]
path = /1c
public = yes
force user = vasilisc
force group = 1c
writeable = yes
guest ok = yes
Параметры force* заставляют самбу создавать и читать файлы от заданного пользователя. Терминальные пользователи должны юзать базы через CIFS и для этого нужно каталог, расшаренный самбой, примонтировать в каталог и использовать этот каталог как хранилище 1С. Делаем это примерно так mount -t cifs //192.168.0.120/1c_bases /1c_cifs -o noperm,user=vasilisc,forcedemand,direct
Подробнее о монтировании папки в локальный каталог для терминальных пользователей читать etersoft.ru/products/wine/manual/. Параметры forcedemand, direct ОБЯЗАТЕЛЬНЫ для корректной работы блокировок.
-------------------------------------------------------

Для начала попробуй достучаться до файлов 1С с клиента, работающего под старой доброй XP. Хотя бы подними её в какой либо виртуалке. Должен достучаться. Если доступ с ХР будет, что надо гуглить на предмет проблем подключения Win7 к Самбе.

#354544

Не ребята, вы вообще не поняли...

Уже 2 года у меня ВСЁ РАБОТАЕТ по схеме win to win, я хотел сделать win to ubnt, но я НИЧЕГО в линуксе и тем более в Ubuntu НЕ ПОНИМАЮ.
для меня эта статья почти пустой звук, я надеялся что мне популярно объяснят что и как... ибо такой инфы в инете навалом...

судя по постам я понял, что оно должно работать по сети быстрее чем win версия, так? Значит один вопрос решён, осталось решить вопрос с подключением баз к ubnt... с XP попробую, позже отпишусь о результате.

p.s. я никогда не покупаю дистрибутив, ибо свои деньги я на это тратить не буду, а директор жопиЦа... так что всё ломаное :)


Произвёл проверку на XP, не работает. Та же самая ошибка что и на 7...

#354615
edotsenco написал:
Не ребята, вы вообще не поняли...

Произвёл проверку на XP, не работает. Та же самая ошибка что и на 7...

Значит засада в настройках самбы. 1С на самбе работает. Долго и успешно. Но не быстрее, чем на виндовом сервере. А даже и несколько медленнее. Вот мой рабочий конфиг самбы в части блокировок общих и на 1С-шаре:

Показать

[global]
.......
####OP LOCKING STUFF
posix locking = no
kernel oplocks = no
level2 oplocks = yes
......
#============================ Share Definitions
[BD]
comment = 1C ПУБ
path = /mnt/drbd/FileServer/bases/BD
writable = yes
create mask = 0644
directory mask = 0755
force create mode = 0644
strict locking = auto
csc policy = manual
locking = yes
level2 oplocks = yes
posix locking = no
inherit owner = yes

С такой конфигурацией всё должно работать.

#354620
edotsenco написал:
Всем зрям!
...Сразу скажу, что с линуксом не знаком вообще...

...я надеялся что мне популярно объяснят что и как...

Мне нужно не чтоб она там работала, а просто тянуть от туда базы...

И прошу рассказать что мне с этим делать? В "командную строку" ("терминал" вроде как) запихать? Или файл какой то исполняемый или что?

#354654

Речь о настройках samba, это конфиг /etc/smb.conf.

#354662
"Cruiser78" написал:
А можно методикой пересчета параметров самбы поделиться?

я тогда нагуглил метод под вторую (по тем временам еще) самбу, с формулами и командами, надо искать на тему samba network performance optimization. а то у меня она из коробки писала быстро, потом зависала на 5 минут, потом продолжала - явно что то с буферизацией

#354714
edotsenco написал:

Мне нужно не чтоб она там работала, а просто тянуть от туда базы...

И прошу рассказать что мне с этим делать? В "командную строку" ("терминал" вроде как) запихать? Или файл какой то исполняемый или что?

Чтобы тянуть отуда базы надо чтобы она работала. Чтобы работало угрёбище под названием 1С 7.7 надо не просто добиться работы самбы, но и научить её работать так, как нужно 1С для поддержания режима блокировок, максимально близкого к режиму блокировок Windows. Точного соответствия всё равно не будет, но работать будет можно. Это первое.

Второе - оопс. Для начала надо обязательно освоить некоторые базовые принципы организации Linux. Прочитать пару книжек уровня "Linux for dummies" (Линукс для чайников). Понять, что все управление, настройка всех приложений в Linux осуществляется не через реестр, командой аналогичной regedit (хотя к этому потихоньку скатываемся), а путем тривиального редактирования любым текстовым редактором простых текстовых конфигурационных файлов. Причем каждый пакет имеет свой собственный набор конфигурационных файлов. Которые традиционно размещаются в каталоге /etc (и во вложенных подкаталогах). Там и нужно искать соответствующий пакету конфигурационный файл, читать его вдумчиво, комментариев там (в отличие от реестра Windows) на каждый параметр тонна, и править в нужную для себя сторону.

#354756
Cruiser78 написал:
С такой конфигурацией всё должно работать.

Я так понял, это надо "дописывать" в конфиг, потому как у меня таких параметров нет...

Ну а про изучение: Это всё понятно, что нужно читать изучать и знать, но мне потребовалась , вроде бы, простая функция и полностью изучать оболочку ради того чтоб попробовать - я не увидел смысла. Поэтому я пришёл на форум и спросил :)

#354758

Изучить проблему - значит наполовину её решить. От изучения проблемы в необходимом объёме вам всё равно не отвертеться :-)

Войдите или зарегистрируйтесь, чтобы ответить.