SaMBa probléma

Fórumok

Szevasztok!!

Lenne egy igen égető problémám a samba-val (samba_3.0.24-4_amd64 / debian etch)
2 hónapja van ez a szerver, korábban egy ősrégi novell volt, azt cseréltük le.
A kliens gépek (win98/xp) hálózati meghajtóként csatlakoztatják a szervert, melyen DOS-os bérszámfejtő, illetve könyvelői programokat használnak. Nexon-Bér, Main, stb...
Itt az adatok főleg dbf adatbázisokban tárolódnak, rengeteg pici file.
A probléma: időnként(?) eltűnnek adatok az adatbázisokból. Ilyenkor kell a backup-ból pótolni a dbf-eket, mert ha összehasonlítom a jelenlegit a régivel, akkor a jelenlegi pár byte, a régi pedig sokkal nagyobb. Nem lehet, hogy a samba nem menti el egyből a file-t, hanem tárolgatja egy darabig a memóriában, vagy ilyesmi?
Aztmondják, hogy amíg a régi novell szerver volt, addig soha sem volt ilyen probléma, én hiszek nekik.

a config:

[global]
workgroup = workgroup
netbios name = szikla
server string = %h server (Samba %v)
encrypt passwords = true
map to guest = Bad User
socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY
security = user
os level = 32
interfaces = eth0

[sys]
comment = SYS Directory
path = /home/sys
valid users = @szikla
force user = root
read only = no
guest ok = no
browseable = yes

[homes]
comment = Private Directory
path = /home/%u
browseable = no
valid users = @szikla
read only = no
create mask = 0750
guest ok = no

köszönöm!

Hozzászólások

Ha azt a socket options sort kikommenteled, akkor mi a helyzet? Ha jól tévedek, alapértelmezésben nincsen ilyesmi deklarálva, ezért látom értelmét megpróbálni.
--
'Please, just tell people to use Windows.' - Linus Torvalds on KDE and GNOME
Registered M$funboy #006

Esetleg, ha multiuseres programokról van szó:

oplocks = no
level2 oplocks = no

Én 2.2.6 verziónál futottam bele ilyesmibe, és az alábbi opciók segítettek:

blocking locks = No
oplocks = No
level2 oplocks = No

Az első lehet, hogy nem kell már nem emlékszem. A szerver a mai napig megy, ~80 felhasználó nyúz egy dataflex (dos) programot, és semmi probléma vele.

oplock-ok kikapcsolasa szerintem is..
BDE-s alkalmazasoknal is ez oldja meg a problemak nagy reszet :)

nos, az oplocks cuccok önmagukban nem segítettek, viszont a következők igen (hátha valaki belebotlik ilyen hülyeségbe):
convmv -vel az összes könyvtárat és file-t nagybetűsre alakítottam, majd hozzáfűztem ezeket a sorokat az smb.conf -hoz:

case sensitive = no
default case = upper
preserve case = no
short preserve case = no
mangled names= yes

így csak nagybetűs file-okat hoz létre a szerveren.

ugyanis észrevettem, hogy volt két dbf is ugyanazzal a névvel (kisbetű/nagybetű), de mindkettő teljesen szét volt esve, még a header-jük is hiányzott.
mindenesetre az oplocks bentmaradt, így műkszik, nem nyúlok hozzá :)

köszi mindenkinek!

mégsem megy... szétesnek a DBF-ek. mindig 419 byte -osak lesznek és nincs bennük szar sem.. na én teljesen kifogytam...

azért samba szerintem, mert a régi novell -ről tökélketesen működött... persze semmi sincs klizárva.

syslog:
Mar 30 08:42:03 szikla smbd[13564]: [2007/03/30 08:42:03, 0] lib/util_sock.c:get_peer_addr(1229)
Mar 30 08:42:03 szikla smbd[13564]: getpeername failed. Error was Transport endpoint is not connected
Mar 30 08:42:03 szikla smbd[13564]: [2007/03/30 08:42:03, 0] lib/util_sock.c:write_data(562)
Mar 30 08:42:03 szikla smbd[13564]: write_data: write failure in writing to client 192.168.0.12. Error Connection reset by peer
Mar 30 08:42:03 szikla smbd[13564]: [2007/03/30 08:42:03, 0] lib/util_sock.c:send_smb(769)
Mar 30 08:42:03 szikla smbd[13564]: Error writing 4 bytes to client. -1. (Connection reset by peer)
Mar 30 10:25:18 szikla smbd[13647]: [2007/03/30 10:25:18, 0] lib/util_sock.c:write_data(562)
Mar 30 10:25:18 szikla smbd[13647]: write_data: write failure in writing to client 192.168.0.102. Error Connection reset by

ezt az egyetlen XP-s gép miatt dobálja, de nem hinném hogy köze lenne ehez a dologhoz. szerintetek?

