|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] iSCSI: SCSI Iniitator port: a simple approach, acceptable?
Folks,
I'm curious to know from this group whether the following is an acceptable
alternative to the complex issues we're battling with the definition and
behavior of SCSI Initiator Port (viz a viz, ISID, key=value,etc.).
Make the SCSI Initiator Port = initiator portal group, named by iSCSI Name
+ portal group tag (which would be presented during login).
Pros:
a) the model is completely symmetric on the initiator and the target side
b) namespace is managed by any mechanism to identify the portal group tag.
(For example, the tag could be the position in the SCSI port/module load
sequence (/dev/scsi[x]) OR one could derive the portal group tag from
either a MAC or from ipaddress of one of the interfaces in the portal
group).
c) the drivers present exactly one channel (SCSI initiator port) for each
initiator portal group to the upper layers in the OS (how that is
named/identified to the upper layers may be independent of how it is named
on the wire, i.e., independent of the portal group tag).
d) completely static/stable configuration on each boot (though it may
change, as it can today, between boots if components fail or are changed in
any way).
Cons:
a) we *prohibit more than one session* between an initiator portal group
and a target portal group (to avoid parallel nexus). This has the side
consequence of making it harder to be a bad net-citizen by opening too many
connections through the same set of network interfaces (you open what you
want within a session only).
I've always avoided this approach as I expected the "cons" would not be
acceptable, but I've never actually asked this of the group.
So, what's the 'acceptability' of this approach?
Jim Hafner
Jim Hafner/Almaden/IBM@IBMUS@ece.cmu.edu on 10/11/2001 08:58:41 am
Sent by: owner-ips@ece.cmu.edu
To: Black_David@emc.com, ips@ece.cmu.edu
cc:
Subject: Re: iSCSI: ISID progress
David,
More comments in line
Jim Hafner
Black_David@emc.com on 10/10/2001 03:48:55 pm
To: Jim Hafner/Almaden/IBM@IBMUS, ips@ece.cmu.edu
cc:
Subject: iSCSI: ISID progress
This message is shorter than my last one, so that's
at least a superficial indication of progress ;-).
Jim and Julian had four comments/objections to the
notion of using a text key to indicate iSCSI Initiator
Port Name. Summarizing and responding:
Jim (a): Optional use of port name is ok as far as SAM-2 is
concerned, but is odd.
Indeed it is odd, but given the choice between an odd
mapping of SAM-2 to iSCSI and allowing odd behavior of
iSCSI implementations, I'll take the former.
<JLH>
I'm not sure what "odd behavior of iSCSI implementations" you're referring
to here.
</JLH>
Jim (b): Would require at least as much coordination above
the session level of iSCSI as ISIDs.
That would be incorrect. 128 bits is sufficient to eliminate
coordination. The reference for this is an expired Internet-
Draft, draft-leach-uuids-guids-01.txt, that can still be found
on the web at:
http://casbah.org/cbRFC/misc/draft-leach-uuids-guids-01.txt
http://globecom.net/ietf/draft/draft-leach-uuids-guids-01.html
I'm not seriously proposing that port name generation be done
in this fashion, but rather providing a widely used counter-
example to Jim's statement. Note that a network interface
MAC is likely to be available to many iSCSI implementations.
<JLH>
I glanced through that draft and certainly don't think it is the right
approach to this problem. However, if you/we believe that by simply making
the equivalent of the ISID field or portname text value big enough, we can
find a solution to the "coordination problem", why can't we just *require*
that sessions have a SCSI port name (extension to iSCSI Name) that is long
enough to solve the weak or no coordination problem, instead of making this
"TBD"?
I've argued that having the SCSI Portname is valuable. I've argued that
there wasn't any net value in putting the name in a key because I already
had the ISID field as part of the "name space for the session endpoint".
But if the claim is simply the ISID isn't big enough, then I don't have a
problem with effectively making them bigger (either in the header or in a
key value). I've even suggested one way to do that by embedding the
initiator portal group tag in the value. But another way is to embed the
OUI of the HBA (except for the cases where there isn't an HBA) or embed one
of the MACs of one of the nics (except for the cases where there isn't a
nic, e.g., dialup), etc. But we'd have to solve all the possible cases
(all of which the NDT had to deal with for iSCSI Names in the first place).
So, are we at the point where (for this alternative proposal):
(a) we just need a bigger (than 2byte ISID) field for the SCSI portname
extension
(b) we just need an algorithm that lets each component that wants to
generate such a name can do so without collision concerns?
</JLH>
Jim (c): How to describe model when the text key is optional?
"Is it that all initiator session endpoints that don't
provide this text key have *implicit* unique names and
only when the text key is presented does the name get
explicit (and then possibly not be unique)? In that case,
the key would have to be supplied in login next to the
InitiatorName.
Yes and yes when it's used, in that order. Jim's comment (a)
about this being odd applies.
Julian: ... and have as much chances to blow a session as ISID
That would also be incorrect. As previously stated, ISID conflict
is fatal to one of the sessions involved (one cannot change the
ISID and continue), and can occur in any system that opens parallel
sessions. This text key conflict need not be fatal (one can
change the text key and continue negotiation) and can only occur
in systems that want to use the new port-spanning persistent
reservation functionality, as other systems won't use the text
key. Also see the draft noted in response to Jim (b) above;
Julian's "have as much chance" language is incorrect.
<JLH>
I think this is somewhat misleading about the cost ("fatal"). If we could
find a reasonable model for "reject: ISID in use" (rather than "blow away
the old session"), then the "fatal to one of the sessions" is a nit. This
would happen on the first exchange of a connection so starting over isn't
any big deal (we may not even have to require connection drop, just restart
of the initial message with new ISID). The same would happen with the key
as that would have to be somewhere in the pre-full feature phase (but in
this case it could happen anywhere in that phase).
</JLH>
As previously noted, I can also deal with requiring conservative
reuse of ISIDs as a means to address this situation.
Thanks,
--David
---------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 42 South St., Hopkinton, MA 01748
+1 (508) 435-1000 x75140 FAX: +1 (508) 497-8500
black_david@emc.com Mobile: +1 (978) 394-7754
---------------------------------------------------
Home Last updated: Thu Oct 11 17:17:24 2001 7202 messages in chronological order |