linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Saso Slavicic" <saso.linux@astim.si>
To: "'J. Bruce Fields'" <bfields@fieldses.org>
Cc: <linux-nfs@vger.kernel.org>
Subject: RE: server_scope v4.1 lock reclaim
Date: Tue, 28 Apr 2015 18:44:27 +0200	[thread overview]
Message-ID: <000101d081d2$984f1820$c8ed4860$@astim.si> (raw)
In-Reply-To: <20150427151944.GA2735@fieldses.org>

> From: J. Bruce Fields
> Sent: Monday, April 27, 2015 5:20 PM

> So in theory we could add some sort of way to configure the server scope
> and then you could set the server scope to the same thing on all your
> servers.
>
> But that's not enough to satisfy
> https://tools.ietf.org/html/rfc5661#section-2.10.4, which also requires
> stateid's and the rest to be compatible between the servers.

OK...I have to admit that with the amount of NFS HA tutorials and the
improvements that NFS v4(.1) brings in the specs, I assumed that HA failover
was supported. I apologize if that is not the case.

So, such a config option could be added but it's not planned to be added,
since it could be wrongly used in some situations (ie. not doing
active-to-passive failover)?
Active-active setup is then totally out of the question?

> In practice given current Linux servers and clients maybe that could
> work, because in your situation the only case when they see each other's
> stateid's is after a restart, in which case the id's will include a boot
> time that will result in a STALE error as long as the server clocks are
> roughly synchronized.  But that makes some assumptions about how our
> servers generate id's and how the clients use them.  And I don't think
> those assumptions are guaranteed by the spec.  It seems fragile.

I read (part of) the specs and stateids are supposed to hold over sessions
but not for different client ids.
Doing a wireshark dump, the (failover) server sends STALE_CLIENTID after
reconnect so that should properly invalidate all the ids?
Would I assume correctly that this is read from the nfsdcltrack? Is there
even a need for this database to sync between each failover, if the client
is already known since it's last failover (only the timestamp would be
older)?

> If it's simple active-to-passive failover then I suppose you could
> arrange for the utsname to be the same too.

I could, but then I don't know which server is active when I login to ssh :)
What would happen, if the 'migration' mount option would be modified for
v4.1 mounts not to check for server scope when doing reclaims (as opposed to
configuring server scope)? :)

Thanks,
Saso Slavicic


  reply	other threads:[~2015-04-28 16:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-27  6:07 server_scope v4.1 lock reclaim Saso Slavicic
2015-04-27 15:19 ` J. Bruce Fields
2015-04-28 16:44   ` Saso Slavicic [this message]
2015-04-28 18:23     ` 'J. Bruce Fields'

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='000101d081d2$984f1820$c8ed4860$@astim.si' \
    --to=saso.linux@astim.si \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).