Date: Tue, 18 Jul 1995 10:17:49 -0500 (CDT) From: faulkner@mpd.tandem.com (Boyd Faulkner) To: mikebo@tellabs.com (Mike Borowiec) Cc: questions@freebsd.org Subject: Re: FBSD v2.0.5: NFS to multi-homed server broken? Message-ID: <9507181517.AA28706@olympus> In-Reply-To: <m0sXz9I-000jBzC@tellab5.lisle.tellabs.com> from "Mike Borowiec" at Jul 17, 95 06:00:23 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > Greetings - > I have found some anomolous NFS behaviour in FreeBSD 2.0.5R. > > Problem 1: > FreeBSD attempts to NFS mount a partition from a multi-homed server not > on the same ethernet, and the return route from the server to the FreeBSD > client is via another interface (with a different hostname and IP address). > If done manually, the mount command can be killed. If the mount is in the > /etc/fstab file, the machine hangs on startup and must be reset. Been there, done that. You need the noconn option. This way, when it comes back along a different route, there is not a connnection already in force. I think this is the -c option if you use mount_nfs directly. Anyway, -o noconn solved the problem for me. > > Problem 2: > Worse yet, the mount succeeds and the route from the server to the FreeBSD > client is subsequently changed when the server receives a RIP update from > its router. In this case, any session accessing the affected partition > hangs and can't be recovered. In some cases, the whole OS runs off into > the bushes and there's no keyboard response at all... big, red switch time! I got a session hang if I attempted to access the partition. > > On comp.os.bsd.freebsd.misc I've had people suggest that I not run routed > on the server. Unfortunately, it will not always be possible for a FreeBSD > user to dictate this to admin staff, especially when local SunOS machines > flawlessly handle both of the situations listed above. > > Questions refering to the Sniffer data below: > o Trace 1 shows everything works fine if you're sure which interface > the server will use to talk to the client... if not... > o Trace 2 shows that the SunOS 4.1.3 portmapper returns the proper port > number for NFS (2049), but FreeBSD complains that Port 797 is > unreachable. How did it get 797 from 2049? > o Trace 3 shows that SunOS NFS clients don't bother to portmap the NFS > port number which is already well known to be 2049. Why does FreeBSD > bother to do this apparently useless step? > o Trace 3 shows that SunOS is not bothered by the fact that the responses > are from another IP address. It seems to know that the two addresses are > in fact the same machine. How, and why doesn't FreeBSD do the same? > o Trace 3 shows that SunOS does an apparently useless "Null command" > which is ackowledged by the server... why? > o SunOS is apparently unbothered when the route from server to client > changes, while FreeBSD hangs. How does SunOS handle this and can a > similar method be enployed in FreeBSD? > > Anyone have any info on these problems and whether they will be resolved > in 2.1R? Thanks... > - Mike > > Sniffer Network Analyzer data: > Note that TELLABK and SUNK are different interfaces on the same SunOS > 4.1.3 server... both of these networks are connected to a router. Both > TOYBOX and GENESIS are on the same ethernet, which is also connected > to the same router... > > +---------------+ > |TELLABK / SUNK | > +---+--------+--+ > | | > ======= ==== > | | > +-----------+--+ > | ROUTER | > +-----+--------+ > | > ================ > | | > +--+----+ +-+----+ > |genesis| |toybox| > +-------+ +------+ > > Successful mount by FBSD 2.0.5 client of SunOS 4.1.3 server: > toybox# mount sunk:/export/home/tellabk-4 /home/tellabk-4 > > Destination Source Summary > tellabs toybox DNS C ID=1 OP=QUERY NAME=sunk > toybox tellabs DNS R ID=1 STAT=OK NAME=sunk > sunk toybox PMAP C Get port PROG=100003, VERS=2, IP=17 > toybox sunk PMAP R PORT=2049 > sunk toybox PMAP C Get port PROG=100005, VERS=1, IP=17 > toybox sunk PMAP R PORT=733 > sunk toybox MOUNT C Mount /export/home/tellabk-4 > toybox sunk MOUNT R Mount OK F=075B > > > Unsuccessful mount by FBSD 2.0.5 client of SunOS 4.1.3 server: > toybox# mount tellabk:/export/home/tellabk-4 /home/tellabk-4 > > Destination Source Summary > tellabs toybox DNS C ID=1 OP=QUERY NAME=tellabk > toybox tellabs DNS R ID=1 STAT=OK NAME=tellabk > tellabk toybox PMAP C Get port PROG=100003, VERS=2, IP=17 > toybox sunk PMAP R PORT=2049 > sunk toybox Port 797 unreachable > ICMP Destination unreachable (Port unreachable) > tellabk toybox PMAP C Get port PROG=100003, VERS=2, IP=17 > toybox sunk PMAP R PORT=2049 > sunk toybox Port 797 unreachable > ICMP Destination unreachable (Port unreachable) > ... ad infinitum ... > > Successful mount by SunOS 4.1.4 client of SunOS 4.1.3 server: > genesis# mount tellabk:/export/home/tellabk-4 /home/tellabk-4 > > Destination Source Summary > tellabs genesis NIS C Lookup key suntell.hosts.byname > genesis tellabs NIS R OK > tellabs genesis NIS C Lookup key suntell.protocols.byname > genesis tellabs NIS R OK > tellabk genesis PMAP C Get port PROG=100005, VERS=2, IP=17 > genesis sunk PMAP R PORT=733 > tellabk genesis MOUNT C Null Command > genesis sunk MOUNT R Null Command OK > tellabk genesis MOUNT C Mount /export/home/tellabk-4 > genesis sunk MOUNT R Mount OK F=0733 > > -- > -------------------------------------------------------------------------- > Michael Borowiec Network Operations Tellabs Operations, Inc. > mikebo@tellabs.com 1000 Remington Blvd./MS109 > 708-378-6007 FAX: 708-378-6714 Bolingbrook, IL, USA 60440 > -------------------------------------------------------------------------- > -- _______________________________________________________________________ Boyd Faulkner - faulkner@isd.tandem.com - http://cactus.org/~faulkner _______________________________________________________________________
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9507181517.AA28706>