All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ragnar Kjørstad" <nfs@ragnark.vestdata.no>
To: Juan Gomez <juang@us.ibm.com>
Cc: nfs@lists.sourceforge.net
Subject: Re: Clustered NFS?
Date: Sat, 25 May 2002 03:28:39 +0200	[thread overview]
Message-ID: <20020525032839.X12125@vestdata.no> (raw)
In-Reply-To: <OF9BD0A326.21A8F516-ON88256BC3.008259B0@boulder.ibm.com>; from juang@us.ibm.com on Fri, May 24, 2002 at 04:46:22PM -0700

On Fri, May 24, 2002 at 04:46:22PM -0700, Juan Gomez wrote:
> Is there any software project/patch attempting to create a clustered
> version of NFS? What I mean is a version of NFS where lockd/statd state can
> be migrated from server to server? Any standard for this?

There are really two seperate questions here:

1. Generic failover software
2. Code to make NFS failover work


For generic failover software I would recommend heartbeat (linux-ha.org)
(main developer is Alan Robertson, IBM, btw) or failsafe. Heartbeat is a
very minimalistic and simple system, wheres failsafe (beeing based on
Irix failsafe) is bigger. This makes heartbeat easier to understand and
build from (thus my favourite), but if you want everything in a package
failsafe may come closer. There are also commercial alternatives, but I
don't think they have any significant advantages over the free ones.

Now, NFS will mostly work like any other ha-service, but there are some
important exceptions, regarding lockd/statd. First of all,
device-numbers must match (or you must specify a device-id manually to
override the use of the device-id of the block-device). Second,
/var/lib/nfs must be shared between the servers. This way the
backup-host will know what clients had the filesystem mounted. This is
actually _almoust_ enough for locks to work as well. Locks are not
stored on disk, but on reboot the nfs-server will notify all clients
that had the fs mounted that they must relock their files. Only one
hatch: the nfs-servers use their hostname in the message to the client,
and unless you handle this specificly the clients will not reckognize
the server as the hostname is changed (thus not relock their files). The
solution is to manually set the hostname for the nfs-server, so it
matches the shared-ip rather than the real hostname of the nfs-server.

I wrote a small patch for nfs-utils to fix the above problem. With the
most recent nfs-utils package you should be able to put a "SERVICENAME"
in /etc/sysconfig/network (if you use RH init-scripts) for this.

Mission Critical Linux often claim they're the only software that
handles this, but the truth is that they produced some linux-patches to
fix nfs-bugs related to reboot/failover, and the fixes are available to
anyone. They're work was important and you may choose to buy their
software to support them (but I guess it's a little bit late...), but
it's not a requirement for this functionality.

Failsafe has a built-in script for nfs-servers, but unfortenately the
linux-version (unlike the irix-version) does not work for a shared
/var/lib/nfs (at least it didn't earlier). So, you will have to do some
modifications for this to work. It's not impossible, and SGI/SuSE would
probably like the fixes in the main distribution so you will get help.

However, as heartbeat doesn't require own init-scripts at all, but just
use the regular sysv scripts, it's the easiest solution of them all. It
has been done, and it works fine :)

BigStorage have a NAS based on linux+heartbeat for those that want the
functionality without the hassle.



-- 
Ragnar Kjorstad
Big Storage

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

      parent reply	other threads:[~2002-05-25  1:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-24 23:46 Clustered NFS? Juan Gomez
2002-05-25  0:16 ` Greg Lindahl
2002-05-25  0:41 ` Tom McNeal
2002-05-25  1:28 ` Ragnar Kjørstad [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020525032839.X12125@vestdata.no \
    --to=nfs@ragnark.vestdata.no \
    --cc=juang@us.ibm.com \
    --cc=nfs@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.