Re: [nfs-discuss] NFS performance considerations (Linux vs Solaris)



>>>>> "m" == msl  <opensolaris@xxx> writes:

     m> many users comparing oranges with apples.

Locking is sometimes important, too, by which I mean lockf/fcntl/flock
advisory locks.  For example, FreeBSD implements NFS locking, but
NetBSD doesn't.  This causes problems if you try to netboot FreeBSD
from NetBSD.

The quality of locking implementations has in the past varied, too,
even among the old proprietary Unixes (Irix, HPUX, AIX, OSF/1,
Solaris).  I bet there are others, but the difference I know about is
what happens when clients suddenly disappear forever while holding a
lock.  (Locking was tricky for some implementors becuase it isn't
session-stateless like the rest of NFSv2.  The locks a client holds
need to be released when the client reboots, and renewed when the
server reboots.)  AIX would wait forever for a permanently destroyed
client, while I think FreeBSD claims to wait for 24 hours.


Another locking oddity I'm struggling with right now: mounting a Linux
client's root filesystem with advisory locking switched on seems hard.
Linux NFS-boots using its ``early userspace'' feature, using a
complicated initramfs like this one for Gentoo:

 http://web.Ivy.NET/~carton/rant/gentoox/genkernel-3.3.10-carton.tar.gz

so the ordinary userland tools like 'mount' are responsible for
mounting '/' over NFS.  In Solaris, BSD, and very old Linuxes there's
instead a stripped-down version of 'mount' linked into the kernel.
The problem is Linux's 'mount' tries to contact 'rpcbind' and a bunch
of locking daemons that aren't running before the root filesystem is
mounted, so '/' has to be mounted with 'mount -o nolock'.

I'm not sure how Solaris handles locking-statefulness on NFS '/', but
Solaris also has some special behavior with root filesystems---it
seems to only mount them with NFSv3, but will still mount '/usr' with
NFSv4.  see:

 http://web.Ivy.NET/~carton/oneNightOfWork/20061203-carton.html

Attachment: pgpikazr7FyAT.pgp
Description: PGP signature