Sun Microsystems, Inc.  Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1002298.1
Update Date:2011-04-06
Keywords:

Solution Type  Technical Instruction Sure

Solution  1002298.1 :   Best Practices: configuring target id's on Sun StorEdge[TM] 3xx0 arrays  


Related Items
  • Sun Storage 3510 FC Array
  •  
  • Sun Storage 3310 Array
  •  
  • Sun Storage 3511 SATA Array
  •  
Related Categories
  • GCS>Sun Microsystems>Storage - Disk>Modular Disk - 3xxx Arrays
  •  

PreviouslyPublishedAs
203225


Description
This document is meant to explain why and how to configure target ID's for the 3000 Series arrays.

Chapter 4 - DAS Configurations, in the Sun StorEdge 3000 Family Best Practices Manual doesn't adequately explain why or how to configure target ID's on the Sun StorEdge[TM] 3xx0 arrays.



Steps to Follow
The Sun StorEdge[TM] 3000 series arrays are a highly configurable array, and the available documentation may not adequately explain some of these configurable features that are designed to improve redundancy and performance.
One such item is the concept of configuring the Target ID's-- how to do it, what are the best choices, etc.
Field experience at Sun has found configuration of target ID's to be a particularly confusing topic for customer and field personnel alike.
The Best Practices Manual has a section concerning DAS configurations, or Direct Attached Storage. This document will focus in particular on multipathing hosts to a single array in
order to demonstrate the concept of configuring portids. From there, one should be able to modify the configuration appropriately for the particular needs in a given situation.
In this document, the general procedure for "Dual-Controller Multipath DAS Configurations" starts out with a diagram depicting cabling of several hosts to a dual channel 351x array, then a series of steps including the following:
    5. Configure target IDs.
    6. Create Logical Drives.
    7. Map Logical Drives.
These three steps all have a relationship that warrants further explanation. And while item 5, configure target ID's, is first, let's look at item 6 and 7 first to set the stage for number 5.
6. Creating Logical Drives: when one creates a logical drive, one step in the process is to determine if the lun is to be assigned to the secondary controller. This step will set the lun as "PRIMARY" or as "SECONDARY", and sets the type of port id that it will be available through.
When telneted into, and logged into, the array:
-- choose view and edit logical drives
-- select an unused logical drive number
-- choose the appropriate drive type if asked (my 3510 asks about fibre or sata)
-- "create logical drive?" choose yes
-- select your raid level
-- select your drives, and then escape
-- ON THIS SCREEN, scroll down to "Logical drive assignments"
This is where you make your logical drive primary (choose "no") or secondary (choose "yes"). then escape again.
-- "yes" you want to initialize your drive.
7. Map Logical Drive: The logical drive you choose to map at this point will now have a designator of "Primary" or "Secondary", which means it can only be mapped to a port that
has a matching type of port id. If you chose a port with a primary ID, only PRIMARY logical drives should be available. If you chose a secondary, only secondary will be
available.
In my experience, I have encountered primary logical drives assigned secondary
port ids and vice versa, but these are ILLEGAL configurations which I have had
to fix. It is NOT the correct behaviour of the firmware. So with that said, let's look at step 5. Configure target Ids. The default
configuration for a 3510 array is to have the following port id's (noted by
pid/sid) assigned to the physical ports on the controller:
   sccli> show channel
Ch  Type    Media   Speed   Width  PID / SID
--------------------------------------------
0  Host    FC(L)   2G      Serial  40 / N/A
1  Host    FC(L)   N/A     Serial  N/A / 42
2  Drive   FC(L)   2G      Serial  14 / 15
3  Drive   FC(L)   2G      Serial  14 / 15
4  Host    FC(L)   2G      Serial  44 / N/A
5  Host    FC(L)   N/A     Serial  N/A / 46
6  Host    LAN     N/A     Serial  N/A / N/A
To achieve the best practices configuration, and allow us to map a particular logical drive to both channels of a particular host, then ID's must be modified. It's important to realize
that these ID's can be changed all over the place, leaving none of the original settings there. The point here is to understand the starting point provided by default on the
arrays, and then adjust the necessary port ID's to allow us to map the luns in the desired fashion.

It's also worth mentioning that SCSI protocol specifications DO NOT PERMIT a target ID without a lun 0 assigned (see Technical instruction <Document: 1017707.1> Logical Unit Number(LUN) 0 , A SCSI Requirement for details).
This means that if a cable is attached and a lun is not assigned to a portid, then the ID's should be removed.
   sccli> show channel
Ch  Type    Media   Speed   Width  PID / SID
--------------------------------------------
0  Host    FC(L)   2G      Serial  40  / N/A
1  Host    FC(L)   N/A     Serial  N/A / 42
2  Drive   FC(L)   2G      Serial  14  / 15
3  Drive   FC(L)   2G      Serial  14  / 15
4  Host    FC(L)   2G      Serial  N/A / 47  <--
5  Host    FC(L)   N/A     Serial  45  / N/A  <--
6  Host    LAN     N/A     Serial  N/A / N/A