Kicsit felhozom a topikot, hátha van valakinek ötlete. Nekem egy 2.2.6 samba fut, oplock, level2 oplock tiltva, és tökéletes a dos programok zárolása.
3.x verzióra váltva ugyanazzal a konfiggal a programot se lehet elindítani két példányban, mert az első kliens DENY_DOS módban nyit mindent. Ha kikapcsolom az összes lock opciót, akkor többen is hozzáférnek, de ha az egyik módosított valamit, akkor a második kliens nem olvassa újra az adatbázist írás előtt, amitől inkonzisztens állapotba kerülnek.

UP!

Valakinek sikerült rájönni a nyitjára? Amennyiben egy
debian sarge samba3-ról downgradelek samba2.x-re megoldja-e a problémát?

-----
Üdv, icee

Üdv mindenkinek!

Adott egy samba kiszolgáló a következő könyvtárszerkezettel:
/samba/fotok
/samba/zenek
/samba/munkak
/samba/munkak/felhasznalo1
/samba/munkak/felhasznalo2
/samba/munkak/felhasznalo3
/samba/munkak/felhasznalo4
/samba/munkak/felhasznalo5

smb.conf:
[global]
workgroup = workgroup
netbios name = SERVER
server string = Samba %v
os level = 256
preferred master = yes
local master = Yes
domain master = yes
domain logons = yes
logon script = scripts\%G.bat
security = USER
encrypt passwords = Yes
passdb backend = smbpasswd
smb passwd file = /etc/samba/smbpasswd
unix password sync = yes
log level = 2
log file = /var/log/samba/log.%U
max log size = 3000
socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY
use mmap = Yes
browse list = Yes
enhanced browsing = Yes
wins support = yes
invalid users = root
guest ok = No
printing = cups
printcap name = cups
load printers = yes
[printers]
comment = All Printers
path = /tmp
create mask = 0600
printable = Yes
browseable = No
[netlogon]
guest ok = no
browseable = no
comment = Network Logon Service
locking = no
writable = yes
path = /samba/netlogon
[homes]
comment = Home Directory
browseable = no
guest ok = no
read only = no
writable = yes
printable = no
create mode = 0600
force create mode = 0600
directory mode = 0700
force directory mode = 0700
path = /home/%U/Documents
[munka]
comment = Munka
path = /samba/munkak/%U
volume = Munka
read only = yes
guest ok = no
force group = felhasznalok1
create mask = 770
force create mode = 0770
directory mask = 770
force directory mode = 0770
valid users = @felhasznalok1
write list = @felhasznalok1
[munkak]
comment = Munkak
path = /samba/munkak
volume = Munkak
read only = yes
guest ok = no
force group = felhasznalok1
create mask = 770
force create mode = 0770
directory mask = 770
force directory mode = 0770
valid users = @felhasznalok1
write list = @felhasznalok1
[zenek]
comment = Zenek
path = /samba/zenek
volume = Zenek
read only = yes
guest ok = no
force group = felhasznalok1
create mask = 770
force create mode = 0770
directory mask = 770
force directory mode = 0770
valid users = @felhasznalok1 @felhasznalok2
write list = @felhasznalok1 @felhasznalok2
[fotok]
comment = Fotok
path = /samba/fotok
volume = Fotok
read only = yes
guest ok = no
force group = felhasznalok1
create mask = 770
force create mode = 0770
directory mask = 770
force directory mode = 0770
valid users = @felhasznalok1 @felhasznalok2
write list = @felhasznalok1
[cd_rom]
comment = Cdrom
path = /media/cdrom
volume = Cdrom
read only = yes
guest ok = no
force group = felhasznalok1
create mask = 770
force create mode = 0770
directory mask = 770
force directory mode = 0770
valid users = @felhasznalok1

felhasznalok1.bat:
net time \\server /set /yes
net use k: \\server\fotok
net use m: \\server\munkak
net use n: \\server\munka
net use z: \\server\zenek

felhasznalok2.bat:
net time \\server /set /yes
net use k: \\server\fotok
net use n: \\server\munka
net use z: \\server\zenek

A probléma az hogy ha pl. a felhasznalo2 a munka megosztásban létrehoz egy munkak nevű mappát, akkor a felhasznalok1 csaportba tartozok (mivel csak ők érik el a munkak megosztást) a win98-as klienseken a következőt látják:

M:\felhasznalo2\munkak\felhasznalo1\
M:\felhasznalo2\munkak\felhasznalo2\
M:\felhasznalo2\munkak\felhasznalo3\
M:\felhasznalo2\munkak\felhasznalo4\
M:\felhasznalo2\munkak\felhasznalo5\

Az alkönyvtárak és a fájlok látszanak, a könyvtárakba be lehet lépni, de a fájloka nem lehet megnyítni. A WinXP és és Win2000 kliensekkel minden rendben van.