Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: mozly в Jan 20, 2004, 22:29



Титла: Samba
Публикувано от: mozly в Jan 20, 2004, 22:29
Ето какъв е проблема:

Самбата си бачкаше чудесно ,но по едно време (поради незнайни причини) започна да прави странни нешща. Та значи от нея от диидекторията Games трябва да се стартирва една игра. Едно ПС я стартирва и след това обаче никой друго не може да я стартира докато не излезе това ПС. А когато се тегли или прехвърля нещо на сървъра става перфектно (8 мб/с). В логовете се получава:

Примерен код

[2003/09/23 18:20:04, 0] lib/util_sock.c:read_socket_with_timeout(300)
  read_socket_with_timeout: timeout read. read error = Connection reset by peer.
[2003/09/23 18:20:04, 0] smbd/oplock.c:oplock_break(794)
  oplock_break: receive_smb error (Connection reset by peer)
  oplock_break failed for file bobi/bobi i sektite.mpg (dev = 301, inode = 5527451, file_id = 14717).
[2003/09/23 18:20:04, 0] smbd/oplock.c:oplock_break(879)
  oplock_break: client failure in break - shutting down this smbd.
[2003/09/23 18:20:36, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 2200 on port 32850 for dev = 301, inode = 5527451, file_id = 14717
[2003/09/24 05:37:00, 0] lib/util_sock.c:read_data(436)
  read_data: read failure for 4. Error = Connection reset by peer


 Ето как изглежда smb.conf-a:

Примерен код

# Samba config file created using SWAT
# from localhost (127.0.0.1)
# Date: 2003/03/19 23:29:58

# Global parameters
[global]
   workgroup = VG
   netbios name = vgserver
   server string = File Server
   interfaces = eth1 eth0 eth1:0
   hosts deny = ALL
   hosts allow = 212.116.152.10 212.116.152.11 212.116.152.12 212.116.152.13 212.116.152.14 10.249.149.77 10.249.149.67 10.249.149.68 217.10.243.115
   security = SHARE
   log file = /var/log/samba/log.%m
   max log size = 50
   socket options = TCP_NODELAY
   printcap name = lpstat
   dns proxy = No
   domain master = yes
   local master = yes
   prefered master = yes
   os level = 33
   printing = cups
   print command = /usr/bin/lp -d%p -oraw %s; rm %s
   lpq command = /usr/bin/lpstat -o%p
   lprm command = /usr/bin/cancel %p-%j
   queuepause command = /usr/bin/disable %p
   queueresume command = /usr/bin/enable %p

[Full]
   comment = Temp
   path = /ServerFiles/Full/
   create mask = 0700
   guest ok = Yes
   writable = yes

[Games]
   comment = Games Playing
   path = /ServerFiles/Games/
   create mask = 0755
   guest ok = Yes
   writable = yes

[Install Games]
   comment = Install Games
   path = /ServerFiles/Games Install/
   create mask = 0700
   guest ok = Yes
   read only = yes

[Movies]
   comment = Movies
   path = /ServerFiles/Movies/
   create mask = 0700
   guest ok = Yes
   read only = yes

[Programs]
   comment = Programs Install
   path = /ServerFiles/Programs/
   create mask = 0700
   guest ok = Yes
   read only = yes

[VCD's]
   comment = Virtual Cds
   path = /ServerFiles/VCD's/
   create mask = 0700
   guest ok = Yes
   read only = yes

[Mp3]
   comment = Music
   path = /ServerFiles/mp3/
   create mask = 0700
   guest ok = Yes
   read only = yes

[printers]
   comment = All Printers
   path = /var/spool/samba
   create mask = 0700
   guest ok = Yes
   printable = Yes
   print command = lpr-cups -P %p -o raw %s -r    # using client side printer drivers.
   lpq command = lpstat -o %p
   lprm command = cancel %p-%j
   browseable = No


Е, някой има ли идея защо става така.

П.С. Преди 8 ПС-та стартирваха играта без проблем едновременно. Дори преинсталирах играта ,но пак нищо???


Титла: Samba
Публикувано от: melwin в Jan 21, 2004, 09:39
Я преинсталирай самбата или още по-добре ъпгрейдни до 3.


Титла: Samba
Публикувано от: n_antonov в Jan 21, 2004, 09:43
Нищо не преинсталирай и не ъпгрейдвай, освен ако не е наистина необходимо. Опитай да сложиш в [global].

 oplocks = yes
 keep alive = 30


Титла: Samba
Публикувано от: в Jan 21, 2004, 10:31
Всъщност да - решението на n_antonov е много по-бързо и удачно. В случай че не стане - все пак опитай да преинсталираш. Това което се забелязва при теб е проблем на по- старите версии на samba, който е отстранен при по новите такива.


Титла: Samba
Публикувано от: mozly в Jan 23, 2004, 13:42
ами добавих редовете ,но проблема си остава. В краен случай какъв ще е проблема да ъпдрейдна до версия 3.0 ???


П.С. Преинсталирах си същата самба ,но все тая !


Титла: Samba
Публикувано от: melwin в Jan 23, 2004, 14:03
??? Добре де .. дай малко повече детайли относно дистрибуция, версията на самба и на ядрото ?


Титла: Samba
Публикувано от: mozly в Jan 23, 2004, 18:32
та значи SlackWare 9.1 ,kernel-2.4.22 ,Samba-2.2.8.

Сега се сетих нещо ,когато стартирах прокси сървър - Squid ,тогава започна да прави такива гафове. Не мисля ,че би могло изобщо да има някаква връзка(но все пак...).


Титла: Samba
Публикувано от: mozly в Jan 23, 2004, 18:51
поразрових се из логовете и ето какво открих. Когато примерно пс1 стартира играта Delta Force (от Самба сървъра) ,то тя(играта) се стартирва съвсем нормално и успешно. Но когато и пс2 реши да пусне същата игра (по времето ,когато и пс1 е стартирал играта) ,то тя зарежда около 5мин. (получава се едно страхотно забавяне) ,но пс1 си играе нормално. В тази ситуация ето как изгклежда лога пазен от самбата за пс2:

Примерен код

[2003/11/11 16:35:54, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737977, file_id = 20
[2003/11/11 16:36:26, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737964, file_id = 21
[2003/11/11 16:36:26, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/IBrowse.dll, dev = 301, inode = 6737964. Deleting it to continue...
[2003/11/11 16:36:26, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:36:58, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737978, file_id = 22
[2003/11/11 16:36:58, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/APIClient.dll, dev = 301, inode = 6737978. Deleting it to continue...
[2003/11/11 16:36:58, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:37:30, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737985, file_id = 23
[2003/11/11 16:37:30, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/_iberr.txt, dev = 301, inode = 6737985. Deleting it to continue...
[2003/11/11 16:37:30, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:38:02, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737982, file_id = 26
[2003/11/11 16:38:02, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/ASSETS.CD, dev = 301, inode = 6737982. Deleting it to continue...
[2003/11/11 16:38:02, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:38:34, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737960, file_id = 27
[2003/11/11 16:38:34, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/cc.bin, dev = 301, inode = 6737960. Deleting it to continue...
[2003/11/11 16:38:34, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:39:06, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737965, file_id = 29
[2003/11/11 16:39:06, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/localres.pff, dev = 301, inode = 6737965. Deleting it to continue...
[2003/11/11 16:39:06, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:39:39, 0] smbd/oplock.c:request_oplock_break(1011)
  request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737981, file_id = 31
[2003/11/11 16:39:39, 0] smbd/open.c:open_mode_check(652)
  open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/resource.pff, dev = 301, inode = 6737981. Deleting it to continue...
[2003/11/11 16:39:39, 0] smbd/open.c:open_mode_check(656)
  open_mode_check: Existent process 842 left active oplock.


Титла: Samba
Публикувано от: mrvoland в Jan 23, 2004, 18:52
добави и за по-бърз достъп
Примерен код

socket options = IPTOS_LOWDELAY TCP_NODELAY

виж и следното... което е важно явно...
Примерен код

kernel oplocks (G)
         For  UNIXes that support kernel based oplocks (cur­
         rently only IRIX and the Linux  2.4  kernel),  this
         parameter allows the use of them to be turned on or
         off.

         Kernel oplocks support allows Samba oplocks  to  be
         broken  whenever a local UNIX process or NFS opera­
         tion accesses a file  that  smbd(8)  has   oplocked.
         This   allows  complete  data  consistency  between
         SMB/CIFS, NFS and local file access (and is a  very
         cool feature :-).


има и още нещо... не знам дали твоята версия на samba го подържа но го има като опция, да се надяваме че се подържа...
[global]
ole locking compatibility = yes


Титла: Samba
Публикувано от: mozly в Jan 24, 2004, 16:13
все още проблема остава това


Примерен код

[2003/11/11 16:35:54, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737977, file_id = 20
[2003/11/11 16:36:26, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737964, file_id = 21
[2003/11/11 16:36:26, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/IBrowse.dll, dev = 301, inode = 6737964. Deleting it to continue...
[2003/11/11 16:36:26, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:36:58, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737978, file_id = 22
[2003/11/11 16:36:58, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/APIClient.dll, dev = 301, inode = 6737978. Deleting it to continue...
[2003/11/11 16:36:58, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:37:30, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737985, file_id = 23
[2003/11/11 16:37:30, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/_iberr.txt, dev = 301, inode = 6737985. Deleting it to continue...
[2003/11/11 16:37:30, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:38:02, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737982, file_id = 26
[2003/11/11 16:38:02, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/ASSETS.CD, dev = 301, inode = 6737982. Deleting it to continue...
[2003/11/11 16:38:02, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:38:34, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737960, file_id = 27
[2003/11/11 16:38:34, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/cc.bin, dev = 301, inode = 6737960. Deleting it to continue...
[2003/11/11 16:38:34, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:39:06, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737965, file_id = 29
[2003/11/11 16:39:06, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/localres.pff, dev = 301, inode = 6737965. Deleting it to continue...
[2003/11/11 16:39:06, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.
[2003/11/11 16:39:39, 0] smbd/oplock.c:request_oplock_break(1011)
 request_oplock_break: no response received to oplock break request to pid 842 on port 32782 for dev = 301, inode = 6737981, file_id = 31
[2003/11/11 16:39:39, 0] smbd/open.c:open_mode_check(652)
 open_mode_check: exlusive oplock left by process 842 after break ! For file Actions/Delta Force/resource.pff, dev = 301, inode = 6737981. Deleting it to continue...
[2003/11/11 16:39:39, 0] smbd/open.c:open_mode_check(656)
 open_mode_check: Existent process 842 left active oplock.


Титла: Samba
Публикувано от: mozly в Jan 24, 2004, 23:55
Ok явно проблема няма да се отстрани ,но аз ще се опитам да инсталирам Самба 3.0 (когато ми остане време) и ще съобщя какво е положението.


Титла: Samba
Публикувано от: mrvoland в Jan 25, 2004, 09:07
прочети много внимателно
man smb.conf
вътре има доста описания за oplocs и oplock2
не ти ги пускам тук за да не flood форума


Титла: Samba
Публикувано от: в Jan 26, 2004, 10:03
Добре доколкото виждам от лог-а самба-та има _големи_ проблеми с тия оплоци ,затова преди да пробваш да преинсталираш опитай да добавиш в [global] това:

Вариант 1.
fake oplocks = yes - така ще излъжеш клиентите, че само те четат даден файл и проблема с active oplock left ще изчезне.

Вариант 2.
oplock break wait time = 1
oplock contention limit = 10
Внимание ! ! ! Това е моя препоръка без да съм чел оплок кода на самба-та ;) Използваай го на собствен риск.
DO NOT CHANGE THIS PARAMETER UNLESS YOU HAVE READ AND UNDERSTOOD THE SAMBA OPLOCK CODE.

И последно .. пробвай да ги разкараш - макар че това има най голяма вероятност да работи .. performance hit-a ще е най-голям в този случай.
Bariant 3.
kernel oplocks = no
level2 oplocks = no
oplocks = no


Айде успех и кажи какво става?


Титла: Samba
Публикувано от: в Jan 26, 2004, 22:38
прочетох в man smb.conf за oplocks ,разбрах им функцията ,изпробвах и вариантите ,но без резултат.

Добре де поддръжка на oplocks не трябра ли да се пусне при компилацията на ядрото ?

Възможно ли е проблемите да са породени от дамото ядро ,защото този проблем се появи заедно с този който разискваме тук. И нещо ме съмнява ядрото. Някой би ли ми казал кои логове да следя за работата на ядрото и основни финкции на с-мата !


Титла: Samba
Публикувано от: melwin в Jan 27, 2004, 14:25
Чакай, чакай как така без резултат ??? Я кажи какво ти дава лога на самбата при третия вариант ??

Иначе за повече инфо си виж :
/var/log/messages
/var/log/debug
dmesg
от време на време поглеждай
last
netstat -ant
lsof -ni
че нещо много съмнителен взе да става твоя комп.


Титла: Samba
Публикувано от: mozly в Jan 27, 2004, 19:53
........аха извинявай прав си при третия вариант нещата се оправиха просто нях объркал нещо в конфиг файла и затва не се получаваше.

Благодаря !!!
По-специално на Melwin !

сега последно ,защо третия вариант проработи ?
и трябва ли при компилация на ядрото да се включи поддръжка на oplocks. Питам защото по дефаулт oplocks е пуснат при самбата ,а сега като ги изключих и се оправи .


Титла: Samba
Публикувано от: melwin в Jan 28, 2004, 09:39
Цитат (mozly @ Ян. 27 2004,20:53)
и трябва ли при компилация на ядрото да се включи поддръжка на oplocks. Питам защото по дефаулт oplocks е пуснат при самбата ,а сега като ги изключих и се оправи .

Не , не трябва. Както сам си забелязал по дефаулт оплок-а е пуснат на самба-та. Нещата са се забозили заради бъгав клиент .. предполагам някое ХР или 2кХ. Както и да е .. самба 3.0 има много по големи възможности ,освен това са оправени повечето бъгове на които си се натъкнал.

P.S. Ъпгрейдни до 2.4.24 сегашното ти ядро няколко security проблема :)


Титла: Samba
Публикувано от: mozly в Jan 28, 2004, 16:22
аз направо сложих 2.6.1 ;)