Sun 3510 and 3511 Disk Arrays

We have 2 Sun StorEdge 35XX disk arrays. Two Solaris hosts are directly attached to a Sun StorEdge 3510 Fibre Channel Array. One linux host has a similar Sun StorEdge 3511 Fibre Channel Array. The 3510 uses 10K RPM FC disks (fast), the 3511 uses slower (but larger) 7.2K RPM SATA disks. Other than that, the arrays are very similar. I didn’t think much of them (why don’t we have a *REAL* SAN?) but they are decent little arrays…

Supposedly, you can talk to these arrays with a serial cable, but I have tried on repeated occasions with various cables and terminals. I have yet to date to actually talk to one of these arrays with serial. Sun must use some funky RS-232 handshaking signals that regular old serial cables don’t present correctly.

These arrays have an ethernet management port on them… But of course, these were never configured.

Sun makes array management software that you can optionally load on a directly attached host. The software actually talks to the array across the FC connection (they call this in-band). Of course, none of our hosts had this software loaded.

I always make sure that I have the latest firmware, and the latest management software. The firmware on disk arrays is especially important, as old firmware has bugs that cause I/O to hiccup, controllers to hang, etc.

Of course, our arrays have the firmware they shipped with (never been updated). It is so old now that a direct upgrade is not possible. You have to do an incremental upgrade. Follow these directions.

There are 6 different array components that have firmware on them, you have to do them all, and in the right order. If you fail to follow the directions, you could easily kill the array. Even if you do follow the directions, you may lose your disk configuration, FC configuration, etc. So make sure you either have it all backed up, or you are willing to reset the array to factory defaults.

Assuming you have the latest firmware and management software, then you can talk to the array from an attached host with the sccli command line tool. It is a little tricky, but it works.

Basic Disk Operations

Use this book to see sccli command syntax. Basically to use the array to add disks to your hosts you have to:

  1. See if there are physical disks available in the array
  2. Create a logical drive
  3. Map the logical drive to a host FC channel
  4. Reboot the host, and use host OS commands to manipulate the new disk

See if there are physical disks available in the array

So for this example, we are starting with an unconfigured array, no partitions, no maps, etc. You can see this stuff with sccli commands, like so:

[root@jedi ~]# sccli
sccli: selected device /dev/sg1 [SUN StorEdge 3511 SN#008AAD]
sccli> show disks
Ch     Id      Size   Speed  LD     Status     IDs                      Rev  
----------------------------------------------------------------------------
2(3)   0  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPPDC  
WWNN 22E4000A33007849
2(3)   1  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGWHDAC  
WWNN 22E4000A3300784A
2(3)   2  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYWS4C  
WWNN 22E4000A3300784B
2(3)   3  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYWH7C  
WWNN 22E4000A3300784C
2(3)   4  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGY7HYC  
WWNN 22E4000A3300784D
2(3)   5  372.61GB   200MB  NONE   USED       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYM8YC  
WWNN 22E4000A3300784E
2(3)   6  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPY6C  
WWNN 22E4000A3300784F
2(3)   7  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYKE3C  
WWNN 22E4000A33007850
2(3)   8  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPZ4C  
WWNN 22E4000A33007851
2(3)   9  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGXT6AC  
WWNN 22E4000A33007852
2(3)  10  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPS0C  
WWNN 22E4000A33007853
2(3)  11  372.61GB   200MB  NONE   FRMT       HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPM2C  
WWNN 22E4000A33007854
sccli> show logical-drives
sccli> show maps
sccli>

Create a logical drive

The syntax is fairly straight forward. In this example, my array has 12 disks in it. I’m going to set one as the global hot spare (this step is optional), and then use all of the rest for one big logical drive of 11 physical drives in RAID-5. Note that you specify physical disks in sccli in <channel>.<disk number>, so for example I’ll use disk 11 for the spare below, so I’ll specify 2.11.

sccli> configure global-spare 2.11
sccli> show disk
Ch     Id      Size   Speed  LD     Status     IDs                      Rev  
----------------------------------------------------------------------------
<snip>
2(3)  11  372.61GB   200MB  GLOBAL STAND-BY   HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPM2C  
WWNN 22E4000A33007854
sccli> create logical-drive raid5 2.0-10
sccli: created logical drive 651F6A8B
sccli> show logical-drive
LD    LD-ID        Size  Assigned  Type   Disks Spare  Failed Status     
------------------------------------------------------------------------
ld0   651F6A8B   3.64TB  Primary   RAID5  11    1      0      Good  I 
Write-Policy Default          StripeSize 128KB
sccli> show disks
Ch     Id      Size   Speed  LD     Status     IDs                      Rev  
----------------------------------------------------------------------------
2(3)   0  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPPDC  
WWNN 22E4000A33007849
2(3)   1  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGWHDAC  
WWNN 22E4000A3300784A
2(3)   2  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYWS4C  
WWNN 22E4000A3300784B
2(3)   3  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYWH7C  
WWNN 22E4000A3300784C
2(3)   4  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGY7HYC  
WWNN 22E4000A3300784D
2(3)   5  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYM8YC  
WWNN 22E4000A3300784E
2(3)   6  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPY6C  
WWNN 22E4000A3300784F
2(3)   7  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYKE3C  
WWNN 22E4000A33007850
2(3)   8  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPZ4C  
WWNN 22E4000A33007851
2(3)   9  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGXT6AC  
WWNN 22E4000A33007852
2(3)  10  372.61GB   200MB  ld0    ONLINE     HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPS0C  
WWNN 22E4000A33007853
2(3)  11  372.61GB   200MB  GLOBAL STAND-BY   HITACHI HDS7240SBSUN400G A47A 
S/N KRFS06RAGYPM2C  
WWNN 22E4000A33007854

Map the logical drive to a host FC channel

OK, so now the array knows it has a logical drive. However the controller doesn’t know who to give it to (where to present it). So a map says basically to present a given logical drive to a particular host.

sccli> show channels
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  DRV+RCC FC(L)   2G      Serial  14 / 15
3  DRV+RCC FC(L)   2G      Serial  14 / 15
4  Host    FC(L)   2G      Serial  44 / N/A
5  Host    FC(L)   2G      Serial  N/A / 46
6  Host    LAN     N/A     Serial  N/A / N/A

The “host channels” basically correspond to the physical FC ports on the back of the controller. In my example, my one and only host is plugged into port 0 on the back of the controller. In sccli-speak, that is 0.40 – <channel>.<PID>. I will present my new logical drive as LUN 0 to 0.40.

sccli> show partition
LD/LV    ID-Partition        Size
-------------------------------------
ld0-00   651F6A8B-00       3.64TB
sccli> map 651F6A8B-00 0.40.0
sccli: mapping ld 651F6A8B-00 to 0.40.0
sccli> show map
Ch Tgt LUN   ld/lv   ID-Partition  Assigned  Filter Map
---------------------------------------------------------------------
0  40   0   ld0     651F6A8B-00   Primary

Now reboot the host to get it to see the newly presented drive.

Use host OS commands to manipulate the new disk

These commands are specific to your OS. Google around for a howto.

[root@jedi ~]# fdisk -l
Disk /dev/sda: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14        8924    71577607+  8e  Linux LVM
Disk /dev/sdb: 3998.1 GB, 3998146887680 bytes
255 heads, 63 sectors/track, 486080 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
[root@jedi ~]# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

One Reply to “Sun 3510 and 3511 Disk Arrays”

Leave a Reply

Your email address will not be published. Required fields are marked *