SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    iSCSI: SAM-iSCSI mapping (alternative)



    
    Folks,
    
    This note addresses an alternative (and hopefully) better approach to
    mapping the SCSI Architecture Model (SAM) constructs onto the iSCSI
    constructs.  This is being recommended by the Naming and Discovery Team.
    
    [Note: This is mostly esoteric stuff that shouldn't impact much of the
    main line use of iSCSI, though part of this alternative proposal is
    intended to make implementations a bit easier.]
    
    Here's a quick summary of relevant iSCSI constructs:
    
    a) iSCSI node (either initiator or target) is a WWU named entity
    
    b) iSCSI login occurs between an iSCSI initiator node and an iSCSI
    target node (and names are exchanged during login)
    
    c) an iSCSI node can have multiple IPnames/IPaddresses/TCPports
    
    d) the IPnames/IPaddresses/TCPports can be organized into "portal
    groups"; a multi-connection session may ONLY be established within a
    portal group (not across ip address/ports in two different portal
    groups).
    
    The relevant SAM constructs are "initiator port", "target port",
    "nexus (a relationship between an initiator port and a target port)"
    and only as secondary constructs the notion of "initiator device" and
    "target device".  (We need not worry about logical unit wrt iSCSI.)
    
    CURRENT PROPOSED MAPPING of SAM to iSCSI:
    
    a) a SAM nexus maps to an iSCSI session
    
    b) there is at most one SCSI Device (initiator or target) contained
    within an iSCSI node (in other words, the SCSI device is the SCSI-ness
    of the iSCSI node); the SCSI device name is the iSCSI name.
    
    c) a SCSI Initiator port (which is, by definition, the entity at the
    initiator side of a nexus) maps to the iSCSI initiator endpoint of the
    session (and is identified/names by its iSCSI Name + ISID of the
    session).
    
    d) a SCSI Target port (the entity at the target side of the nexus)
    maps to the iSCSI target endpoint of the session (and is
    identified/named by its iSCSI Name + TSID).
    
    ISID RULE: A consequence of this mapping (to handle some specific SCSI
    features) is the restriction that between a given iSCSI initiator and
    iSCSI target, there can be only one session with a given ISID.  Note
    that this does not preclude use of the same ISID with a different
    iSCSI target, nor does it preclude other sessions with different ISIDs
    to the same iSCSI target.
    
    This model implies some implementation requirements on both the
    initiator and the target and it "stretches" some notions in SCSI.  To
    minimize these effects (detailed more carefully below), I'd like to
    propose the following alternative mapping of SAM constructs:
    
    ALTERNATIVE PROPOSED MAPPING:
    
    a) SAM nexus as above
    
    b) SCSI device as above
    
    c) SCSI initiator port as above
    
    d) SCSI target port is an iSCSI target portal group and is identified
    by its iSCSI name + portal group tag (as reported in SendTargets);
    this is very different from above.
    
    ISID RULE (modified): Between a given iSCSI initiator and iSCSI target
    portal group, there can be only one session with a given ISID.  Note
    that this is a much weaker restriction than above.  This does not
    preclude use of the same ISID with different target portal group on
    the same iSCSI target (or on other iSCSI targets), nor does it
    preclude other sessions with different ISIDs to the same target portal
    group.
    
    WHY THE CHANGE?
    
    1) The new model better fits with SCSI's sense that target ports are
    static things, not totally dynamic (like session endpoints).  There's
    less of a static requirement for initiator ports.
    
    2) In spite of the asymmetry of the model, the implementation
    requirements are actually more symmetric and simpler (more details
    next).
    
    IMPLEMENTATION REQUIREMENTS:
    
                    OLD                             NEW
    --------------------------------------------------------------------------
    Initiator       ISIDs must be partitioned       ISIDs must be partitioned
                    between initiator portal        between initiator portal
                    groups                          groups
    
                    iSCSI name must be configurable iSCSI name must be
    configurable
                    to each portal group            to each portal group
    
    Target          TSIDs must be partitioned       TSIDs must be partitioned
                    between target portal           between target portal
                    groups                          groups
    
                    iSCSI name must be configurable iSCSI name must be
    configurable
                    to each portal group            to each portal group
    
                    Active Initiator name+ISID      No requirement: each portal
                    lists must be shared across     group can separately manage
                    portal groups (to enforce       its own active
    InitiatorName+ISID
                    ISID RULE)                      lists; no sharing of active
    state
                                                    is required across portal
    groups
                                                    within a target
    
    NOTES:
    
    1) As noted, implementation on the iSCSI target is analogous to the
    iSCSI initiator with respect to ISID and TSIDs and names.  Portal
    groups should be configured (by the iSCSI node) with their iSCSI name
    and with a piece of the [I/T]SID namespace.  There need be no other
    shared state across portal groups.
    
    2) The nexus is still a session, but it connects a dynamic SCSI
    initiator port (identified by iSCSI name+ISID) with a static target
    port (identified by iSCSI name+portal group tag).
    
    3) The old model required finessing a reservation requirement that the
    logical unit device server remember the SCSI target port used for the
    reservation (so the TSID).  Without going into the subtlties here, note
    only that the new model requires the device server to only remember
    the portal group.
    
    4) In the old model, changes to port-specific mode pages affected all
    iSCSI initiators who see the same TSID (odd, but true).  In the new
    model, changes to port-specific mode pages affect all iSCSI initiators
    logged in to the same portal group (independent of TSID).  So, the
    affect is broader, but makes more sense in that it is scoped to more
    static constructs (the portal group).
    
    5) This is analogous to how the SCSI over RDMA Protocol (i.e.,
    Infiniband and VI) are modeling SAM.
    
    Jim Hafner
    
    
    
    
    
    
    
    


Home

Last updated: Tue Sep 04 01:04:19 2001
6315 messages in chronological order