Configuring the SAN Extension Tuner
The SAN Extension Tuner (SET) feature is unique to the Cisco MDS 9000 Family of switches. This feature helps you optimize FCIP performance by generating either direct access (magnetic disk) or sequential access (magnetic tape) SCSI I/O commands and directing such traffic to a specific virtual target. You can specify the size of the test I/O transfers and how many concurrent or serial I/Os to generate while testing. The SET reports the resulting I/Os per second (IOPS) and I/O latency, which helps you determine the number of concurrent I/Os needed to maximize FCIP throughput.
This chapter includes the following sections:
About the SAN Extension Tuner
Note SAN Extension Tuner is not supported on the Cisco Fabric Switch for HP c-Class BladeSystem, the Cisco Fabric Switch for IBM BladeCenter, and 16-Port Storage Services Node (SSN-16).
Note As of Cisco MDS SAN-OS Release 3.3(1a), SAN Extension Tuner is supported on the Multiservice Module (MSM) and the Multiservice Modular Switch.
Applications such as remote copy and data backup use FCIP over an IP network to connect across geographically distributed SANs. To achieve maximum throughput performance across the fabric, you can tune the following configuration parameters:
-
The TCP parameters for the FCIP profile (see “Window Management” section for more information).
-
The number of concurrent SCSI I/Os generated by the application.
-
The transfer size used by the application over an FCIP link.
SET is implemented in IPS ports. When enabled, this feature can be used to generate SCSI I/O commands (read and write) to the virtual target based on your configured options (see Figure 3-1).
Figure 3-1 SCSI Command Generation to the Virtual Target
The SET feature assists with tuning by generating varying SCSI traffic workloads. It also measures throughput and response time per I/ O over an FCIP link.
Before tuning the SAN fabric, be aware of the following guidelines:
-
Following these implementation details:
– The tuned configuration is not persistent.
– The virtual N ports created do not register FC4 features supported with the name server. This is to avoid the hosts in the SAN from discovering these N ports as regular initiators or targets.
– Login requests from other initiators in the SAN are rejected.
– The virtual N ports do not implement the entire SCSI suite; it only implements the SCSI read and write commands.
– Tuner initiators can only communicate with tuner targets.
-
Verify that the Gigabit Ethernet interface is up at the physical layer (GBIC and Cable connected—an IP address is not required).
-
Enable iSCSI on the switch (no other iSCSI configuration is required).
-
Enable the interface (no other iSCSI interface configuration is required)
see “Creating iSCSI Interfaces” section for more information.
-
Create an iSCSI interface on the Gigabit Ethernet interface and enable the interface (no other iSCSI interface configuration is required)
See “Creating iSCSI Interfaces” section for more information.
-
Configure the virtual N ports in a separate VSAN or zone as required by your network.
-
Be aware that a separate VSAN with only virtual N ports is not required, but is recommended as some legacy HBAs may fail if logins to targets are rejected.
-
Do not use same Gigabit Ethernet interface to configure virtual N ports and FCIP links—use different Gigabit Ethernet interfaces. While this is not a requirement, it is recommended as the traffic generated by the virtual N ports may interfere with the performance of the FCIP link.
SAN Extension Tuner Setup
Figure 3-2 provides a sample physical setup in which the virtual N ports are created on ports that are not a part of the FCIP link for which the throughput and latency is measured.
Figure 3-2 N Port Tuning Configuration Physical Example
Figure 3-3 provides a sample logical setup in which the virtual N ports are created on ports that are not a part of the FCIP link for which the throughput and latency is measured.
Figure 3-3 Logical Example of N Port Tuning for a FCIP Link
Data Pattern
By default, an all-zero pattern is used as the pattern for data generated by the virtual N ports. You can optionally specify a file as the data pattern to be generated by selecting a data pattern file from one of three locations: the bootflash: directory, the volatile: directory, or the slot0: directory. This option is especially useful when testing compression over FCIP links. You can also use Canterbury corpus or artificial corpus files for benchmarking purposes.
License Prerequisites
To use the SET, you need to obtain the SAN_EXTN_OVER_IP license (see the Cisco Family NX-OS Licensing Guide).
Configuring the SAN Extension Tuner
This section includes the following topics:
Tuning the FCIP Link
To tune the required FCIP link, follow these steps:
Step 1 Configure the nWWN for the virtual N ports on the switch.
Step 2 Enable iSCSI on the interfaces on which you want to create the N ports.
Step 3 Configure the virtual N ports on either side of the FCIP link.
Step 4 Ensure that the virtual N ports are not visible to real initiators in the SAN. You can use zoning (see the Cisco Fabric Manager Fabric Configuration GuideCisco MDS 9000 Family NX-OS Fabric Configuration Guide) to segregate the real initiators. Ensure that the zoning configuration is set up to allow the virtual N ports to communicate with each other.
Step 5 Start the SCSI read and write I/Os.
Step 6 Add more N ports (as required) to other Gigabit Ethernet ports in the switch to obtain maximum throughput. One scenario that may require additional N ports is if you use FCIP PortChannels.
Using the SAN Extension Tuner Wizard
Use the SAN Extension Tuner wizard to perform the these tasks:
-
Configuring nWWN ports
-
Enabling iSCSI
-
Configuring Virtual N ports
-
Assigning SCSI read and write CLI commands
-
Assigning SCSI tape read and write CLI commands
-
Configuring a data pattern for SCSI commands
To tune the required FCIP link using the SAN Extension Tuner Wizard in Fabric Manager, follow these steps:
Step 1 Right-click a valid FCIP link in the Fabric pane, and then select
SAN Extension Tuner
from the drop-down list. You can also highlight the link and choose Tools > Other > SAN Extension Tuner.
You see the Select Ethernet Port Pair dialog box (see Figure 3-4).
Figure 3-4 Select Ethernet Port Pair Dialog Box
Step 2 Select the Ethernet port pairs that correspond to the FCIP link you want to tune and click Next.
Note The Ethernet ports you select should be listed as down.
You see the Specify Parameters dialog box (see Figure 3-5).
Step 3 Create and activate a new zone to ensure that the virtual N ports are not visible to real initiators in the SAN by clicking Yes to the zone creation dialog box.
Figure 3-5 Specify Parameters Dialog Box
Step 4 (Optional) Change the default settings for the transfer data size and the number of concurrent SCSI read and write commands as follows:
a. Set Transfer Size to the number of bytes that you expect your applications to use over the FCIP link.
b. Set Read I/0 to the number of concurrent SCSI read commands you expect your applications to generate over the FCIP link.
c. Set Write I/0 to the number of concurrent outstanding SCSI write commands you expect your applications to generate over the FCIP link.
Note There is only one outstanding I/O at a time to the virtual N port that emulates the tape behavior.
d. Check the Use Pattern File check box and select a file that you want to use to set the data pattern that is generated by the SAN extension tuner. See the “Data Pattern” section.
Step 5 Click Next.
You see the Results dialog box (see Figure 3-6).
Figure 3-6 Results Dialog Box
Step 6 Click Start to start the tuner. The tuner sends a continuous stream of traffic until you click Stop.
Step 7 Click Show to see the latest tuning statistics. You can select this while the tuner is running or after you stop it.
Step 8 Click Stop to stop the SAN extension tuner.
Enabling the Tuner
The tuning feature is disabled by default in all switches in the Cisco 9000 Family. When you enable this feature, tuning is globally enabled for the entire switch.
To enable the tuning feature, follow these steps:
|
|
|
Step 1
|
switch#
config t
|
Enters configuration mode.
|
Step 2
|
switch(config)#
feature san-ext-tuner
|
Enables tuning.
|
switch(config)#
no feature san-ext-tuner
|
Removes the currently applied tuning configuration and disables tuning (default).
|
Configuring nWWN
To configure the nWWNs for the tuner in this switch, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nWWN 10:00:00:00:00:00:00:00
|
Configures the nWWN for the SAN extension tuner.
|
Configuring the Virtual N Port
To configure the virtual N port for tuning, follow these steps:
|
|
|
Step 1
|
switch#
config t
switch(config)#
|
Enters configuration mode.
|
Step 2
|
switch(config)#
feature iscsi
switch(config)#
iscsi enable module 1
|
Enables iSCSI globally and then on module 1.
|
Step 3
|
switch(config)#
interface iscsi 1/1
switch(config-if)#
|
Creates an iSCSI interface and enters interface configuration submode.
|
Step 4
|
switch(config-if)#
no shutdown
|
Enables the iSCSI interface.
|
Step 5
|
switch(config-if)#
end
switch#
|
Returns to EXEC mode.
|
Step 6
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 7
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
switch(san-ext)#
no
nport pWWN 22:34:56:78:90:12:34:56 vsan 200 interface gigabitethernet 1/1
|
Removes a virtual N port on the specified Gigabit Ethernet port and VSAN.
|
Generating SCSI Disk Read/Write IO
You can assign SCSI read and write commands on a one-time basis or on a continuous basis.
To generate SCSI read or write commands on a one-time basis, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
read command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 num-transactions 5000000
|
Specifies a transfer size of 512,000 bytes with two outstanding I/Os in the
read
command. The total number of I/Os is 5,000,000 bytes.
|
Step 4
|
switch(san-ext-nport)#
write command-id 101 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 num-transactions 5000000
|
Specifies a transfer size of 512,000 bytes with two outstanding I/Os in the
write
command received by the target. The total number of I/Os is 5,000,000 bytes.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
switch(san-ext-nport)#
stop all
|
Stops all outstanding commands.
|
Step 6
|
switch(san-ext-nport)#
clear counters
|
Clears the counters associated with this N port.
|
Step 7
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
To generate SCSI read or write commands continuously, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
read command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 continuous
|
Configures SCSI commands to be read continuously.
Tip Use the stop command-id command to stop the outstanding configuration.
|
Step 4
|
switch(san-ext-nport)#
write command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 continuous
|
Configures SCSI commands to be written continuously.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
switch(san-ext-nport)#
stop command-id all
|
Stops all outstanding commands.
|
Step 6
|
switch(san-ext-nport)#
clear counters
|
Clears the counters associated with this N port.
|
Step 7
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
To specify a transfer ready size for a SCSI write command, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
write command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 num-transactions 5000000
|
Specifies a transfer size of 512,000 bytes with two outstanding I/Os in the
write
command received by the target. The total number of I/Os is 5,000,000 bytes.
|
Step 4
|
switch(san-ext-nport)#
transfer-ready-size 512000
|
Specifies the maximum transfer ready size of 512,000 bytes as a target for SCSI write commands. For a SCSI
write
command with a larger size, the target performs multiple transfers based on the specified transfer size.
|
switch(san-ext-nport)#
no
transfer-ready-size 512000
|
Removes the specified transfer ready size configuration for SCSI write commands.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
Step 6
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
Generating SCSI Tape Read/Write IO
Note Ensure that the zoning configuration is set up to allow the virtual N-ports to communicate with each other.
You can assign SCSI tape read and write commands on a one-time basis or on a continuous basis.
Note There is only one outstanding I/O at a time to the virtual N-port that emulates the tape behavior.
To generate SCSI tape read and or write commands on a one-time basis, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
tape-read command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 num-transactions 5000000 filemark-frequency 32
|
Specifies a transfer size of 512,000 bytes with space over the filemark every 32 SCSI read commands. The total number of I/Os is 5,000,000 bytes.
|
Step 4
|
switch(san-ext-nport)#
tape-write command-id 101 target 22:22:22:22:22:22:22:22 transfer-size 512000 num-transactions 5000000 filemark-frequency 32
|
Specifies a transfer size of 512,000 bytes with filemarks written every 32 SCSI write commands. The total number of I/Os is 5,000,000 bytes.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
switch(san-ext-nport)#
stop all
|
Stops all outstanding commands.
|
Step 6
|
switch(san-ext-nport)#
clear counters
|
Clears the counters associated with this N port.
|
Step 7
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
To generate SCSI tape read or write commands continuously, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
tape-read command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 continuous filemark-frequency 32
|
Configures SCSI tape read commands to be issued continuously.
Tip Use the stop command-id command to stop the outstanding configuration.
|
Step 4
|
switch(san-ext-nport)#
tape-write command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 continuous filemark-frequency 32
|
Configures SCSI tape write commands to be issued continuously.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
switch(san-ext-nport)#
stop command-id all
|
Stops all outstanding commands.
|
Step 6
|
switch(san-ext-nport)#
clear counters
|
Clears the counters associated with this N port.
|
Step 7
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
Configuring a Data Pattern
To optionally configure a data pattern for SCSI commands, follow these steps:
|
|
|
Step 1
|
switch#
san-ext-tuner
switch(san-ext)#
|
Enters the SET configuration submode.
|
Step 2
|
switch(san-ext)#
nport pWWN 12:00:00:00:00:00:00:56 vsan 200 interface gigabitethernet 1/1
switch(san-ext-nport)#
|
Creates a virtual N port on the specified Gigabit Ethernet port and VSAN. This N port can act as an initiator or a target.
|
Step 3
|
switch(san-ext-nport)#
data-pattern-file bootflash://DataPatternFile
|
Specifies the data pattern sent by the virtual N port when it is a target for read commands and an initiator for write commands..
Tip This command should be configured on the target to change the data returned by read commands and on the initiator for write commands. This command is useful to define data sets which contain certain bit patterns or have certain compression ratios. The default data set of all zeros is very homogenous and very compressible.
|
switch(san-ext-nport)#
no
data-pattern-file
|
Removes the specified data pattern configuration for SCSI read and write commands. The default is to send an all zero data pattern.
|
Step 4
|
switch(san-ext-nport)#
write command-id 100 target 22:22:22:22:22:22:22:22 transfer-size 512000 outstanding-ios 2 num-transactions 5000000
|
Specifies a transfer size of 512,000 bytes with two outstanding I/Os. The total number of I/Os is 5,000,000 bytes.
|
Step 5
|
switch(san-ext-nport)#
stop command-id 100
|
Stops the command with the specified ID.
|
Step 6
|
switch(san-ext-nport)#
clear counters
|
Clears the counters associated with this N port.
|
Step 7
|
switch(san-ext-nport)#
end
switch#
|
Exits the SAN extension tuner submode.
|
Verifying the SAN Extension Tuner Configuration
The
show
commands display the current SAN extension tuner settings for the Cisco MDS switch (see Examples
3-1
to
3-6
).
Example 3-1 Displays Entries in the FLOGI Database
switch# show flogi database ------------------------------------------------------------------------------
INTERFACE VSAN FCID PORT NAME NODE NAME ------------------------------------------------------------------------------
iscsi1/1 200 0x050000 12:00:00:00:00:00:00:56 10:00:00:00:00:00:00:00
Example 3-2 Displays Details for a VSAN Entry in the FLOGI Database
switch# show fcns database vsan 200 --------------------------------------------------------------------------
FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE
--------------------------------------------------------------------------
0x020000 N 22:22:22:22:22:22:22:22 scsi-fcp 0x050000 N 12:00:00:00:00:00:00:56 scsi-fcp
Example 3-3 Displays All Virtual N Ports Configured on the Specified Interface
switch# show san-ext-tuner interface gigabitethernet 3/4 nport pWWN 12:00:00:00:00:00:00:56 vsan 200 counters Node name 10:00:00:00:00:00:00:00 Port name 12:00:00:00:00:00:00:56 Ingress MB per second : 0.02 MBs/sec (Max -0.02 MBs/sec) Egress MB per second : 73.97 MBs/sec (Max -75.47 MBs/sec)) Average Response time per I/O : Read - 0 us, Write - 13432 us Maximum Response time per I/O : Read - 0 us, Write - 6953 us Minimum Response time per I/O : Read - 0 us, Write - 19752 us
Example 3-4 Displays N Ports Configured on a Specified Gigabit Ethernet Interface
switch# show san-ext-tuner interface gigabitethernet 3/1 ---------------------------------------------------------------------------- Interface NODE NAME PORT NAME VSAN ---------------------------------------------------------------------------- GigabitEthernet3/1 10:00:00:00:00:00:00:00 10:00:00:00:00:00:00:01 91
Example 3-5 Displays the Transfer Ready Size Configured for a Specified N Port
switch# show san-ext-tuner interface gigabitethernet 3/1 nport pWWN 10:0:0:0:0:0:0:1 vsan 91 Node name : 10:00:00:00:00:00:00:00 Port name : 10:00:00:00:00:00:00:01 Transfer ready size : all
Example 3-6 Displays All Virtual N Ports Configured in This Switch
switch# show san-ext-tuner nports ---------------------------------------------------------------------------- Interface NODE NAME PORT NAME VSAN ---------------------------------------------------------------------------- GigabitEthernet3/1 10:00:00:00:00:00:00:00 10:00:00:00:00:00:00:01 91
Default Settings
Table 3-1
lists the default settings for tuning parameters.
Table 3-1 Default Tuning Parameters
|
|
Tuning
|
Disabled
|
Transfer ready size
|
Same as the transfer size in the SCSI
write
command
|
Outstanding I/Os
|
1
|
Number of transactions
|
1
|
Data generation format
|
All-zero format
|
filemark-frequency
File mark frequency
|
0
|