Microsoft iSCSI Software Initiator

1.Introduction
    The Microsoft iSCSI Software Initiator package adds support to the Windows operating system for using iSCSI targets that support 1.0 of the iSCSIspec. This user’s guide will briefly explain the architecture, there quirements, functionality, interfaces and usages of the product. It alsoincludes a troubleshooting section that may be useful in case errors or problems occur.

2.Architectural overview and features
 
The MicrosoftiSCSI Software Initiator package is composed offour  main components
●            Softwareinitiator kernel mode driver (mini-port driver - msiscsi.sys)
An optional iSCSI device driver componentthat is responsible for moving data from the storage stack over to the standardnetwork stack. This initiator is only used when iSCSI traffic goes overstandard network adapters, not when specialized iSCSI HBA adapters are used.
●            iSCSI port driver (iscsiprt.sys)
A port driver that implements Windowsspecific functionalities such as Plug and Play, Power Management, CommandQueuing, etc. The software initiator driver (msiscsi.sys) and somemulti-function HBA drivers (bus and mini-port) will use this port driver.
●            Initiatorservice (iscsiexe.exe)
A service that manages all iSCSI initiators(including network adapters and HBAs) on behalf of the OS. Its functionsinclude aggregating discovery information and managing security. It includes aniSNS client, the code required for device discovery.
●            Managementapplications
The iSCSI command line interface(iSCSICLI), property pages for device management, Windows ManagementInstrumentation (WMI), and a control panel application.
●            MicrosoftMPIO Multipathing Support for iSCSI (MPIO and iSCSI DSM drivers)
MPIO provides high availability and loadbalancing to storage devices.
Both the management api interfaces and thekernel mode initiator driver interfaces are very well defined and thus allow Independent Software Vendors (ISVs) and Independent Hardware Vendors (IHVs) to leveragethese interfaces to produce value add components. The Microsoft iSCSI SoftwareInitiator package includes a software based iSCSI kernel mode initiator driverthat uses the Windows TCP/IP stackand one or more network interface cards (NICs) exposed to Windows. IHVs canbuild specialized iSCSI initiator hardware (iSCSI HBA) and write a SCSIportminiport or Storport miniport driver that can be used by the iSCSI initiatorservice. Microsoft recommends the use of Storport miniports on Windows Server2003 and Windows XP, x64.  Storport isnot available on Windows 2000 or Windows XP, so SCSIport must be used on thoseplatforms.  These drivers must supportthe Microsoft iSCSI driver interfaces in order to work properly with the iSCSIInitiator service. These iSCSI HBA drivers can be used in place of the softwareinitiator driver or in conjunction with the software initiator driver. Sincethe iSCSI initiator service aggregates all kernel mode initiator drivers tocoordinate iSCSI management in Windows, a management application vendor caninclude iSCSI support in its management application by writing directly to theiSCSI management interfaces and thus be able to manage both hardware andsoftware initiator drivers in a common way. Microsoft only supports the use of iSCSI HBAs that have been Logo’dunder the Designed for Windows Logo Program.

3.Requirements
The Microsoft iSCSI Software Initiatorpackage runs with Windows 2000 SP4 or higher, Windows XP SP1 or higher andWindows 2003 Server or higher. To use the iSCSI software initiator kernel modedriver, the system must include a qualified Designed for Windows NIC(网络适配器Network interface Card) and this card must be configured to use the TCP/IP protocol.  To use an HBA (主机总线适配器Host Bus Adapter )with the Microsoft iSCSIinitiator service, the HBA must implement the required Microsoft iSCSI driver interfaces as outlined in the Microsoft iSCSI Driver Development Kit. Thesoftware initiator kernel mode driver supports version 1.0 of the iSCSI specification(RFC 3790) recently ratified by the Internet Engineering Task Force (IETF).  An iSCSI target that also supports version 1.0of the iSCSI specification is also required. 

iSCSI PortDriver (iscsiprt) – This is always checked andcannot be unchecked. All configurations require the  port driver and thus it is always installed.
 
Initiator Service (iscsiexe.exe)–  This is theusermode iSCSI initiator service and is required for all iSCSI SoftwareInitiator installations using iSCSI HBA or the iSCSI software SoftwareInitiator.
 
