[Samba-it] meccanismo di locking non funzionante su nfs

Vincenzo De Sanctis vincenzo.desanctis at gmail.com
Mon Feb 25 07:12:07 MST 2013


Lo scenario e' questo:

serverA [ CentOs 5.6 kernel 2.6.18-238.12.1.el5.centos.plus, Samba ver. 3.5.21 ]
serverB [ CentOS 5.6 kernel 2.6.18-348.1.1.el5.centos.plus, Samba ver.
3.6.6-0.129.el5 ]
clientA [ WindowsXP ]
clientB [ WindowsXP ]


Il serverA condivide via Samba la risorsa [test]


[global]

   workgroup = DMIT
   netbios name = SAMBA
   server string = DMIT domain server
   interfaces = eth0
   smb ports = 445
   encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
   passdb backend = smbpasswd
   username map = /etc/samba/smbusers
   log file = /var/log/samba/pc/%m.log
   time server = Yes
   logon script = logon.bat
   logon path =
   logon drive = M:
   logon home = \\%L\%U
   domain logons = yes
   os level = 33
   preferred master = yes
   domain master = yes
   local master = yes
   printjob username = %M\%U
   hide dot files = No[netlogon]
   path = /etc/samba/netlogon
;   max protocol = smb2


[test]
   comment = test
   path = /test
   read only = no
   writable = yes
   create mode = 0775
   force create mode = 0775
   directory mode = 02775
   force directory mode = 02775
   public = no
   oplocks = no


il serverB monta tramite client nfs la risorsa /test  (mount
serverA:/test /test)
Queta e' il semplicissimo file di configurazione smb.conf di serverB:

[global]

   workgroup = DMIT
   domain master = no
   domain logons = no
   encrypt passwords = yes
   security = server
   password server = serverA
   interfaces = eth0
   smb ports = 445

[test]
   comment = test
   path = /test
   read only = no
   writable = yes
   create mode = 0775
   force create mode = 0775
   directory mode = 02775
   force directory mode = 02775
   public = no
   oplocks = no



Ora dal clientA apro un file excel 2003 da \\serverA\test e dal
clientB apro lo stesso file excel 2003 da \\serverB\test (considerando
che test e' la stessa directory di serverA ma montata via nfs)


Questo e' quanto accade:

1) il file aperto dal clientA su \\serverA\test si apre regolarmente,
mentre sul clientB da \\serverB\test il file excel non si apre e la
clessidra rimane attiva per lunghissimo tempo fino a dare l'errore
"impossibile trovare \\serverA\test\file.xls. Controllare l'ortografia
del nome del file e verificare che la posizione del file sia corretta"
(immagino sia un errore di office2003)

2) se aggiungo "posix locking = no" sul serverA e sul serverB entrambi
i file excel 2003 si aprono ma il meccanismo di locking non funziona.
Entrambi vengono aperti in rw.

3) ho provato ad effettuare varie combinazioni sulle seguenti
variabili, kernel oplocks, oplocks, level2 oplocks, posix locking,
locking, strict locking, nt acl support  ma non ho avuto effetti
significativi.

4) provando ad aprire lo stesso file dallo stesso server samba per
esempio da \\sambaA\test e quindi non utilizzando nfs allora il
locking funziona correttamente.


La cosa strana e' che nella rete dell'azienda per cui lavoro ci sono
diversi server vecchi con samba 2.3 ed il meccanismo di locking su nfs
funziona perfettamente, mentre con le ultime versioni di samba
no...stranissimo.
L'ideale sarebbe l'utilizzo di DFS invece di NFS, ma purtroppo la rete
della mia azienda ha tutte le risorse condivise da samba lincate tra
loro tramite nfs.Quindi per il momento l'unica soluzione per me rimane
quella di continuare ad utilizzare nfs+samba.


Avete avuto esperienze analoghe a riguardo?

Esistono dei bug noti con le utlime versioni si samba e nfs?






-- 
Vincenzo De Sanctis


More information about the samba-it mailing list