Friday, July 5, 2013

CCIE DC: SAN Extension Tuner

Hi Guys!

This is another topic on the blueprint, SAN Extension Tuner, it's not particurly complicated, but it is a bit fiddly I have found. It has some draw backs like you can't see how it's configured in your running-configuration.

Anyway lets chat about it and get it configured, as always, I learnt most of what I am about to talk to you about from Cisco Doco, in this case this doco here:

So, On with the show!

SAN Extension tuner is a feature that allows you to test throughput and speed over your FCIP link so you can tell if changes you make, such as compression, TCP window adjustment etc are actually having a positive and not negative effect.

The method it does to make this happen is to present itself as a virtual SCSI initiator and target, it uses iSCSI in the background to make this happen.

The first step to enable it, is to enable the feature:

feature san-ext-tuner
feature iscsi
iscsi enable module 1

The ISCSI commands are required to enable this as well because as I mentioned, it uses iSCSI underneath.

The rest of the config is quite straight forward unless you want to get into the nitty gritty of it.

First, create an iSCSI interface, and then simply no shut the interface:

int iscsi1/1
no shut

Done, we now have an iSCSI interface for the SAN extension tuner to use.

next, you need to allocate a nWWN to the SAN-EXT-Tuner

conf t
Switch1(san-ext)# nwWN 20:00:00:00:00:00:00:10 

So far so good, next we need to define an N-Port

Switch1(san-ext)# nport pwWN  20:00:00:00:00:00:00:11 vsan 1 interface gigabitethernet 1/1

At this point, this will actually become part of our fabric:
Switch1(san-ext-nport)# show fcns database

FCID        TYPE  PWWN                    (VENDOR)        FC4-TYPE:FEATURE
0x010001    N     50:01:10:a0:00:18:31:e4                 scsi-fcp:init
0x010007    N     20:00:00:00:00:00:00:11                 scsi-fcp 227
0x020000    N     50:01:10:a0:00:18:31:80                 scsi-fcp:target
0x020004    N     20:00:00:00:00:00:00:21                 scsi-fcp 227

In this example I have taken the liberty of already configuring the other end (the other san-ext-tuner, you obviously need to have two, one as the init and one as the target), which is our last pWWN with FCID 020004.

Note that you STILL need to configure your zoning to allow these two scsi targets to talk to each other, just like you would normally have to do and i have done below:

Switch1(san-ext-nport)# show zone active

zone name SANEXT vsan 1
* fcid 0x010007 [pwwn 20:00:00:00:00:00:00:11]
* fcid 0x020004 [pwwn 20:00:00:00:00:00:00:21]

 Now your ready to start the test, there are two types of tests you can do, a continous test that runs until you stop it, or a simple test that does the testing on-demand. In our example we are going to do a continuous test.

Switch1(san-ext-nport)# write command-id 1 target 20:00:00:00:00:00:00:21 transfer-size 8388600 
 outstanding-ios 5 continous
Switch1(san-ext-nport)# read command-id 2 target 20:00:00:00:00:00:00:21 transfer-size 5120000 outstanding-ios 5 continuous

We can now see the results of this test with a fairly convuleted and long command:

Switch1(san-ext-nport)# show san-ext-tuner interface gi1/1 nport pwWN 20:00:00:00:00:00:00:11 vsan 1 counters
Statistics for nport
Node name 20:00:00:00:00:00:00:01 Port name 20:00:00:00:00:00:00:11
        I/Os per sec             :  43
            Reads                :  48%
            Writes               :  51%
        Egress throughput        : 111.40 MBs/sec (Max - 123.29 MBs/sec)
        Ingress throughput       : 106.36 MBs/sec (Max - 110.45 MBs/sec)
        Average response time    : Read - 237615 us, Write - 226368 us
        Minimum response time    : Read - 81190 us, Write - 5148 us
        Maximum response time    : Read - 281714 us, Write - 366880 us

When your ready, go ahead and stop the test:

Switch1(san-ext-nport)# stop ?
  all         Stop all commands
  command-id  Stop a particular command

Switch1(san-ext-nport)# stop all

If you do a show run, none of what you configure under san-ext-tun will show up:

Switch1# show run | sect san
feature san-ext-tuner
!Full Zone Database Section for vsan 1
zone name switch1 vsan 1
    member pwwn 21:02:00:0d:ec:2d:4f:42
    member pwwn 50:01:10:a0:00:18:31:80
zone name SANEXT vsan 1
    member pwwn 20:00:00:00:00:00:00:11
    member pwwn 20:00:00:00:00:00:00:21
zoneset name switch1 vsan 1
    member switch1
    member SANEXT
zoneset activate name switch1 vsan 1

I hope this brief explanation helps someone out there.


  1. Hi Peter,

    I am a bit confused about the iscsi interface. How does SET know to use the iscsi interface? There is no metion of iscsi1/1 in the set config.

  2. There actually is (indirectly):
    Switch1(san-ext)# nport pwWN 20:00:00:00:00:00:00:11 vsan 1 interface gigabitethernet 1/1

    When you create the N port's pwwn, you tell to the MDS to use its g1/1 interface and, since there's a 1 to 1 mapping between the ge interfaces and the iscsi interfaces on an MDS, there you have it.

  3. Can't think, how a man can compose such astonishing stuff.