All of lore.kernel.org
 help / color / mirror / Atom feed
* Some questions about Trunking
@ 2019-03-20  3:02 Marvin Zhang
  2019-03-20 14:28 ` Olga Kornievskaia
  0 siblings, 1 reply; 4+ messages in thread
From: Marvin Zhang @ 2019-03-20  3:02 UTC (permalink / raw)
  To: linux-nfs

Hi Experts,
Here are some questions about trunking:
1.  For session trunking. During first mount(or first connection),
client create a session. During the second mount(or second
connection), client will reuse the session which the first connection
created. Does the second mount create a new super block or reuse the
previous? If there is a READ request on this session, how to judge to
use which connection?
2. For client id truking. As protocol said, client can create multipl
session at the same time. I can't understand in which scenario client
can create multiple session

Thanks,
Marvin

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

* Re: Some questions about Trunking
  2019-03-20  3:02 Some questions about Trunking Marvin Zhang
@ 2019-03-20 14:28 ` Olga Kornievskaia
  2019-03-21  3:04   ` Marvin Zhang
  0 siblings, 1 reply; 4+ messages in thread
From: Olga Kornievskaia @ 2019-03-20 14:28 UTC (permalink / raw)
  To: Marvin Zhang; +Cc: linux-nfs

This question is more of an NFSv4.1 protocol question thus I would
encourage you to ask it on the nfsv4@ietf.org.

On Tue, Mar 19, 2019 at 11:06 PM Marvin Zhang <fanzier@gmail.com> wrote:
>
> Hi Experts,
> Here are some questions about trunking:
> 1.  For session trunking. During first mount(or first connection),
> client create a session. During the second mount(or second
> connection), client will reuse the session which the first connection
> created. Does the second mount create a new super block or reuse the
> previous?
> If there is a READ request on this session, how to judge to
> use which connection?

Session trunking does not require the client to create a different
mount in your example. A single mount could have multiple TCP
connections established between a client and a server and they would
use the same NFSv4.1 session to send operations to the server. A read
operation issued by the application using the NFS mount could use one
of those connection and the question which one it would use is
protocol implementation specific. Simplest implementation round robins
connections for incoming RPC tasks.

If the client mounted a server and then decides to mount the same
server again (given same mount options and credentials), in the linux
implementation, the existing NFS client (and its TCP connection) would
be re-used. Thus it would not be a case of session trunking.

> 2. For client id truking. As protocol said, client can create multipl
> session at the same time. I can't understand in which scenario client
> can create multiple session

Again IETF list can provide some examples and motivations for the
clientid case. I think perhaps it was for the clustered server
environment where the client would use the same client id across
different cluster nodes but it would establish unique sessions to the
nodes.

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

* Re: Some questions about Trunking
  2019-03-20 14:28 ` Olga Kornievskaia
@ 2019-03-21  3:04   ` Marvin Zhang
  2019-03-21 12:49     ` Olga Kornievskaia
  0 siblings, 1 reply; 4+ messages in thread
From: Marvin Zhang @ 2019-03-21  3:04 UTC (permalink / raw)
  To: Olga Kornievskaia; +Cc: linux-nfs

On Wed, Mar 20, 2019 at 10:29 PM Olga Kornievskaia <aglo@umich.edu> wrote:
>
> This question is more of an NFSv4.1 protocol question thus I would
> encourage you to ask it on the nfsv4@ietf.org.
>
> On Tue, Mar 19, 2019 at 11:06 PM Marvin Zhang <fanzier@gmail.com> wrote:
> >
> > Hi Experts,
> > Here are some questions about trunking:
> > 1.  For session trunking. During first mount(or first connection),
> > client create a session. During the second mount(or second
> > connection), client will reuse the session which the first connection
> > created. Does the second mount create a new super block or reuse the
> > previous?
> > If there is a READ request on this session, how to judge to
> > use which connection?
>
> Session trunking does not require the client to create a different
> mount in your example. A single mount could have multiple TCP
> connections established between a client and a server and they would
> use the same NFSv4.1 session to send operations to the server. A read
> operation issued by the application using the NFS mount could use one
> of those connection and the question which one it would use is
> protocol implementation specific. Simplest implementation round robins
> connections for incoming RPC tasks.
I just followed this article:
https://packetpushers.net/multipathing-nfs4-1-kvm/ . In this article,
client mounts the server twice in differ conections. But as you said,
it's not session trunking. I still don't konw how to mount a server
only once with two connection. Could you give me a sample here? I
don't find any example in google searching result.