SoftwareInitiator  (msiscsi.exe)- This is the kernel mode iSCSIsoftware initiator driver and is used to connect to iSCSI devices via theWindows TCP/IP stack using NICs.If this option is selected then the Initiator Service option is also selectedautomatically.

** Microsoft MPIO Multipathing Support for iSCSI. 

Management applications/Interfaces
iSCSI Control Panel Applet
The Microsoft iSCSI initiator serviceincludes a control panel applet that allows an administrator to do the mostcommon iSCSI operations via an easy to use GUI. The applet can be used with theMicrosoft iSCSI software initiator kernel mode driver and all iSCSI HBA in acommon way. Note that not all functionality of the Microsoft iSCSI initiatorservice is available via the applet. Full functionality is available using thecommand line tool iSCSICLI.
iSCSI property Pages

The Microsoft iSCSI initiator serviceincludes a device coinstaller that includes additional property pages for theMicrosoft iSCSI initiator kernel mode driver and iSCSI HBA. The property pagesoffer a great deal of common information and common configuration options. Forexample TCP/IP properties such asIP address can be configured for any iSCSI HBA using the common property pageimplemented by the coinstaller.

iSCSICLI

iSCSICLI is a command line tool suitable for scripting and completely exposes all functionality available by the Microsoft iSCSI initiator service. See appendix B for more information on specific iSCSICLI commands.

WMI
           TheMicrosoft iSCSI Software Initiator package includes two sets of WMI interfacesthat a management application can use to obtain information about and controlthe iSCSI initiator.  The iSCSI WMIinterfaces (as are all WMI interfaces) are available locally as well asremotely via DCOM, scripting and other methods. In fact, VBScript and/or JScriptcan easily be embedded in dynamic HTML pages to provide an easy to developinterface to the Microsoft iSCSI Software Initiator package.
 
              Thefirst set of interfaces contains those that are exposed directly by the MS iSCSIinitiator kernel mode drivers. This set of interfaces includes the followingclasses:
 
MSiSCSI_HBAInformation – providesinformation about the capabilities of the iSCSI initiator kernel mode driver
 
MSiSCSI_HBASessionConfig – provides thedefault session configuration information
 
MSiSCSI_PortalInfoClass – exposesinformation about the initiator portals
 
MSiSCSI_InitiatorSessionInfo - exposessession and connection information on the initiator. This is the class to queryif you are interested in the current list of sessions and connections.
 
MSiSCSI_InitiatorNodeFailureEvent - firesan event when a node failure occurs
 
MSiSCSI_InitiatorInstanceFailureEvent - firesan event when an initiator failure occurs
 
MSiSCSI_TCPIPConfig – HBA initiator only, TCP/IPconfiguration class.  This describes andallows configuration of the TCP/IP parameters.
 
MSiSCSI_NICConfig - HBA initiator only, NICconfiguration class.
 
MSiSCSI_BootConfiguration - HBA initiatoronly, Boot configuration class.
 
MSiSCSI_SecurityCapabilities – HBAinitiator only, security capabilities
 
MSiSCSI_DiscoveryConfig - HBA initiatoronly, this class describes and allows configuration of the HBA discoveryconfiguration.
 
MSiSCSI_RADIUSConfig - HBA initiator only,this class describes and allows configuration of the RADIUS configuration.
 
MSiSCSI_QueryLBPolicy – Query the loadbalance policy for connections within a session
 
MSiSCSI_Eventlog – HBA miniports can firethis class to create eventlog entries
 
MSiSCSI_Redirect_PortalInfoClass  - Information about session that haveencountered login redirection.
 
MSiSCSI_ManagementOperation – Supplies amethod that allows user to ping via an iSCSI HBA.
 
The second set of interfaces controls andobtains information from the MS iSCSI initiator service.  These classes provide the same functionalityas the iSCSI Win32 APIs.
 
MSiSCSIInitiator_TargetClass - Used toenumerate the list of iSCSI targets known to the iSCSI discovery service
 
MSiSCSIInitiator_TargetClass::Login- Perform an iSCSI login to the target
 
MSiSCSIInitiator_PersistentLoginClass -Used to enumerate the list of persistent logins that have been configured inthe iSCSI discovery service
 
