Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Aug 2006 15:10:14 +0200
From:      Attila Nagy <bra@fsn.hu>
To:        freebsd-net@freebsd.org
Subject:   Redundant/failover NFS servers - stale NFS file handle
Message-ID:  <44E07636.4090403@fsn.hu>

next in thread | raw e-mail | index | archive | help
Hello,

I would like to run diskless clients (they are actually servers) from 
FreeBSD, but I don't like having a SPoF at the NFS server level and 
don't want to use expensive out of the box solutions, like a NAS with a 
SAN behind it.

The scenario of one master server and one (or more) slave(s) are enough 
for me, as the mounts would be read only.

So in theory, having two FreeBSD boxes, both with the NFS service on a 
CARP-based virtual IP would perfectly fit my needs.

The only problem is that NFS encodes some information in the 
filehandles, so when I'm doing a failover with the NFS clients (bringing 
the carp interface down on the master server), I get "Stale NFS file 
handle".

Linux has an fsid option, which can be specified in exports, but as far 
as I can understand what's going under the hood it's only part of the 
problem. Due to inode numbers (and maybe other reasons) I need to have a 
common, shared file system between the NFS servers to have file handles 
in sync.

Do you see any possible solutions, which could satisfy this (thought to 
be) simple need of having a master and slave NFS servers with a virtual 
IP without client side support?

As for the client side, Solaris has the capability of doing NFS client 
failover (reported to have some problems, but for now I would have only 
FreeBSD clients), and AMD has multiple server support, but I don't know 
how does that work with FreeBSD diskless boots yet. (root FS on NFS)

Thanks,
-- 
Attila Nagy                                   e-mail: Attila.Nagy@fsn.hu
Free Software Network (FSN.HU)                 phone: +3630 306 6758
http://www.fsn.hu/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44E07636.4090403>