RE: [nfsv4] Some stuff on referrals/migration
"Noveck, Dave" <Dave.Noveck@netapp.com> Fri, 21 May 2004 16:52 UTC
Received: from optimus.ietf.org (www.iesg.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA14764 for <nfsv4-archive@odin.ietf.org>; Fri, 21 May 2004 12:52:50 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BRD7O-0007AH-9u for nfsv4-archive@odin.ietf.org; Fri, 21 May 2004 12:43:34 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i4LGhYSK027541 for nfsv4-archive@odin.ietf.org; Fri, 21 May 2004 12:43:34 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BRCwu-0003tQ-0p for nfsv4-web-archive@optimus.ietf.org; Fri, 21 May 2004 12:32:44 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA13034 for <nfsv4-web-archive@ietf.org>; Fri, 21 May 2004 12:32:40 -0400 (EDT)
Received: from ietf-mx.ietf.org ([132.151.6.1] helo=ietf-mx) by ietf-mx with esmtp (Exim 4.32) id 1BRCws-0002FV-Fy for nfsv4-web-archive@ietf.org; Fri, 21 May 2004 12:32:42 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BRCvz-00028X-00 for nfsv4-web-archive@ietf.org; Fri, 21 May 2004 12:31:49 -0400
Received: from [65.246.255.50] (helo=mx2.foretec.com) by ietf-mx with esmtp (Exim 4.12) id 1BRCv1-000216-00 for nfsv4-web-archive@ietf.org; Fri, 21 May 2004 12:30:47 -0400
Received: from optimus22.ietf.org ([132.151.6.22] helo=optimus.ietf.org) by mx2.foretec.com with esmtp (Exim 4.24) id 1BRCv2-0000RI-Bd for nfsv4-web-archive@ietf.org; Fri, 21 May 2004 12:30:48 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BRCZx-0004ms-L8; Fri, 21 May 2004 12:09:01 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BRCQy-0001qj-53 for nfsv4@optimus.ietf.org; Fri, 21 May 2004 11:59:44 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA10625 for <nfsv4@ietf.org>; Fri, 21 May 2004 11:59:40 -0400 (EDT)
Received: from ietf-mx.ietf.org ([132.151.6.1] helo=ietf-mx) by ietf-mx with esmtp (Exim 4.32) id 1BRCQw-0007kE-Sf for nfsv4@ietf.org; Fri, 21 May 2004 11:59:42 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BRCQ1-0007gw-00 for nfsv4@ietf.org; Fri, 21 May 2004 11:58:46 -0400
Received: from mx01.netapp.com ([198.95.226.53]) by ietf-mx with esmtp (Exim 4.12) id 1BRCPM-0007cT-00 for nfsv4@ietf.org; Fri, 21 May 2004 11:58:04 -0400
Received: from hawk.corp.netapp.com (hawk [10.57.156.122]) by mx01.netapp.com (8.12.10/8.12.10/NTAP-1.4) with ESMTP id i4LFuOMj018352; Fri, 21 May 2004 08:56:45 -0700 (PDT)
Received: from svlexc01.hq.netapp.com (svlexc01.corp.netapp.com [10.57.156.135]) by hawk.corp.netapp.com (8.12.9/8.12.9/NTAP-1.5) with ESMTP id i4LFnWBN025779; Fri, 21 May 2004 08:56:08 -0700 (PDT)
Subject: RE: [nfsv4] Some stuff on referrals/migration
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Message-ID: <C8CF60CFC4D8A74E9945E32CF096548A01C8EDD1@silver.nane.netapp.com>
content-class: urn:content-classes:message
X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0
Thread-Topic: [nfsv4] Some stuff on referrals/migration
Thread-Index: AcQ+1796SB2RWg4qTOGT6WNNCa2dRgAWj5mw
From: "Noveck, Dave" <Dave.Noveck@netapp.com>
To: Brent.Callaghan@Sun.COM
Cc: nfsv4@ietf.org
Content-Transfer-Encoding: quoted-printable
Sender: nfsv4-admin@ietf.org
Errors-To: nfsv4-admin@ietf.org
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
List-Archive: <https://www1.ietf.org/mail-archive/working-groups/nfsv4/>
X-Original-Date: Fri, 21 May 2004 08:52:55 -0700
Date: Fri, 21 May 2004 08:52:55 -0700
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.1 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: quoted-printable
Content-Transfer-Encoding: quoted-printable
As I remember things, we had a discussion of global namespace as a possible work item for v4.1. The conclusion was that the referrals that were in v4.0 were just a small part of what was needed for this. It didn't look like adding what was needed was a small job and nobody stepped up and said "I'll make it happen", so the subject was dropped. I do think AFS with a common implementation had a big advantage here, but I don't think this is out of the question for NFS-v4. It ain't going to happen for v4.1, but with such a big item (and it is big), I think it is best to take scheduling out of the equation. I think it is reasonable to work toward a coherent description of how this will be done in NFS-v4, with the expectation that it will go into whatever v4.x is currently open for business, when it is ready. Let's not propose it for each successive v4.n and decide there is no time, for that cycle, and then repeat the exercise for v4.n+1, etc. Let me go into sales mode for a second. This is a valuable feature that people just love to have. It makes sense for it to make the transition to a mainstream open protocol. I realize that people with the knowledge (of AFS particularly) and skills to do this work have many demands on their time, but I urge them to consider the value that this would bring to NFS-v4 and its users. I think discussing this at Ann Arbor is a waste of time, if there are no volunteers to do the work, but if you are prepared to sign up for this, it makes sense to tell Spencer and we can schedule a discussion of global namespace as an agenda item for the 6/9 meeting. As to, > There are some issues that NFSv4 cannot have its own way, > and filesystem relocation is probably one of them. It can't dictate to other protocols how (or even if) they handle the issue. > How > do you make it work on a multi-protocol NAS server ? There are two models. Let me first talk about the every- protocol-for-itself approach. Actually, this issue is on the simpler end of the spectrum, as multi-protocol issues go. In other cases, you have to deal with the interactions among multiple protocols. For example, when a CIFS or v4 client makes a share reservation denying WRITE, you have to handle writing by v2/v3 clients who have no concept of denial because of a share reservation. So you are forced to map this to a permission error, which isn't perfect but nothing is perfect .. Having each protocol deal independently with an external event is inherently simpler which doesn't mean that it is simple. > How do the CIFS, AFP and NFSv2,v3 clients follow a filesystem > that's been moved ? Microsoft has something called DFS (not to be confused with what other people call DFS) which I think does something referral-like. As far as migration of an actively used fs, you can just forget it. In CIFS, session and connection state are tightly bound together and I don't see how you can disconnect here and reconnect there sanely. It is the same with a server reboot. You disconnect and reconnect, the applications see the event and handle it as well as they can. If you don't like it, don't use CIFS. NFS allows reclaim after server reboot. The fact that CIFS doesn't does not mean that that feature is valueless, even though it does nothing for CIFS users. The same thing applies with v2/v3 vs. v4. With v2/v3 you can use symlinks and automount to do something referral-like, but if the fs moves to a different server, you are going to get STALE and remount. That isn't nice, but it does not indicate, to me at least, that v4 should not do better. > I just don't think file server admins > are going to move stuff around - unless there's some kind > of accomodation for existing NFS clients. In the case of migration while a filesystem is being used, the only accommodation that I can see would be proxying, which starts to shade over into the true-multiprotocol approach, discussed below. The way I see it, is that admins are moving things around now. They just don't like the consequences. Implementation of v4 migration is simply a way of reducing their pain, and that's a good thing. I think it is true that admins will not move things around much more freely until farther in the roll-out of v4. Until the majority of their (important) clients are v4 with migration support, the benefit of the feature, where it is available, will be in pain reduction, rather than enhanced freedom to move things around. The only approach I know of to handle migration in a true multi-protocol fashion (as opposed to every protocol for itself within a multiprotocol framework), is the Spinnaker- type approach. Clients talk to servers which are in essence proxies for the servers which actually contain the data. The entire cluster of proxies plus data servers appears to the clients as a single system so that migration of data does not happen as far as the clients are concerned, and this includes NFS and CIFS clients (although no v4 yet). A number of protocols have been developed on a proprietary basis to do this sort of thing. The proxies speak this protocol to the back-end data servers and you get scalable access to a single namespace as well as the freedom to migrate data betweeen data servers. It is at least conceivable that you could develop such a protocol on an open basis but it would be a *big job* (in 72-point extra bold type). You would need a protocol for the communication between the proxy and the data server which is capable of faithfully representing the semantics of NFS v2/v3/v4, CIFS (in all its perversity. Yeah, yeah, I'm biased, but if you think I don't like CIFS, talk to the people that work on it), and whatever other protocols you want to support. My estimate is that it is about 5-10 times the size of that v4, in terms of effort, so I'm not clear how it could be done since I would think that an 40+ year effort is out of the question. -----Original Message----- From: Brent Callaghan [mailto:brent@eng.sun.com] Sent: Thursday, May 20, 2004 10:02 PM To: Noveck, Dave Cc: nfsv4@ietf.org Subject: Re: [nfsv4] Some stuff on referrals/migration Hi Dave, I think we had a referrals/migration discussion a year or so back, where there issue came down to some fundamentals of a global namespace: should it be implemented at the client or at the server. Currently it's based at the client, via automounters, and NFSv4 referrals are an attempt to base it at the server. But I don't think we're going to resolve that here. I think NFS4ERR_MOVED and fs_locations was proposed with a more modest goal of allowing server admins to shuffle NFS filesystems around and the back end and not have to tell the clients, i.e. the clients would just automagically follow the referrals, mounts could stay in place, and files stay open. I believe it was inspired by the AFS filesystem, which could quite easily relocate filesystems on the fly via some clever snapshotting and simple Volume Location Database updates. However, I don't think NFS is anywhere near as monolithic as AFS was, with its VLDB, cells, and special filesystems. There are some issues that NFSv4 cannot have its own way, and filesystem relocation is probably one of them. How do you make it work on a multi-protocol NAS server ? How do the CIFS, AFP and NFSv2,v3 clients follow a filesystem that's been moved ? I just don't think file server admins are going to move stuff around - unless there's some kind of accomodation for existing NFS clients. Brent _______________________________________________ nfsv4 mailing list nfsv4@ietf.org https://www1.ietf.org/mailman/listinfo/nfsv4
- [nfsv4] Some stuff on referrals/migration Noveck, Dave
- Re: [nfsv4] Some stuff on referrals/migration Brent Callaghan
- RE: [nfsv4] Some stuff on referrals/migration Noveck, Dave
- Re: [nfsv4] Some stuff on referrals/migration Brent Callaghan
- RE: [nfsv4] Some stuff on referrals/migration Noveck, Dave
- RE: [nfsv4] Some stuff on referrals/migration Yoder, Alan
- Re: [nfsv4] Some stuff on referrals/migration Peter Staubach