MSiSCSIInitiator_iSNSServerClass - Used toenumerate the list of iSNS servers that have been configured in the iSCSIdiscovery service
 
MSiSCSIInitiator_iSNSServerClass::Refresh-Refresh the list of discovered targets from this iSNS server
 
MSiSCSIInitiator_SendTargetPortalClass - Usedto enumerate the list of SendTargets portals that have been configured in theiSCSI discovery service
 
MSiSCSIInitiator_SendTargetPortalClass::Refresh- Refresh the list of discovered targets from this SendTargets portal
 
MSiSCSIInitiator_InitiatorClass - Used toenumerate the list of iSCSI Initiators that have been configured in the iSCSIdiscovery service
 
MSiSCSIInitiator_SessionClass - Used toenumerate the list of iSCSI sessions that are currently open
 
MSiSCSIInitiator_SessionClass::Logout- Perform an iSCSI logout of this session
 
MSiSCSIInitiator_SessionClass::SendScsiInquiry- Send a SCSI Inquiry command to the target for this session
 
MSiSCSIInitiator_SessionClass::SendScsiReadCapacity- Send a SCSI Read Capacity command to the target for this session
 
MSiSCSIInitiator_SessionClass::SendScsiReportLuns- Send a SCSI Report LUNs command to the target for this session
 
MSiSCSIInitiator_SessionClass::AddConnection– Add a connection to a session
 
MSiSCSIInitiator_SessionClass::RemoveConnection– Remove a connection from a session
 
MSiSCSIInitiator_MethodClass - Providesvarious methods that do not fit into the other defined classes
 
MSiSCSIInitiator_MethodClass::RefreshTargetList- Refresh the entire list of targets using all available discovery methods
 
MSiSCSIInitiator_MethodClass::SetIScsiTunnelModeOuterAddress- Set the IPSec outer address to be used to create a secure session between twoiSCSI portals
 
MSiSCSIInitiator_MethodClass::SetIScsiIKEInfo- Set the IKE information to be used for authentication purposes by thespecified iSCSI initiator
 
MSiSCSIInitiator_MethodClass::SetIScsiGroupPresharedKey- Set the group preshared key to be used when negotiating authentication foriSCSI login purposes
 
MSiSCSIInitiator_MethodClass::SetIScsiInitiatorCHAPSharedSecret- Set the shared secret to be used when negotiating CHAP authentication foriSCSI login purposes
 
MSiSCSIInitiator_MethodClass::SetIScsiInitiatorNodeName- Set the iSCSI initiator node name to be used by the MS iSCSI discoveryservice for iSCSI discovery and login purposes
 
MSiSCSIInitiator_MethodClass::SetupPersistentIScsiVolumes- Persist the current list of active iSCSI volumes to synchronize with the MS iSCSIdiscovery service start completion with on next MS iSCSI discovery servicestart
 
MSiSCSIInitiator_PersistentDevices – Listof persistent devices bound. This is the list of devices that the initiatorservice will wait for before completing its service startup sequence.

Perfmon/Sysmon


              OnWindows XP and Windows Server 2003 the following classes are available asperformance objects within the sysmon (perfmon) tool.. Note that the counterswill not be displayed in the Sysmon/Perfmon Add Counter dialog box unless thereis an active iSCSI session.
 
              TheMS iSCSI initiator kernel mode drivers expose the following classes that provideperformance information:
 
MSiSCSI_ConnectionStatistics – Connectionlevel statistics such as bytes sent/received, and PDU sent/received
 
MSiSCSI_SessionStatistics – Session level statisticssuch as bytes sent/received,  PDUsent/received, format errors, digest errors, and timeout errors.
 
MSiSCSI_InitiatorLoginStatistics –Initiator node level statistics with information about login success andvarious types of login failures.
 
MSiSCSI_InitiatorInstanceStatistics –Initiator node level statistics with information about session level errors.
 
MSiSCSI_RequestTimeStatistics – Informationabout the length of time the initiator takes to process requests.
 

 iSCSIHBA initiator kernel mode drivers also expose the MSiSCSI_NICPerformance classwhich has performance information about the NIC in the iSCSI HBA.

S           iSCSICLIis a command line tool suitable for scripting and completely exposes allfunctionality available by the Microsoft iSCSI initiator service. See appendi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值