Download presentation
Presentation is loading. Please wait.
Published byKellie Naomi Blair Modified over 9 years ago
2
iSCSI Management and Tuning Shiv Rajpal Senior Development Lead Device and Storage Technologies shivr@microsoft.com
3
iSCSI Management and Tuning Agenda: Architecture overview iSCSI initiator management options Performance enhancements Error recovery in Microsoft initiator
4
Architecture MS Initiator Service iSCSI CLIiSCSI GUI SAN Mgmt WMI MS iSCSI Initiator NIC Miniport driver iSCSI HBA Bus Driver + miniport Multifunction Card Hardware IHV/ISV Microsoft
5
iSCSI Management WMI Interfaces to Enable Enterprise SAN Management Applications iSCSI CLI iSCSI GUI
6
Discovery
7
Targets
8
Quick Connect
9
Devices-I
10
Devices-II
11
Configuration
12
iSCSI CLI: Discovery AddTarget: Manually configure a target and optionally persist that target AddTargetPortal: iSCSI initiator service performs a SendTargets operation to each target portal added. AddiSNSServer: iSNS servers that the iSCSI initiator service queries to discover targets
13
iSCSI CLI: Target Operation LoginTarget: Logs into a target PersistentLoginTarget: Establishes a persistent login to a target LogoutTarget: Logs out from a target
14
iSCSI CLI: Informational TargetInfo: Displays details about the target. Example – discovery mechanism used to discover the target. ListPersistentTargets: Displays the list of persistent targets configured for all initiators. ListiSNSServers: Displays the list of iSNS server addresses that are persisted by the iSCSI Initiator service.
16
iSCSI CLI: Sample Batch file. @ECHO OFF SETLOCAL setlocal EnableDelayedExpansion REM - Batch file to do a quick connect to iSCSi Target. REM - 1. First add portal for the IP address that has been entered. REM - 2. List Targets. REM - 3. If only one Target, then logon. REM - 4. Mark it persistent. REM - 5. Done. SET ipaddress=%1 echo "Trying to add target %1 for discovery" iscsicli QAddTargetPortal %ipaddress% REM – Find out the number of Targets discovered for the portal address SET _count=0 FOR /F "usebackq skip=1" %G IN (`iscsicli ListTargets`) DO ( SET _cmp=%G SET _result=!_Cmp:~0,4! REM - Get a valid IQN Name. IF !_RESULT!==iqn. ( set TargetName=!_cmp! SET /a _count = _count + 1 ) REM - Check if there is only one target. if !_count! equ 1 ( echo "Found A Target - %TargetName%: Attempt to login" iscsicli QLoginTarget %TargetName% Echo “Mark the target as a persistent target” iscsicli PersistentLoginTarget %TargetName% * * * * * * * * * * * * * * * * ) ELSE ( echo "Did not find a single Target to login" )
17
iSCSI CLI: Managing remotely Windows Remote Shell Server to be managed: winrm quickconfig Remote management server: winrs r: iscsicli –help Reference http://msdn.microsoft.com/en-us/library/aa384426(VS.85).aspx http://msdn.microsoft.com/en-us/library/aa384426(VS.85).aspx Psexec psexec.exe iscsicli –help Reference http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
18
Windows 7: iSCSI Performance MSISCSI driver updated to utilize DPC redirection feature of storport Tunable to Disable Nagle Algorithm HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97 B-E325-11CE-BFC1-08002BE10318}\ \Parameters\iSCSIDisableNagle Utilize CPU instruction to compute iSCSI digest (including Intel Nahalem) 10G – Wire Speed!
19
iSCSI : Points Of Failure
20
iSCSI : High Availability Options iSCSI Session #1 Connection #1 iSCSI Session #2 Connection #2 Disk #1Disk #2 Pseudo Disk iSCSI Session Connection #1 Connection #2 Disk MPIO MCS
21
iSCSI Error Recovery: Hierarchal Resets Reset Result 5 Consecutive Resets Session Recovery Timeout Timeout/Fail Target Warm Reset Fail OK Done OK Done LUN Reset I/O Timeout
22
iSCSI Error Recovery Pause I/O Queue Pending Commands lost Initiate iSCSI Login Login Status LUN Ready I/O Requests (SRB) Using MPIO No Pause I/O Queue/Retry I/O No Yes Start I/O Yes Fail I/O Yes Fail I/O Connection Drop Detected Re-Enumerate Devices Success Fail Time > X No Time = Disconnect time X = MaxRequestHoldTime
23
iSCSI Error Recovery: Tunable MaxRequestHoldTime Max time I/O will be queued when connection lost (60S) DelayBetweenReconnect Delay between each login attempt (1S) LinkDownTime Queue pause time when connection loss detected (15S) MaxConnectionRetries Maximum number of connection retry attempts (-1 = infinite) TCPConnectTime Timeout value while requesting a TCP connection (15S)
24
Call To Action Evaluate extensibility options in management interfaces GUI extension WMI Evaluate tuneables to optimize for your storage arrays Test your arrays and iSCSI devices with current WLK
25
Resources Web resources Microsoft Storage Technologies – iSCSI http://www.microsoft.com/windowsserver2003/technologies/storage/is csi/default.mspx http://www.microsoft.com/windowsserver2003/technologies/storage/is csi/default.mspx iSCSI User Guide http://download.microsoft.com/download/a/e/9/ae91dea1-66d9- 417c-ade4-92d824b871af/uguide.doc http://download.microsoft.com/download/a/e/9/ae91dea1-66d9- 417c-ade4-92d824b871af/uguide.doc Documentation on MSDN iSCSI WMI Classes http://msdn.microsoft.com/en-us/library/ms807120.aspxhttp://msdn.microsoft.com/en-us/library/ms807120.aspx GUI property page expansion http://msdn.microsoft.com/en-us/library/bb776850(VS.85).aspx#work http://msdn.microsoft.com/en-us/library/bb776850(VS.85).aspx#work Implementation questions on initiator – iscsi@microsoft.comiscsi@microsoft.com
26
Related Sessions SessionDay / Time Developing Highly Available Multipath Solutions and Device-Specific ModulesTues. 5:15-6:15 and Wed. 1:30-2:30 Storport SmorgasboardTues. 4-5 and Wed. 11-12 iSCSI Management and TuningTues. 4-5
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.