SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    Re: iSCSI: ISIDs



    
    David,
    
    I've been mulling over your question concerning how Michael's proposal
    (which I read as removing the ISID from the SSID and leaving it up to the
    target to assign the SSID) affects the SAM-2 mapping.  I don't have a good
    answer.  So, I'm going to brain dump here.
    
    We have (so far) relied on the ISID (along with the iSCSI Name) for the
    SCSI Initiator Port name (and identifier) and relied on the "iSCSI
    initiator endpoint of the session" for the SCSI Initiator Port.  The ISID
    RULE (no reuse of ISID to a given target portal group -- and whose
    enforcement rule we've been debating) was intended to prevent parallel
    nexus from being created.
    
    If we abandon any notion of the initiator providing the ISID then we've
    somehow lost our handle on what constitutes the SCSI Initiator Port.  We
    effectively have to go back to square one to sort out the initiator side of
    the model mapping.  I think we all pretty much agree that the iSCSI Node
    and the SCSI Device are intimately bound together.  Our choice for SCSI
    Initiator Port come down to three
    possibilities (as they always have):
    
    a) view all iSCSI-type SCSI Initiator Devices as being single (SCSI)
    -ported.  Then the SCSI Initiator Port can be identified by the iSCSI Name.
    There are similarities between this and a single ported FC HBA.  Our
    problem is then the parallel nexus issue.  We need a rule that says that we
    can't have more than one session between a given iSCSI Initiator and iSCSI
    Target Portal Group; and we need to define the target's response to a
    second such login.  In effect, we've doubled our problems.  We have limited
    our connectivity possibilities between a given iSCSI Initiator (max
    sessions = number of target portal groups) and we still have a 'rejection'
    rule to decide (option A or option B).
    
    b) use the model we have for the target; namely, map the iSCSI Initiator
    Portal Group to a SCSI Initiator Port.  With this, we get a SCSI Initiator
    Port name equal to the iSCSI Name + portal group tag. So far so good.  But
    we are limited to one session per (initiator portal group, target portal
    group tag).  This has similarities to a multi-HBA FC host.  We again limit
    (to a lesser extent) our
    connectivity possibilities: max sessions = (number of initiator portal
    groups x number of target port groups).   [In spite of the simplicity of
    this model which is independent of session identifiers, I didn't pick this
    because people felt that there was a legitimate reason to build multiple
    sessions between two portal groups (e.g., in the case where both initiator
    and target have only one HBA (so one portal group) and the target doesn't
    support more than one connection per session, I may want to build multiple
    sessions for extra parallelism, etc.).]
    
    c) use the model we now use (SCSI Initiator Port = initiator end of
    session) but find something other than the ISID to define the SCSI Port
    Name.  The only choice seems to be the SSID (=TSID).  This might work more
    or less as David outlined.  It's a little odd, however, that the target is
    now *assigning* an identifier/name to the SCSI Initiator Port; that is, the
    SCSI Initiator Port doesn't have a name 'all to itself', but only in the
    context of a target.  The mind sort of boggles with this (and it certain
    stretches the credibility of the SAM-2 model of SCSI Initiator Port, Port
    Name and Port Identifier). We could instead pick for the SCSI Initiator
    Port Name/identifier the
    union of the ipaddresses:tcpports of all the connections involved in that
    session, but I don't think that really gains us anything.
    
    In short, I don't know what approach to take here.
    
    We are effectively being constrained by SAM-2's model.  We've already
    stretched that model a lot by what's currently in the draft. Summarizing
    above, we can either limit our functionality (fewer sessions) or stretch
    the model further by having the target assign names to SCSI Initiator
    Ports.
    
    It's not a good place to be.
    
    Jim Hafner
    
    
    Black_David@emc.com@ece.cmu.edu on 09/06/2001 02:40:19 pm
    
    Sent by:  owner-ips@ece.cmu.edu
    
    
    To:   ips@ece.cmu.edu
    cc:
    Subject:  iSCSI: ISIDs
    
    
    
    Time to back up and regroup on this topic.  It's clear that ISID
    management needs more attention, and hence there are some issues
    more basic than the attempted consensus call to work out.  So,
    I'm going to abandon the attempted consensus call, and try to
    make progress on the underlying ISID issue.  Those whose posts
    have called ISID management into question should not feel it
    necessary to apologize - this is an important issue to unscramble.
    
    A rough summary of where we find ourselves is:
    - iSCSI Initiator Names span network interfaces/adapters,
         as do iSCSI Target Names.
    - Multiple sessions are allowed between an iSCSI Initiator
         and Target.  These are identified by an ISID and a
         TSID.
    - The ISID is the Initiator portion of the Session identifier
         and is used to track certain resources associated with
         the session (e.g., persistent reserves).
    - The TSID is the Target portion of the Session identifier,
         and serves primarily to make sure that all session
         identifiers (SSID = ISID||TSID) are unique at the
         Target.
    
    Michael Schoberg suggest getting rid of the ISID:
    
    > ISID - initiator-defined session-identifier
    >
    > Since initiators don't know about other initiators connected to this
    target,
    > this has the potential of causing problems.  Eliminate it.  The initiator
    > should simply state it's intentions of establishing a new session or
    adding
    > a connection to an existing session (via binary flags).
    
    The implication of this would be to make SSID = TSID, dynamically
    assigned by the Target (0 is a reserved value on Login asking Target
    to do this assignment), and partitioned appropriately across interfaces.
    Recoverable session resources would be associated with the combination
    of <iSCSI Initiator Name, TSID> at the iSCSI Target, and the initiator
    tracks via <iSCSI Target Name, TSID> - in both cases the TSID replaces
    the ISID.  From a functional standpoint, this looks like it works,
    and has the nice additional property that session resources can be
    recovered through any iSCSI Initiator interface vs. having to go back
    to the one that's allowed to use the ISID for that session if ISIDs
    are statically partitioned.
    
    Does this cause any problems for the SAM-2 to iSCSI mapping?
    
    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: Fri Sep 07 12:17:10 2001
6423 messages in chronological order