SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    RE: iSCSI: login issue - partial consensus call



    
    Jim, Nick,
    
    I think Jim is right that it is possible to read files/registry but Nick is
    also right that there are
    various OS and architecture-specific restrictions on when certain
    operations are permitted.
    My experience tells me that making a list of OSes and then OS-specific
    mechanisms for
    ISID partitioning is going to be non-trivial, though I would not prevent
    anyone from venturing
    into this :-).
    
    Prasenjit
    
    
       Prasenjit Sarkar
       Research Staff Member
       IBM Almaden Research
       San Jose
    
    
    
                                                                                                   
                        Jim                                                                        
                        Hafner/Almaden       To:     "Martin, Nick" <Nick.Martin@compaq.com>,      
                        /IBM@IBMUS            ips@ece.cmu.edu                                      
                        Sent by:             cc:                                                   
                        owner-ips@ece.       Subject:     RE: iSCSI: login issue - partial         
                        cmu.edu               consensus call                                       
                                                                                                   
                                                                                                   
                        09/10/2001                                                                 
                        05:24 PM                                                                   
                                                                                                   
                                                                                                   
    
    
    
    
    Nick,
    
    I'm surprised by your comments.
    
    I've had some (small) experience with both WinNT and Linux drivers (I've
    hacked on both) and have used the registry to read configuration
    information for WinNT and am currently reading a config file for a Linux
    driver.   Even the network drivers in Unix have to read /etc/hostname and
    other such files.  But YMMV.
    
    As for the boot issue, this is orthogonal, in my opinion.  Boot will always
    have to work differently (that's why there's a boot draft for iSCSI).  What
    I identify myself as for a boot drive (InitiatorName, ISID) may not be what
    I use for all other contexts.  I can use my boot identity to read enough of
    the boot image to get my real identity and then reconnect to all my drives
    (including, perhaps but not necessarily my boot drive) and off I go.  I
    probably won't be able to connect to all my drives right up front anyway
    (that's not even how any boot works, as far as I know).  Typically, boot
    reads via BIOS just enough to get going on the first disk and then loads
    the real drivers for each logical unit it finds.  The bus scan for the
    "other logical units" is driven by the kernel (after it loads), not by
    BIOS.
    
    So, you're correct that for just boot I'll need a RAM/BIOS based
    InitiatorName, but that need not be my "true" identity for access to all
    drives after kernel boot.  But such a BIOS will also have to have a fair
    chunk of network configuration information, as well as either a static
    (RAM/BIOS) ipaddress for iSCSI boot disk or will have to have a lot of
    "discovery" logic (e.g., SLP, iSNS, etc) to find the place that knows where
    my boot disk is.  If I can configure that much, then I can configure an
    InitiatorName of my true identiry as well (if needed).
    
    Additionally, for boot, I only need on connection (this is not really
    performance path, and I almost surely don't want the complexity of path
    failover, etc), so I only need one ISID for that (might as well pick
    ISID=zero).  Then I can always have my "on the fly" drivers use non-zero
    ISID and there will be no collisions with the boot logic.
    
    Jim Hafner
    
    
    "Martin, Nick" <Nick.Martin@compaq.com> on 09/10/2001 01:35:27 pm
    
    To:   Jim Hafner/Almaden/IBM@IBMUS, "'ips@ece.cmu.edu'" <ips@ece.cmu.edu>
    cc:
    Subject:  RE: iSCSI: login issue - partial consensus call
    
    
    
    Jim,
    
    Although I am not an expert in Microsoft drivers, I have checked with an
    expert and he confirms that "mini-port" storage drivers for NT4 did not
    have
    the ability to "query" the registry using a "key".  If a command line for
    this instance number of this driver is stored in the registry, it will be
    passed to the driver as it initializes.  We have learned not to rely on
    parameters passed from the registry in the driver command line.  There are
    a
    number of conditions which can cause this information to be incorrect.  (As
    an example two different controller models supported by the same driver
    will
    each be treated as instance 0 and get the same command line.)
    
    In my first hand Unix driver experience, I have found it rare for a driver
    to be able to read a file.
    
    If iSCSI is only to be used for secondary or auxiliary storage devices,
    then
    utilities running from primary storage can supply the required parameters.
    However, if iSCSI is to be used for primary storage (i.e. system disk or
    root disk) then the iSCSI driver in the Initiator can not access parameters
    stored on that disk to initialize itself before establishing a connection
    to
    an iSCSI target.  Storage drivers must be able to initialize and operate in
    the pre-boot and early-boot stages of system initialization before any
    disks
    are available.  Dependence on parameters not available until the system
    disk
    is mounted will prevent iSCSI from being usable as a system disk.
    
    IMHO, indicating that these are easy problems with simple elegant solutions
    seems misleading.
    
    I am not saying these problems can not be solved.  Administrators can and
    will configure whatever they are required to configure.  If they need it to
    work, they won't give up until it does.  I just want to see that the number
    of things that must be configured to use iSCSI effectively are kept to a
    minimum.  I hope iSCSI can seem easier to administer than other storage
    network technologies.
    
    Thanks,
    Nick
    
    -----Original Message-----
    From: Jim Hafner [mailto:hafner@almaden.ibm.com]
    Sent: Friday, September 07, 2001 11:23 AM
    To: eddy_quicksall@ivivity.com; ips@ece.cmu.edu
    Subject: RE: iSCSI: login issue - partial consensus call
    
    
    
    Eddy,
    
    I have ideas on how this ought to be done, analogous to way that
    InitiatorName would get assigned.
    
    Take WinXX for example,  I'd have a well-defined registry key where the
    miniports would look for their InitiatorName. The install of the first
    iSCSI miniport driver would look for that key, not find it and then
    instantiate whatever name is provided by the software installer.  After
    that, any other driver installation (hopefully all driver installers would
    use the same key) would see that value and accept it.  If not, then they
    could use another vendor-key which would render them as being a 'separate
    iSCSI Node' (and the conflict issues go away).
    
    In a similar way, the registry could hold ranges of ISIDs for each driver
    that installed.  A driver on installation would claim some range of ISID's
    not already claimed by other drivers.  If a driver claimed too many, then
    the next install might fail or trigger a management interface to reassign.
    If a driver didn't play by these rules (either because it didn't want to or
    was broken) then the customer probably get a new vendor!
    
    Right now, miniport drivers already get some (typically vendor-specific)
    information from the registry.  There is no reason to believe WE can't
    cooperate in determining well-known keys for this purpose.
    
    I suggested in a private e-mail with David Black that we could make this
    ISID partitioning assignment a bit easier. For example, if we simply had in
    the registry a 'counter' for each miniport as it loaded.  This counter
    could map nicely to a Portal Group Tag.  Then we embed the portal group tag
    in the ISID (in some field within the ISID).  Then you get explicit
    partitioning of ISIDs without a direct management interface that can screw
    up (David's concern).  The drivers effectively enumerate themselves (and
    perhaps multiple portal groups for each driver, as needed) and the rest is
    for free.  I think that drivers already enumerate themselves anyway, so
    this shouldn't be a problem.
    
    Similar things could happen for Unix and friends by just having a defined
    /etc/initiatorname file and enumeration of the drivers in /dev/iscsi.
    
    I didn't think this was such a big deal!
    
    Jim Hafner
    
    
    "Eddy Quicksall" <eddy_quicksall@ivivity.com>@ece.cmu.edu on 09/07/2001
    06:51:06 am
    
    Please respond to <eddy_quicksall@ivivity.com>
    
    Sent by:  owner-ips@ece.cmu.edu
    
    
    To:   John Hufferd/San Jose/IBM@IBMUS, "Sandeep Joshi"
          <sandeepj@research.bell-labs.com>
    cc:   <ips@ece.cmu.edu>
    Subject:  RE: iSCSI: login issue - partial consensus call
    
    
    
    John,
    
    We really should do this so a driver can be written for existing OS's. How
    would you hand out ISIDs when a Miniport is being loaded?
    
    Eddy
    
    -----Original Message-----
    From: John Hufferd [mailto:hufferd@us.ibm.com]
    Sent: Thursday, September 06, 2001 3:21 PM
    To: Sandeep Joshi
    Cc: ips@ece.cmu.edu
    Subject: Re: iSCSI: login issue - partial consensus call
    
    
    
    I understand you point, however, the discussion we had on this, talked
    about each HBA needing to have an install process that is OS specific.  It
    was suppose to be an OS specific install or startup process that handed out
    the ISIDs (or ISID ranges).
    
    I think your point is that you wish that there was no reason to interact
    with the OS, in order to get installed.  I do not think that is a good
    assumption.
    
    It is the OS that needs to let the HBA know what the iSCSI Initiator Node
    Name is, so that the HBA can configure to use it.  It might as well hand
    out the ISIDs at the same time.
    
    You are suggesting that making the ID of the iSCSI HBA only a HW item.
    This is not where we came down previously.  You want to make your job of
    interfacing with the OS, simpler, and put more burden on the administrator.
    This was the mistake we made with FC and I would not like to see that
    repeated here.  You say that there needs to be Jumpers or switches, well
    this is up to your adapter.  We use to do that kind of stuff before the
    Plug and Play started working with the OS.  We need to work with the OS in
    a similar manor.
    
    .
    .
    .
    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
    
    
    Sandeep Joshi <sandeepj@research.bell-labs.com>@research.bell-labs.com on
    09/06/2001 11:44:00 AM
    
    Sent by:  sandeepj@research.bell-labs.com
    
    
    To:   John Hufferd/San Jose/IBM@IBMUS
    cc:   ips@ece.cmu.edu
    Subject:  Re: iSCSI: login issue - partial consensus call
    
    
    
    
    John,
    
    Is this what you are referring to ? (Sec 1.3 of Naming & Discovery)
    
    > b) The ISID name space of the iSCSI Initiator should be partitioned
    >       among the intiator portal groups.
    
    How do you perceive this will be achieved in practice ?
    
    This can turn out to be an nightmare for HBA vendors.
    IRQ settings, jumpers, or setup programs which run at boot
    instantly come to mind.
    
    Ideally, ISIDs should work as SCAM works but that would involve
    adding a mid-layer to OSes, to distribute that ISID name space.
    Modifying OSes in the field is tough, as we all know.
    
    I realize the standard wont mandate such configuration items
    but I'd rather we not add rules which would force such
    configuration tweaks to become necessary.
    
    We should reconsider the above rule and its consequence on
    the login issue Nick brought up.
    
    Regards,
    -Sandeep
    
    John Hufferd wrote:
    >
    > By the way, the OS is also suppose to have a way to hand out (partition
    up)
    > ISIDs to the various iSCSI Initiator functions, whether they are Software
    > or Hardware.
    >
    > So, even though,  I was initially swayed by Nick's Arguments -- we
    require
    > the OS to partition up the ISID space and hand out specific ISIDs or
    ranges
    > of ISIDs (in some manor) to the iSCSI Initiator functions (regardless of
    > whether they are in Software or Hardware) -- I do not now see, if the
    > implementation is as specified in our spec., how there is a conflict in
    > ISID.
    > .
    > .
    > .
    > 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
    
    
    
    
    
    
    
    
    
    
    
    
    


Home

Last updated: Tue Sep 11 05:17:18 2001
6503 messages in chronological order