spolupraca: NFS server Windows <-> NFS klient UNIX

Kilian Igor Igor.Kilian na infogas.sk
Středa Únor 22 14:25:24 CET 2006


Odpoviem si ciastocne sam (google nasiel :-)),
len neviem ci to je ono:

In Unix, there are two flavours of file locking flock()
from BSD and lockf() from System V. It varies from system
to system which of these mechanisms work with NFS. In Solaris,
Sun's Unix variant, lockf() works with NFS, and flock() is
implemented via lockf(). On other systems, the results are
less consistent. For example, on some systems, lockf() is not
implemented at all, and flock() does not support NFS; while
on other systems, lockf() supports NFS but flock() does not.


Takze pravdepodobne flock() pre danu verziu UNIXu nepodporuje
nfs locking (to je problem, lebo to zmenit nemozem a ani aplikacia
sa zmenit neda).


Ak to je tak, viem to nejako pomocou perlu preverit? (nemozem
do neho nic pridavat ziadna moznost pridania modulov NFSlock
a pod co som narychlo nasiel).

Igor
 

> -----Original Message-----
> From: Kilian Igor [mailto:Igor.Kilian na infogas.sk] 
> Sent: Wednesday, February 22, 2006 1:48 PM
> To: linux na linux.cz
> Subject: spolupraca: NFS server Windows <-> NFS klient UNIX
> 
> Prajem vsetkym prijemny den
> 
> Mam nasledujucu situaciu:
> - NFS server na WIN serveri
>   (services for unix, podporuje po verziu NFSv3)
> - UNIX ma primoutovany tento NFS zdroj k sebe
>   (mount -t nfs -o nfsvers=3,rsize=8192,wsize=8192,timeo=14,intr)
> 
> Problem je s otvorenym suborom z UNIXu a videnim z Windowsu
> (asi problem lockovania suborov cez nfsko)
> 
> dobre spravanie:
> ----------------
> ak je nejaky subor na WIN servery otvoreny z WINdowsu
> cez share, tak operacia move na windowse neprejde, lebo
> vie o tom, ze je otvoreny
> 
> zla reakcia:
> ------------
> ked na UNIXe zacnem zapisovat na NFSko Windowsu, tak
> prikaz move na windowse prejde aj ked dany subor nebol
> na UNIXovej strane uzavrety.
> 
> Je mozne nejak z windowsu toto zistit, alebo donutit
> ho aby vedel o tom, ze subor je otvoreny a prikaz
> move vykonal iba ked je subor uzavtrety?
> 
> Logovanie som nechal aj na locking. Ked v unixe spustim
> lockovanie suboru (prelovy script), tak windows toto nezaloguje.
> Je mozne, ze mam zle namountovany filesystem. Co treba zvolit?
> Ako funguje lockovanie na NFSku? Myslel som, ze je to automaticke.
> Na testovanie 30 sekundoveho lockovania pouzivam perlovy script:
> 
> #!/usr/bin/perl -w
> 
> $LOCK_EXCLUSIVE = 2;
> $UNLOCK = 8;
> 
> open (FILE, ">> test.txt") || die "problem opening test.dat\n";
> flock FILE, $LOCK_EXCLUSIVE;
> sleep 30;
> print FILE "this line printed by 1lock.pl\n";
> flock FILE, $UNLOCK;
> close(FILE);
> 
> Za rady Vam vopred dakujem.
> 
> Igor


Další informace o konferenci Linux