In this example, I've added PID 45 and SID 47, and deleted PID 44 and SID 46 (in essence reversing what was assigned on ports 4 and 5). This now gives
the host ports a PID or SID as needed to map our luns to ports 0 and 5, or ports 1 and 4, as the best practices guides describes.
Add your id's like this:
From main menu of the array telnet session or serial session,
-select ?view and edit channels?,
-then select channel 0, 1, 4 and 5 respectively,
-"view and edit scsi ID",
-hit return for the controller it brings up,
-"add Channel SCSI ID",
-choose the unassigned controller, and select an appropriate ID.
  *NOTE* The array will need to reset for these settings to take effect, so
this SHOULD NOT BE PERFORMED ON A PRODUCTION ARRAY.

"So how do I check my current configuration?"

One can navigate the menus on the array to find the information, but I have found the simplest way to check is by using the sccli command line on a host. If the host is attached, then sccli can run in band. If host is not attached to the array, run sccli out of band: "sccli -o <ip address of array".

An example of an illegal configuration can be seen here:

We can see the channels have the default settings:

sccli> show channel
Ch Type Media Speed Width PID / SID -------------------------------------------- 0 Host FC(L) 2G Serial 40 / N/A 1 Host FC(L) N/A Serial N/A / 42 2 Drive FC(L) 2G Serial 14 / 15 3 Drive FC(L) 2G Serial 14 / 15 4 Host FC(L) 2G Serial 47 / N/A 5 Host FC(L) N/A Serial N/A / 46 6 Host LAN N/A Serial N/A / N/A
We can also see what logical drives are configured here. Both of these logical drives are set up as "primary":
sccli> show logical
LD    LD-ID        Size  Assigned  Type   Disks Spare  Failed Status
------------------------------------------------------------------------
ld0   769E6006 272.47GB  Primary   RAID5  5     2      0      Good
Write-Policy Default          StripeSize 128KB
ld1   0899CE85 272.46GB  Primary   RAID5  5     2      0      Good
Write-Policy Default          StripeSize 128KB


So, given the output of the above two commands, the illegal configuration is shown here:
sccli: selected device /dev/rdsk/c2t47d0s2 [SUN StorEdge 3510 SN#084E6E]
Ch Tgt LUN   ld/lv   ID-Partition  Assigned  Filter Map
---------------------------------------------------------------------
0  40   0   ld0     769E6006-00   Primary
1  42   0   ld1     0899CE85-00   Secondary <--- illegal, ld1 is primary!
4  47   0   ld1     0899CE85-00   Primary
A nice, clean example of an array that's ready to be attached in a multipath
configuration according to the best practices is shown here:

   sccli> show channel
Ch  Type    Media   Speed   Width  PID / SID
--------------------------------------------
0  Host    FC(L)   2G      Serial  40 / N/A
1  Host    FC(L)   2G      Serial  N/A / 42
2  Drive   FC(L)   2G      Serial  14 / 15
3  Drive   FC(L)   2G      Serial  14 / 15
4  Host    FC(L)   2G      Serial  N/A / 47
5  Host    FC(L)   2G      Serial  45 / N/A
6  Host    LAN     N/A     Serial  N/A / N/A
   sccli> show logical
LD    LD-ID        Size  Assigned  Type   Disks Spare  Failed Status
------------------------------------------------------------------------
ld0   76166964 136.23GB  Primary   RAID5  3     0      0      Good
Write-Policy Default          StripeSize 128KB
ld1   512B22E0  68.12GB  Secondary RAID1  2     0      0      Good  I
Write-Policy Default          StripeSize 128KB
   sccli> show lun
Ch Tgt LUN   ld/lv   ID-Partition  Assigned  Filter Map
---------------------------------------------------------------------
0  40   0   ld0     76166964-00   Primary
1  42   0   ld1     512B22E0-00   Secondary
4  47   0   ld1     512B22E0-00   Secondary
5  45   0   ld0     76166964-00   Primary
sccli>


Product
Sun StorageTek 3511 SATA Array
Sun StorageTek 3510 FC Array
Sun StorageTek 3310 SCSI Array
Sun StorageTek 3320 SCSI Array

Internal Comments
For internal Sun use only.

reference to Lun 0 requirement, Technical Instruction <Document: 1017707.1> Logical Unit Number(LUN) 0 , A SCSI Requirement.
target, id, minnow, 3510, 3511, lun, logical drive, port
Previously Published As
83703

Change History
Date: 2009-12-22
User Name: sue.copeland@sun.com
Action: Currency & Update

Attachments
This solution has no attachment
  Copyright © 2011 Sun Microsystems, Inc.  All rights reserved.
 Feedback