Sun System Handbook - ISO 3.4 June 2011 Internal/Partner Edition | |||
|
|
Solution Type Technical Instruction Sure Solution 1002298.1 : Best Practices: configuring target id's on Sun StorEdge[TM] 3xx0 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/ATo 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 channelWe 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 PrimaryA 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 |
||||||||||||
|