public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* Proxy
@ 2010-05-03 16:53 maillists0
  2010-05-03 18:56 ` Proxy J. Bruce Fields
  0 siblings, 1 reply; 5+ messages in thread
From: maillists0 @ 2010-05-03 16:53 UTC (permalink / raw)
  To: linux-nfs

With NFS4's support for referrals and Kerberos, it seems like the
original reasons to prevent re-exporting of an NFS share might no
longer exist. With fs-proxy making its way into the mainline kernel
and things like cachefilesd, there are also very good reasons to allow
it. A proxy server with a persistent cache could give the ability to
robustly use shares across a WAN or do failover pairs with no need for
more complex replication. Speaking as an end-user, this would be very
desirable.

I see that others have implemented proxies with user-space NFS, which
seems reasonable but not optimal. What is the obstacle to allowing
re-exports with the standard nfs implentation? Is it possible at the
moment to patch a kernel to make this work? Anyone have experience
with it? Any input is appreciated.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Proxy
  2010-05-03 16:53 Proxy maillists0
@ 2010-05-03 18:56 ` J. Bruce Fields
  2010-05-03 19:25   ` Proxy Trond Myklebust
  0 siblings, 1 reply; 5+ messages in thread
From: J. Bruce Fields @ 2010-05-03 18:56 UTC (permalink / raw)
  To: maillists0; +Cc: linux-nfs

On Mon, May 03, 2010 at 12:53:15PM -0400, maillists0@gmail.com wrote:
> With NFS4's support for referrals and Kerberos, it seems like the
> original reasons to prevent re-exporting of an NFS share might no
> longer exist. With fs-proxy making its way into the mainline kernel
> and things like cachefilesd, there are also very good reasons to allow
> it. A proxy server with a persistent cache could give the ability to
> robustly use shares across a WAN or do failover pairs with no need for
> more complex replication. Speaking as an end-user, this would be very
> desirable.
> 
> I see that others have implemented proxies with user-space NFS, which
> seems reasonable but not optimal. What is the obstacle to allowing
> re-exports with the standard nfs implentation? Is it possible at the
> moment to patch a kernel to make this work? Anyone have experience
> with it? Any input is appreciated.

It's probably possible, but some kernel hacking would be required.

Off the top of my head:

	- filehandles: you probably can't pass your server's filehandles
	  unchanged back to your client.  At a minimum you'd want to add
	  a header allowing you to distinguish filehandles for the
	  different filesystems you export.  What if you get a
	  filehandle from the server that's already at the protocol's
	  maximum size?  Are you going to try to maintain your own
	  persistent mapping of filehandles, and if so, is it possible
	  to do that with reasonable performance?
	- what do you do if your server takes a really long time to
	  answer a request?  Or stops responding completely?

--b.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Proxy
  2010-05-03 18:56 ` Proxy J. Bruce Fields
@ 2010-05-03 19:25   ` Trond Myklebust
  2010-05-03 21:14     ` Proxy maillists0
  0 siblings, 1 reply; 5+ messages in thread
From: Trond Myklebust @ 2010-05-03 19:25 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: maillists0, linux-nfs

