linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Chuck Lever <chuck.lever@oracle.com>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
	Steve Dickson <SteveD@redhat.com>
Subject: Re: EXCHANGE_ID with same network address but different server owner
Date: Fri, 12 May 2017 10:34:11 -0400	[thread overview]
Message-ID: <20170512143410.GC17983@parsley.fieldses.org> (raw)
In-Reply-To: <20170512132721.GA654@stefanha-x1.localdomain>

On Fri, May 12, 2017 at 09:27:21AM -0400, Stefan Hajnoczi wrote:
> Hi,
> I've been working on NFS over the AF_VSOCK transport
> (https://www.spinics.net/lists/linux-nfs/msg60292.html).  AF_VSOCK
> resets established network connections when the virtual machine is
> migrated to a new host.
> 
> The NFS client expects file handles and other state to remain valid upon
> reconnecting.  This is not the case after VM live migration since the
> new host does not have the NFS server state from the old host.
> 
> Volatile file handles have been suggested as a way to reflect that state
> does not persist across reconnect, but the Linux NFS client does not
> support volatile file handles.

That's unlikely to change; the protocol allows the server to advertise
volatile filehandles, but doesn't really give any tools to implement
them reliably.

> I saw NFS 4.1 has a way for a new server running with the same network
> address of an old server to communicate that it is indeed a new server
> instance.  If the server owner/scope in the EXCHANGE_ID response does
> not match the previous server's values then the server is a new
> instance.
> 
> The implications of encountering a new server owner/scope upon reconnect
> aren't clear to me and I'm not sure to what extent the Linux
> implementation handles this case.  Can anyone explain what happens if
> the NFS client finds a new server owner/scope after reconnecting?

I haven't tested it, but if it reconnects to the same IP address and
finds out it's no longer talking to the same server, I think the only
correct thing it could do would be to just fail all further access.

There's no easy solution.

To migrate between NFS servers you need some sort of clustered NFS
service with shared storage.  We can't currently support concurrent
access to shared storage from multiple NFS servers, so all that's
possible active/passive failover.  Also, people that set that up
normally depend on a floating IP address--I'm not sure if there's an
equivalent for VSOCK.

--b.

  reply	other threads:[~2017-05-12 14:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-12 13:27 EXCHANGE_ID with same network address but different server owner Stefan Hajnoczi
2017-05-12 14:34 ` J. Bruce Fields [this message]
2017-05-12 15:01   ` Trond Myklebust
2017-05-12 17:00     ` Chuck Lever
2017-05-15 14:43       ` Stefan Hajnoczi
2017-05-15 16:02         ` J. Bruce Fields
2017-05-16 13:11           ` J. Bruce Fields
2017-05-18 13:34             ` Stefan Hajnoczi
2017-05-18 14:28               ` Chuck Lever
2017-05-18 15:04                 ` Trond Myklebust
2017-05-18 15:08                   ` J. Bruce Fields
2017-05-18 15:15                     ` Chuck Lever
2017-05-18 15:17                       ` Trond Myklebust
2017-05-18 15:17                     ` Trond Myklebust
2017-05-18 15:28                       ` bfields
2017-05-18 16:09                         ` Trond Myklebust
2017-05-18 16:32                           ` J. Bruce Fields
2017-05-18 17:13                             ` Trond Myklebust
2017-05-22 12:45                               ` Stefan Hajnoczi
2017-05-22 14:25                           ` Jeff Layton
2017-05-16 13:33           ` Stefan Hajnoczi
2017-05-16 13:36             ` J. Bruce Fields
2017-05-17 14:33               ` Stefan Hajnoczi

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=20170512143410.GC17983@parsley.fieldses.org \
    --to=bfields@redhat.com \
    --cc=SteveD@redhat.com \
    --cc=chuck.lever@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=stefanha@redhat.com \
    /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).