>
> If the client mounted a server and then decides to mount the same
> server again (given same mount options and credentials), in the linux
> implementation, the existing NFS client (and its TCP connection) would
> be re-used. Thus it would not be a case of session trunking.
>
> > 2. For client id truking. As protocol said, client can create multipl
> > session at the same time. I can't understand in which scenario client
> > can create multiple session
>
> Again IETF list can provide some examples and motivations for the
> clientid case. I think perhaps it was for the clustered server
> environment where the client would use the same client id across
> different cluster nodes but it would establish unique sessions to the
> nodes.

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

* Re: Some questions about Trunking
  2019-03-21  3:04   ` Marvin Zhang
@ 2019-03-21 12:49     ` Olga Kornievskaia
  0 siblings, 0 replies; 4+ messages in thread
From: Olga Kornievskaia @ 2019-03-21 12:49 UTC (permalink / raw)
  To: Marvin Zhang; +Cc: linux-nfs

On Wed, Mar 20, 2019 at 11:05 PM Marvin Zhang <fanzier@gmail.com> wrote:
>
> On Wed, Mar 20, 2019 at 10:29 PM Olga Kornievskaia <aglo@umich.edu> wrote:
> >
> > This question is more of an NFSv4.1 protocol question thus I would
> > encourage you to ask it on the nfsv4@ietf.org.
> >
> > On Tue, Mar 19, 2019 at 11:06 PM Marvin Zhang <fanzier@gmail.com> wrote:
> > >
> > > Hi Experts,
> > > Here are some questions about trunking:
> > > 1.  For session trunking. During first mount(or first connection),
> > > client create a session. During the second mount(or second
> > > connection), client will reuse the session which the first connection
> > > created. Does the second mount create a new super block or reuse the
> > > previous?
> > > If there is a READ request on this session, how to judge to
> > > use which connection?
> >
> > Session trunking does not require the client to create a different
> > mount in your example. A single mount could have multiple TCP
> > connections established between a client and a server and they would
> > use the same NFSv4.1 session to send operations to the server. A read
> > operation issued by the application using the NFS mount could use one
> > of those connection and the question which one it would use is
> > protocol implementation specific. Simplest implementation round robins
> > connections for incoming RPC tasks.
> I just followed this article:
> https://packetpushers.net/multipathing-nfs4-1-kvm/ . In this article,
> client mounts the server twice in differ conections. But as you said,
> it's not session trunking. I still don't konw how to mount a server
> only once with two connection. Could you give me a sample here? I
> don't find any example in google searching result.

There was a series of patches proposed by Trond about 2 years ago that
add "nconnect=X" mount option that will create X TCP connections to
the server. You can find that series apply it and build a kernel with
that or you can use SLES15 distro where those patches were included.


>
> >
> > If the client mounted a server and then decides to mount the same
> > server again (given same mount options and credentials), in the linux
> > implementation, the existing NFS client (and its TCP connection) would
> > be re-used. Thus it would not be a case of session trunking.
> >
> > > 2. For client id truking. As protocol said, client can create multipl
> > > session at the same time. I can't understand in which scenario client
> > > can create multiple session
> >
> > Again IETF list can provide some examples and motivations for the
> > clientid case. I think perhaps it was for the clustered server
> > environment where the client would use the same client id across
> > different cluster nodes but it would establish unique sessions to the
> > nodes.

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

end of thread, other threads:[~2019-03-21 12:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-20  3:02 Some questions about Trunking Marvin Zhang
2019-03-20 14:28 ` Olga Kornievskaia
2019-03-21  3:04   ` Marvin Zhang
2019-03-21 12:49     ` Olga Kornievskaia

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.