Cisco MDS 9000 Family NX-OS IP Services Configuration Guide
Configuring the SAN Extension Tuner

Table Of Contents

Configuring the SAN Extension Tuner

About the SAN Extension Tuner

SAN Extension Tuner Setup

Data Pattern

License Prerequisites

Configuring the SAN Extension Tuner

Tuning the FCIP Link

Enabling the Tuner

Configuring nWWN

Configuring the Virtual N Port

Generating SCSI Disk Read/Write IO

Generating SCSI Tape Read/Write IO

Configuring a Data Pattern

Verifying the SAN Extension Tuner Configuration

Default Settings


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

License Prerequisites

Configuring the SAN Extension Tuner

Verifying the SAN Extension Tuner Configuration

Default Settings

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).

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

Enabling the Tuner

Configuring nWWN

Configuring the Virtual N Port

Generating SCSI Disk Read/Write IO

Generating SCSI Tape Read/Write IO

Configuring a Data Pattern

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 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.


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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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:

 
Command
Purpose

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
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 
Statistics for nport
Node name 10:00:00:00:00:00:00:00 Port name 12:00:00:00:00:00:00:56
I/Os per second               : 148
   Read                       : 0%
   Write                      : 100%
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
Errors                        : 0

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 

Parameters
Default

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

0