Is there an issue around mounting multiple lustrefs''s using different lnds? I have a situation in the not too distant future where I''m going to want to be able to mount at least two, one over socklnd, and one over a custom lnd. It occured to me that I don''t know how to configure that, and don''t know if there''s anything in the code which will prevent it. Anybody ever done anything similar? Hints? Thanks in advance...
If a server only has one NID there is no ambiguity. Otherwise, lustre chooses a NID by asking LNET what the network "distance" to all the server''s NIDs are, and picks the "best" one as follows... 1. Compare hop counts. The NID that is reached by traversing fewer routers wins. 2. Compare rank. Find the local network that you must send on to reach the given NID and compare the order in which the these networks appear in the "networks" or "ip2nets" module parameter. The local network listed first wins. Cheers, Eric --------------------------------------------------- |Eric Barton Barton Software | |9 York Gardens Tel: +44 (117) 330 1575 | |Clifton Mobile: +44 (7909) 680 356 | |Bristol BS8 4LL Fax: call first | |United Kingdom E-Mail: eeb@bartonsoftware.com| ---------------------------------------------------> -----Original Message----- > From: lustre-discuss-bounces@clusterfs.com > [mailto:lustre-discuss-bounces@clusterfs.com] On Behalf Of > John R. Dunning > Sent: 24 January 2007 1:30 PM > To: lustre-discuss@clusterfs.com > Subject: [Lustre-discuss] Multiple LNDs? > > Is there an issue around mounting multiple lustrefs''s using > different lnds? > > I have a situation in the not too distant future where I''m > going to want to be > able to mount at least two, one over socklnd, and one over a > custom lnd. It > occured to me that I don''t know how to configure that, and > don''t know if > there''s anything in the code which will prevent it. Anybody ever done > anything similar? Hints? > > Thanks in advance... > > _______________________________________________ > Lustre-discuss mailing list > Lustre-discuss@clusterfs.com > https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >
Eric, Are you working on supporting multiple instances of the non-TCP LNDs (e.g. multiple o2ib)? If so, let me know so I can work on mxlnd. Thanks, Scott On Jan 24, 2007, at 8:49 AM, Eric Barton wrote:> If a server only has one NID there is no ambiguity. Otherwise, > lustre chooses a NID by asking LNET what the network "distance" to > all the server''s NIDs are, and picks the "best" one as follows... > > 1. Compare hop counts. The NID that is reached by traversing fewer > routers wins. > > 2. Compare rank. Find the local network that you must send on to > reach the given NID and compare the order in which the these > networks appear in the "networks" or "ip2nets" module parameter. > The local network listed first wins. > > Cheers, > Eric > > --------------------------------------------------- > |Eric Barton Barton Software | > |9 York Gardens Tel: +44 (117) 330 1575 | > |Clifton Mobile: +44 (7909) 680 356 | > |Bristol BS8 4LL Fax: call first | > |United Kingdom E-Mail: eeb@bartonsoftware.com| > --------------------------------------------------- > > >> -----Original Message----- >> From: lustre-discuss-bounces@clusterfs.com >> [mailto:lustre-discuss-bounces@clusterfs.com] On Behalf Of >> John R. Dunning >> Sent: 24 January 2007 1:30 PM >> To: lustre-discuss@clusterfs.com >> Subject: [Lustre-discuss] Multiple LNDs? >> >> Is there an issue around mounting multiple lustrefs''s using >> different lnds? >> >> I have a situation in the not too distant future where I''m >> going to want to be >> able to mount at least two, one over socklnd, and one over a >> custom lnd. It >> occured to me that I don''t know how to configure that, and >> don''t know if >> there''s anything in the code which will prevent it. Anybody ever >> done >> anything similar? Hints? >> >> Thanks in advance... >> >> _______________________________________________ >> Lustre-discuss mailing list >> Lustre-discuss@clusterfs.com >> https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >> > > > _______________________________________________ > Lustre-discuss mailing list > Lustre-discuss@clusterfs.com > https://mail.clusterfs.com/mailman/listinfo/lustre-discuss >
From: "Eric Barton" <eeb@bartonsoftware.com> Date: Wed, 24 Jan 2007 13:49:11 -0000 If a server only has one NID there is no ambiguity. Ok. So as long as I can arrange for everybody with a presence on the local lnd to have a different NID than all the external ones, everything should just work. That should be easy to arrange. Otherwise, lustre chooses a NID by asking LNET what the network "distance" to all the server''s NIDs are, and picks the "best" one as follows... 1. Compare hop counts. The NID that is reached by traversing fewer routers wins. Presumably that means lnet routers, not IP ones or anything else, correct? 2. Compare rank. Find the local network that you must send on to reach the given NID and compare the order in which the these networks appear in the "networks" or "ip2nets" module parameter. The local network listed first wins. Ah. I guess I didn''t realize that it had that much awareness of topology, but I suppose it needs to, doesn''t it? I guess I should go read up on those module parms. At startup time, is it as simple as making sure all the right modules are loaded, and that the NID name in the mount command gets correctly parsed? So for instance, if I''ve got some external hosts accessable over socklnd as # mount -t lustre my-server:/lustrefs /mnt/external-lustre and some internal nodes as well, can I just say something like # mount -t lustre SC!123:/lustrefs /mnt/internal-lustre as long as my custom lnd will turn "SC!123" into an internal NID?
> Eric, > > Are you working on supporting multiple instances of the non-TCP LNDs > (e.g. multiple o2ib)?Yes, o2ib supports that already.
John,> > Otherwise, lustre chooses a NID by asking LNET what the network "distance" > > to all the server''s NIDs are, and picks the "best" one as follows... > > > > 1. Compare hop counts. The NID that is reached by traversing fewer routers > > wins. > > Presumably that means lnet routers, not IP ones or anything else, correct?Yes.> > 2. Compare rank. Find the local network that you must send on to reach the > > given NID and compare the order in which the these networks appear in the > > "networks" or "ip2nets" module parameter. The local network listed first > > wins. > > Ah. I guess I didn''t realize that it had that much awareness of topology, > but I suppose it needs to, doesn''t it? I guess I should go read up on those > module parms.Please holler if it''s not clear in the documentation.> At startup time, is it as simple as making sure all the right modules are > loaded, and that the NID name in the mount command gets correctly parsed?You can debug connectivity before trying any lustre stuff... 1. Get LNET running on relevent nodes: modprobe lnet && lctl net up 2. lctl ping <NID>> So for instance, if I''ve got some external hosts accessable over socklnd as > > # mount -t lustre my-server:/lustrefs /mnt/external-lustre > > and some internal nodes as well, can I just say something like > > # mount -t lustre SC!123:/lustrefs /mnt/internal-lustre > > as long as my custom lnd will turn "SC!123" into an internal NID?I think "my-server" really means "my-server@tcp0" because the network type of a NID defaults to "tcp" and the network number defaults to "0". If the new network type your LND implements is "sc", then you should be able to say... # mount -t lustre 123@sc:/lustrefs /mnt/internal-lustre Note that all the string/NID conversion stuff is in <lustre>/lnet/libcfs/nidstrings.c Cheers, Eric
From: "Eric Barton" <eeb@bartonsoftware.com> Date: Wed, 24 Jan 2007 14:44:49 -0000 Please holler if it''s not clear in the documentation. Wilco :-} > At startup time, is it as simple as making sure all the right modules are > loaded, and that the NID name in the mount command gets correctly parsed? You can debug connectivity before trying any lustre stuff... 1. Get LNET running on relevent nodes: modprobe lnet && lctl net up 2. lctl ping <NID> Yes. I''m not quite at the point of being able to do that, but getting closer. I think "my-server" really means "my-server@tcp0" because the network type of a NID defaults to "tcp" and the network number defaults to "0". Ah, right, I forgot about that. If the new network type your LND implements is "sc", then you should be able to say... # mount -t lustre 123@sc:/lustrefs /mnt/internal-lustre Note that all the string/NID conversion stuff is in <lustre>/lnet/libcfs/nidstrings.c Yup, I remember that now. We actually went over all that a while back, but I''d forgotten that tidbit in all the mayhem. Thanks!