From: Michael Schwartzkopff <misch@schwartzkopff.org>
To: linux-nfs@vger.kernel.org
Cc: Lukas Hejtmanek <xhejtman@ics.muni.cz>
Subject: Re: NFSv4 high availability setups
Date: Tue, 10 Apr 2012 20:14:48 +0200 [thread overview]
Message-ID: <201204102014.48624.misch@schwartzkopff.org> (raw)
In-Reply-To: <20120410091321.1be1a87e@tlielax.poochiereds.net>
[-- Attachment #1: Type: Text/Plain, Size: 2273 bytes --]
> On Tue, 10 Apr 2012 14:55:52 +0200
>
(...)
> > > > Can we put this state dir on a shared volume so that this state dir
> > > > is common for all the front-ends serving the same content? Is is
> > > > supposed to work and NFSv4 can merge its state with existing state
> > > > on a shared disk?
> > >
> > > Not properly, no. nfsd expects to have complete control over that
> > > directory. There's no locking or merging of the data there. A node will
> > > also clean that directory out in some cases, and that will throw your
> > > state tracking off.
> >
> > Thank you for information.
> >
> > Is there any (preferably simple) way to demonstrate that this does not
> > work properly? E.g., if I share the same export through two or more
> > NFSv4 front-ends that share the v4recovery directory, do I trigger
> > problems with this tool
> > http://nfsv4.bullopensource.org/tools/tests/locktest.php?
>
> Nope. It'll all work just great...until it doesn't. I don't have any
> specific failure scenarios, but most of the problems will be issues
> with state recovery when a server node is restarted.
>
> That may manifest in different ways -- problems reclaiming locks for
> instance, or even silent data corruption depending on the application.
>
> For instance, a node might hand out a lock and the client release it,
> after a server node reboots but before a client that really "owns" it
> reclaims it. Depending on the application, that may cause serious
> problems.
Hi,
I don't think a active/active NFS server is possible with
/var/lib/nfs/v4recovery on a shared media. I think you will get into major
trouble if two or more nodes access that directory at the same time.
On the other hand an active/passive setup is quite easy. There are some HOWTOs
on the internet. I like the one of linbit most:
http://www.linbit.com/de/training/tech-guides/highly-available-nfs-with-drbd-
and-pacemaker/
The guide provides a basic path to follow. You have to tune it according to
which distribution you use. Not all distributions have the necessary features.
See: leasetime, grace time, ...
Greetings,
--
Dr. Michael Schwartzkopff
Guardinistr. 63
81375 München
Tel: (0163) 172 50 98
Fax: (089) 620 304 13
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2012-04-10 18:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-05 10:31 NFSv4 high availability setups Lukas Hejtmanek
2012-04-05 11:39 ` Jeff Layton
2012-04-10 12:55 ` Lukas Hejtmanek
2012-04-10 13:13 ` Jeff Layton
2012-04-10 18:14 ` Michael Schwartzkopff [this message]
2012-04-17 14:34 ` Lukas Hejtmanek
2012-04-17 15:14 ` Jeff Layton
2012-04-24 14:01 ` Jeff Layton
2012-04-24 14:28 ` Chuck Lever
2012-04-24 15:19 ` Jeff Layton
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=201204102014.48624.misch@schwartzkopff.org \
--to=misch@schwartzkopff.org \
--cc=linux-nfs@vger.kernel.org \
--cc=xhejtman@ics.muni.cz \
/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.