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:
- See if there are physical disks available in the array
- Create a logical drive
- Map the logical drive to a host FC channel
- 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)
Thanks