On Mon, 2010-05-03 at 14:56 -0400, J. Bruce Fields wrote: 
> On Mon, May 03, 2010 at 12:53:15PM -0400, maillists0@gmail.com wrote:
> > With NFS4's support for referrals and Kerberos, it seems like the
> > original reasons to prevent re-exporting of an NFS share might no
> > longer exist. With fs-proxy making its way into the mainline kernel
> > and things like cachefilesd, there are also very good reasons to allow
> > it. A proxy server with a persistent cache could give the ability to
> > robustly use shares across a WAN or do failover pairs with no need for
> > more complex replication. Speaking as an end-user, this would be very
> > desirable.
> > 
> > I see that others have implemented proxies with user-space NFS, which
> > seems reasonable but not optimal. What is the obstacle to allowing
> > re-exports with the standard nfs implentation? Is it possible at the
> > moment to patch a kernel to make this work? Anyone have experience
> > with it? Any input is appreciated.
> 
> It's probably possible, but some kernel hacking would be required.
> 
> Off the top of my head:
> 
> 	- filehandles: you probably can't pass your server's filehandles
> 	  unchanged back to your client.  At a minimum you'd want to add
> 	  a header allowing you to distinguish filehandles for the
> 	  different filesystems you export.  What if you get a
> 	  filehandle from the server that's already at the protocol's
> 	  maximum size?  Are you going to try to maintain your own
> 	  persistent mapping of filehandles, and if so, is it possible
> 	  to do that with reasonable performance?
> 	- what do you do if your server takes a really long time to
> 	  answer a request?  Or stops responding completely?

      * If you want to use Kerberos, then how do you proxy an RPCSEC_GSS
        session? 
      * How does the proxy server figure out the real server's export
        rules so that it can re-export them?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Proxy
  2010-05-03 19:25   ` Proxy Trond Myklebust
@ 2010-05-03 21:14     ` maillists0
  2010-05-03 22:16       ` Proxy Trond Myklebust
  0 siblings, 1 reply; 5+ messages in thread
From: maillists0 @ 2010-05-03 21:14 UTC (permalink / raw)
  To: Trond Myklebust; +Cc: J. Bruce Fields, linux-nfs

On Mon, May 3, 2010 at 3:25 PM, Trond Myklebust
<trond.myklebust@fys.uio.no> wrote:
> On Mon, 2010-05-03 at 14:56 -0400, J. Bruce Fields wrote:
>> On Mon, May 03, 2010 at 12:53:15PM -0400, maillists0@gmail.com wrote:
>> > With NFS4's support for referrals and Kerberos, it seems like the
>> > original reasons to prevent re-exporting of an NFS share might no
>> > longer exist. With fs-proxy making its way into the mainline kernel
>> > and things like cachefilesd, there are also very good reasons to allow
>> > it. A proxy server with a persistent cache could give the ability to
>> > robustly use shares across a WAN or do failover pairs with no need for
>> > more complex replication. Speaking as an end-user, this would be very
>> > desirable.
>> >
>> > I see that others have implemented proxies with user-space NFS, which
>> > seems reasonable but not optimal. What is the obstacle to allowing
>> > re-exports with the standard nfs implentation? Is it possible at the
>> > moment to patch a kernel to make this work? Anyone have experience
>> > with it? Any input is appreciated.
>>
>> It's probably possible, but some kernel hacking would be required.
>>

Have a look at this old thing from 2006:
http://www.usenix.org/event/fast07/tech/full_papers/gulati/gulati_html/nache.html
. They claim to have implemented a proxy with only the tools I
mentioned above, along with their own modified version of nfs to allow
multi-hops.

I have a workload of lots of reads/almost no writes, and their
approach makes sense. It would be a great feature. Is something
missing from that paper that makes it unrealistic?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Proxy
  2010-05-03 21:14     ` Proxy maillists0
@ 2010-05-03 22:16       ` Trond Myklebust
  0 siblings, 0 replies; 5+ messages in thread
From: Trond Myklebust @ 2010-05-03 22:16 UTC (permalink / raw)
  To: maillists0; +Cc: J. Bruce Fields, linux-nfs

On Mon, 2010-05-03 at 17:14 -0400, maillists0@gmail.com wrote: 
> On Mon, May 3, 2010 at 3:25 PM, Trond Myklebust
> <trond.myklebust@fys.uio.no> wrote:
> > On Mon, 2010-05-03 at 14:56 -0400, J. Bruce Fields wrote:
> >> On Mon, May 03, 2010 at 12:53:15PM -0400, maillists0@gmail.com wrote:
> >> > With NFS4's support for referrals and Kerberos, it seems like the
> >> > original reasons to prevent re-exporting of an NFS share might no
> >> > longer exist. With fs-proxy making its way into the mainline kernel
> >> > and things like cachefilesd, there are also very good reasons to allow
> >> > it. A proxy server with a persistent cache could give the ability to
> >> > robustly use shares across a WAN or do failover pairs with no need for
> >> > more complex replication. Speaking as an end-user, this would be very
> >> > desirable.
> >> >
> >> > I see that others have implemented proxies with user-space NFS, which
> >> > seems reasonable but not optimal. What is the obstacle to allowing
> >> > re-exports with the standard nfs implentation? Is it possible at the
> >> > moment to patch a kernel to make this work? Anyone have experience
> >> > with it? Any input is appreciated.
> >>
> >> It's probably possible, but some kernel hacking would be required.
> >>
> 
> Have a look at this old thing from 2006:
> http://www.usenix.org/event/fast07/tech/full_papers/gulati/gulati_html/nache.html
> . They claim to have implemented a proxy with only the tools I
> mentioned above, along with their own modified version of nfs to allow
> multi-hops.
> 
> I have a workload of lots of reads/almost no writes, and their
> approach makes sense. It would be a great feature. Is something
> missing from that paper that makes it unrealistic?

Possibly not for your workload, but none of the issues Bruce and I
raised appear to be addressed in that paper.

Furthermore, we do know several of the authors, and none of them have
ever approached us with a proposal to merge their implementation. I
therefore assume that it was written more as a proof of concept in
support of the paper, rather than something IBM is actually planning to
market.

Cheers
  Trond


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-05-03 22:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-03 16:53 Proxy maillists0
2010-05-03 18:56 ` Proxy J. Bruce Fields
2010-05-03 19:25   ` Proxy Trond Myklebust
2010-05-03 21:14     ` Proxy maillists0
2010-05-03 22:16       ` Proxy Trond Myklebust

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox