|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: proposal to solve the ISID issues
John,
I take it that you don't have an issue with the
Node Name part of the wording.
I thought I answered your question by saying -
"My point though is that by banning a duplicate nexus (that an
inadvertently re-used ISID allows), we are making the ISID
(dynamic/static) distribution an imminent hard requirement
for all NICs in a given iSCSI initiator Node"
The unspoken assumption above is that we would want to
allow multiple sessions between an initiator node and
a target portal group.
I don't believe the type of the ISID matters, nor does
the NIC capability (coordinating vs not). If two initiator
NICs share the same node name, they better not re-use the
same ISID to a given target portal group. I was trying
to capture the consequences of this reality.
Regards.
--
Mallikarjun
Mallikarjun Chadalapaka
Networked Storage Architecture
Network Storage Solutions Organization
MS 5668 Hewlett-Packard, Roseville.
cbm@rose.hp.com
John Hufferd wrote:
>
> Mallikarjun,
> I do not understand the purpose for your proposed wordage
>
> "All iSCSIinitiator hardware implementations MUST in addition also support
> the operational ISID values to be (either statically or dynamically)
> externally configurable."
>
> Why is this so important that it is a MUST. The purpose of the proposal is
> to eliminate the need for the above. At most it should only apply to the
> vendors (Probably Software and at Universities and IT shops) that use the
> RANDOM ISID type code.
>
> I do not see the need elsewhere. At most it could be "MAY".
>
> .
> .
> .
> John L. Hufferd
> Senior Technical Staff Member (STSM)
> IBM/SSG San Jose Ca
> Main Office (408) 256-0403, Tie: 276-0403, eFax: (408) 904-4688
> Home Office (408) 997-6136
> Internet address: hufferd@us.ibm.com
>
> "Mallikarjun C." <cbm@rose.hp.com>@ece.cmu.edu on 10/29/2001 05:24:20 PM
>
> Please respond to cbm@rose.hp.com
>
> Sent by: owner-ips@ece.cmu.edu
>
> To: Jim Hafner/Almaden/IBM@IBMUS
> cc: ips@ece.cmu.edu
> Subject: Re: iSCSI: proposal to solve the ISID issues
>
> Jim,
>
> Thanks for the quick response.
>
> As much as I would like to avoid consuming more bandwidth
> on this topic, let me make one last strawman for wording below.
>
> > What words do you suggest?
> ...
> > And a lot depends on how
> > functional the NICs are: (a) just network nics, (b) protocol nics, but
> not
> > session coordinating nics (c) full session coordination nics (with driver
> > assist) (d) fully autonomous session nics. How do we make a requirement
> > that fits all the cases correctly?
>
> I have been implying iSCSI NICs in all my postings so far -
> sorry, may be that wasn't very clear. "iSCSI Node name" comment
> obviously wasn't targeted at simple network NICs. So clearly (a)
> is out of discussion. But you are right - I wasn't very precise.
> Here's a strawman -
>
> All iSCSI hardware implementations (as in NICs) MUST allow
> the iSCSI Node Name to be externally configurable. All iSCSI
> initiator hardware implementations MUST in addition also
> support the the operational ISID values to be (either statically
> or dynamically) externally configurable.
>
> > Making them configurable (at
> > initialization time, e.g., as a range of values) or making them dynamic
> > (the driver generates them on demand) both fit the mold. So, I don't
> think
> > this one is a hard requirement.
>
> I agree that my earlier "range" wording was too constraining.
> My point though is that by banning a duplicate nexus (that an
> inadvertently re-used ISID allows), we are making the ISID
> (dynamic/static) distribution an imminent hard requirement
> for all NICs in a given iSCSI initiator Node - except it is
> not sufficiently explicit. Please consider the above proposed
> wording.
>
> > Well, I don't think so. If each vendor implements "conservative reuse"
> > within their own ISID namespace on their own NICs, then you get this
> > property system wide.
>
> You are right, I guess I briefly overlooked the fact that ISID
> includes the vendor identifier within, per the new proposal.
>
> I am personally okay with making "conservative reuse" a
> SHOULD.
>
> Regards.
> --
> Mallikarjun
>
> Mallikarjun Chadalapaka
> Networked Storage Architecture
> Network Storage Solutions Organization
> MS 5668 Hewlett-Packard, Roseville.
> cbm@rose.hp.com
>
> Jim Hafner wrote:
> >
> > Mallikarjun,
> >
> > Comments in line below
> >
> > Jim Hafner
> >
> > "Mallikarjun C." <cbm@rose.hp.com>@core.rose.hp.com on 10/29/2001
> 12:17:49
> > pm
> >
> > Please respond to cbm@rose.hp.com
> >
> > Sent by: cbm@core.rose.hp.com
> >
> > To: Jim Hafner/Almaden/IBM@IBMUS
> > cc: ips@ece.cmu.edu
> > Subject: Re: iSCSI: proposal to solve the ISID issues
> >
> > Jim,
> >
> > Thanks for the excellent summary. Some questions/comments -
> >
> > - I assume that the NICs must enable the configuration of
> > iSCSI Node name even in this proposal. If it is so, please
> > call this out as a hard requirement in the main modelling
> > discussion.
> >
> > <JLH>
> > This requirement doesn't change from before (but how it gets written into
> > the spec may differ -- and we've had this discussion before). If a
> vendor
> > doesn't allow configuration of his NIC's iSCSI Node name, then his NICs
> > will be acting as their own iSCSI Node (that is, not representing the
> > system they live in). One can argue that this is a legitimate
> > implementation (just as writing user-level code that uses its own iSCSI
> > Node name). So a "hard requirement" may be a bit too strong. However, I
> > will go with the will of the group on this point.
> >
> > What words do you suggest?
> > </JLH>
> > - In the case of multiple NICs from the same vendor operating
> > in an end node, it appears to me that the proposal implicitly
> > assumes an ISID-range to be configurable among those NICs
> > (perhaps in vendor-unique ways, which is always what I expected).
> > If this is a correct inference, there is again a hard
> > requirement on the NICs to make the ISID range configurable.
> > Please comment on any subtle qualitative change from the
> > earlier situation that I may be missing.
> >
> > <JLH>
> > Well, the point is that the vendor can manage his own namespace for his
> > NICs anyway he/she/it wants to. Making them configurable (at
> > initialization time, e.g., as a range of values) or making them dynamic
> > (the driver generates them on demand) both fit the mold. So, I don't
> think
> > this one is a hard requirement (though that is probably how most vendors
> > will implement their NICs). In effect, the proposal gives vendors more
> > flexibility in their own space, without causing heterogenous
> > interoperability problems within the host. And a lot depends on how
> > functional the NICs are: (a) just network nics, (b) protocol nics, but
> not
> > session coordinating nics (c) full session coordination nics (with driver
> > assist) (d) fully autonomous session nics. How do we make a requirement
> > that fits all the cases correctly? You clearly have in mind a specific
> > level of implementation within the NICs, but that may not be everybody's
> > model.
> > </JLH>
> >
> > > (2-e) Its debatable whether "conservative reuse" is a MUST or a
> > > SHOULD. My personal opinion is "SHOULD", because many systems,
> > > particularly low-end that don't use reservations, can function more or
> > > less OK without it.
> >
> > It seems we're attempting to set ourselves up for future in
> > discussing the above requirement. Some questions -
> > - It appears to me that the "conservative reuse" can not
> > be enforced for initiators hosting NICs from different
> > vendors (since the proposal allows ISID namespaces to
> > be totally non-overlapping between non-homogenous NICs).
> > Is this a fair assessment?
> > <JLH>
> > Well, I don't think so. If each vendor implements "conservative reuse"
> > within their own ISID namespace on their own NICs, then you get this
> > property system wide. As before, by owning their own piece of the ISID
> > namespace, they can implement what they want. So, you may have a
> situation
> > where some of your installed nics have this property and some don't.
> > You'll find out (if your environment really needs conservative reuse)
> that
> > you haven't got it, and it becomes a marketing/purchase spec requirement.
> > </JLH>
> > - Do you see a particular disadvantage for low-end systems
> > if it's mandated (aside from the fact that they may be able
> > to live without it)?
> > <JLH>
> > No, but I don't see any way to really enforce it (or even really test
> it).
> > It's not a requirement of the protocol, per se.
> > </JLH>
> > - Do you see any corner cases not being met (for future)
> > if we don't make it a MUST (since you said "more or less OK")?
> > <JLH>
> > No, I can't see that far into the future! :-{). One reason I'm being
> cagey
> > here is that I'm finding it difficult to find the right words to specify
> > this as a hard requirement (but I'm no technical writer either!).
> > </JLH>
> >
> > Regards.
> > --
> > Mallikarjun
> >
> > Mallikarjun Chadalapaka
> > Networked Storage Architecture
> > Network Storage Solutions Organization
> > MS 5668 Hewlett-Packard, Roseville.
> > cbm@rose.hp.com
> >
> > Jim Hafner wrote:
> > >
> > > Folks, (David Black in particular).
> > >
> > > Apologies for the long note, but the issue is complicated.
> > >
> > > The NDTeam have a proposal to resolve the concerns surrounding use of
> > > ISIDs as essential components (along with iSCSI Initiator Name) of
> > > SCSI Initiator Portname. (This was rooted in private discussions
> > > between John Hufferd, Julian and myself -- and came about as a result
> > > of the lengthy (and boring) discussions mostly myself and David
> > > Black.)
> > >
> > > There are two somewhat orthogonal issues involved in this discussion:
> > >
> > > 1) How to coordinate ISIDs in the initiator to minimize the risk of
> > > accidentally breaking the ISID RULE (no parallel nexus) when
> > > independent vendors co-exist in the same OS.
> > >
> > > 2) What ISID "reuse" rules should be specified to facilitate current
> > > and future (soon?) SCSI reservation semantics (and also internal OS
> > > views of SCSI Initiator Ports).
> > >
> > > To address these two issues, we (NDT) propose the following:
> > >
> > > 1) Enlarge the ISID field in the Login Request and Response to 6bytes
> > > and structure it with a component that corresponds to a "naming
> > > authority" (essentially the vendor generating the ISID). So vendors
> > > each have a piece of the ISID namespace to work with their own
> > > components (HBAs, SW, etc). More details below.
> > >
> > > 2) ISIDs (within the namespace of a given iSCSIName) SHOULD be used as
> > > conservatively as possible ("conservative reuse"). What this means is
> > > that a given ISID should be reused for as many sessions (across
> > > multiple target portal groups) as possible (but never to the same
> > > target portal group twice -- that's the ISID RULE).
> > >
> > > NOTES and ADVANTAGES:
> > >
> > > (1-a) Each vendor owns his own piece of the ISID namespace, so in
> > > effect, at the vendor-level, this provides a "partitioning" of that
> > > namespace.
> > >
> > > (1-b) We don't need to specify an OS infrastructure requirement for
> > > configuration of ISIDs -- each vendor can do it any way it chooses
> > > (within its naming authority).
> > >
> > > (1-c) Breaking of the ISID RULE will only occur if a vendor messes up
> > > its own implementation.
> > >
> > > (1-d) This is not fundamentally different from David Black's
> > > suggestion for a "key"; it just (a) defines it precisely and (b)
> > > embeds it in an already defined (but enlarged) field.
> > >
> > > (1-e) Looking towards the future, as common ISID coordination
> > > mechanisms are implemented between vendors (say, SNIA banding together
> > > to define a precise API), this "naming authority" can be elevated to
> > > the coordinating entity or even the OS vendor.
> > >
> > > (1-f) ISIDs have no global uniqueness property. They need only be
> > > unique between a named iSCSI initiator and iSCSI target portal group.
> > > That means that a vendor implementation can use the same algorithm to
> > > generate ISIDs (under its naming authority) in every machine (OS).
> > >
> > > (2-a) If a SCSI target (or logical unit) is holding state (say
> > > persistent reservation) for a SCSI Initiator Port (named by iSCSI Name
> > > and ISID), and the associated nexus/session is dropped for some
> > > reason, "reuse" by that initiator of that ISID will restore to the
> > > resulting new session that state (with no other action on the part of
> > > the upper SCSI layers).
> > >
> > > (2-b) "Reuse" of an ISID on different sessions to (necessarily)
> > > different SCSI Target Ports (iSCSI Target portal groups), will enable
> > > the SCSI target/logical unit to recognize a common SCSI Initiator Port
> > > for those two paths. This facilitates future changes to SCSI
> > > reservations (at least).
> > >
> > > (2-c) An initiator driver implementated with "conservative reuse" can
> > > present to the OS a stable and fairly static view of the SCSI
> > > Initiator Ports (one for each ISID). Current OS driver stacks
> > > (including current wedge drivers) that are built on the presumption of
> > > such a stable view, will not need modification to handle the more
> > > dynamic nature of iSCSI's SCSI Initiator Port. [Note: the existence of
> > > a SCSI Initiator Port presented to the OS does not *require* that this
> > > port discover all possible targets; what the initiator builds sessions
> > > to using a specific ISID will determine what is presented to the OS as
> > > "devices" and LUs visible to that SCSI Initiator Port (could be none
> > > if that ISID is never actually used!).]
> > >
> > > (2-d) (Related to (2-c)): Adding a new (pseudo-static) SCSI Initiator
> > > Port is as simple as configuring another ISID!
> > >
> > > (2-e) Its debatable whether "conservative reuse" is a MUST or a
> > > SHOULD. My personal opinion is "SHOULD", because many systems,
> > > particularly low-end that don't use reservations, can function more or
> > > less OK without it. This is an open question.
> > >
> > > DETAILS:
> > >
> > > 1) ISID Structure:
> > > The 6byte ISID structure would be split into three parts:
> > > "type" field (1byte) -- identifies the format of the naming
> > > authority field
> > > "naming authority" field (3bytes) -- identifies the vendor (or
> > > group of vendors) generating this ISID
> > > "qualifier" (2bytes) -- the free-space for ISID uniqueness
> > >
> > > The type field takes on three defined values with all other values
> > > reserved:
> > > Type naming authority format
> > > 00h IEEE OUI
> > > 01h IANA Enterprise Number (EN)
> > > 02h "Random"
> > >
> > > The first types two provide a mechanism to uniquely (world wide)
> > > identify the naming authority. A vendor with one or more OUIs and
> > > possibly also Enterprise number MUST use at least one of these numbers
> > > when it generates ISIDs.
> > >
> > > The "Random" type is for the case where the ISID generator (SW or HW)
> > > is provided by an entity that has no OUI or EN. This includes, for
> > > example,
> > > -- a user-written program that builds sessions (and has access to the
> > > system level iSCSI Name)
> > > -- a university or other organization providing the component
> > > -- a testing tool
> > >
> > > For the "Random" type, the naming authority field should be a random
> > > or pseudo-random number. (See below on how this affects "conservative
> > > reuse").
> > >
> > > [Note: the "type" field needn't be this big, but NDT felt that (a)
> > > 2bits was insufficient for the future, (b) the "type" field should be
> > > first, and (c) the "naming authority" field should be byte-aligned.]
> > >
> > > 2) Conservative Reuse
> > >
> > > The "conservative reuse" principle of this proposal just says that
> > > SCSI Initiator Portnames should be viewed as static things (as much as
> > > possible) and reused (when feasible) to give the most stable
> > > presentation of SCSI Initiator Ports to both the OS above and to SCSU
> > > targets across the wire.
> > >
> > > Whereas the current draft says "The ISID RULE does not preclude the
> > > use of the same ISID to different Target portal groups", the
> > > "conservative reuse" requirement would say that such reuse (using the
> > > same ISID to many target portal groups) is a SHOULD (or is that
> > > MUST?). So, in one implementation, each iSCSI Initiator Portal group
> > > would get configured with iSCSI Name, and a (small) set of ISIDs. The
> > > portal group might take this set of ISIDs as an ordered list. The
> > > first session to a Target portal group would use the first ISID, the
> > > second to the *same* target portal group would use the second in the
> > > list, etc. The number of ISIDs would then define a configuration
> > > parameter that can be interpreted as the maximum number of sessions
> > > that can be built to a given target portal group.
> > >
> > > To facilitate "conservative reuse", the "qualifier" field of a set of
> > > ISIDs SHOULD be generated using either a repeatable algorithm
> > > (non-random or pseudo-random but based on a fixed seed) or any
> > > algorithm and stored in a persistent location (e.g., registry or /etc
> > > file).
> > >
> > > For the "Random" type, "conservative reuse" may not be an issue (say,
> > > user application that doesn't care about reservations, etc.). When it
> > > is, the "naming authority" field SHOULD also be generated by a
> > > mechanism similar to that for the "qualifier" field as specified above
> > > (e.g., defined in the SW at compilation time.)
> > >
> > > DOCUMENTATING CHANGES:
> > >
> > > The iscsi drafts would need the following minor changes to support
> > > this proposal:
> > >
> > > NDT doc
> > > (a) define the structure of the ISID field (as described above)
> > > (b) add some notes about implementation in the presense of
> > > "conservative reuse" (e.g., that ISID should be configured once, say
> > > at install time, then reused on subsequent reboots, even for "Random"
> > > type).
> > >
> > > iSCSI MAIN doc:
> > > (a) move the CID field in Login Request to another reserved field.
> > > (b) expand the ISID field in Login Request and Response to encompass
> > > the previous 4 bytes.
> > > (c) add a sentence where the ISID field is defined indicating that
> > > this field is a structured value, showing the structure (as above) and
> > > point to the NDT document.
> > > (d) add some text to "Note to Implementors" on "conservative reuse".
> > >
> > > Comments?
> > >
> > > Jim Hafner
--
Mallikarjun
Mallikarjun Chadalapaka
Networked Storage Architecture
Network Storage Solutions Organization
MS 5668 Hewlett-Packard, Roseville.
cbm@rose.hp.com
Home Last updated: Mon Oct 29 22:17:29 2001 7441 messages in chronological order |