Thursday, January 19, 2012

Creating volume with Sun StorageTek Common Array Manager (CAMS)

Some terminology:

Storage Pool: We can now take all or part of the disks in the array and attach a profile to it. This would mean that all the disks in this pool would have the RAID level, the segment size, read ahead property, etc of the storage profile that was attached to it.

Virtual Disks: We can think of virtual disks as groups of physical disks on which the volumes are created.

Volumes: From the Storage Pool that we created we could create one or more volumes. The volume that we create will be the ones that the servers see as disks. We can then mount filesystems on them, or use them as raw devices from the server side.

Mappings: The volumes that we create are now mapped onto controllers. A volume can only be mapped/attached to one controller. It's through the ports of the controller that the volume talks to the server.

Controller Ports: Controller usually have multiple ports, where each port could have a speed of say 2Gbps or 4 Gbps or something. If our controller has 4 x 4 Gbps ports, and you have connected Links from the 4 ports to the server, then you'll have 4 different paths leading to the same LUN.We  could use MpxIO to fold the 4 paths into a single path on the server side.
Note that if we are using only 1 x 4 Gbps port of your controller, and converting Gbps to MB/sec,  that you can get a throughput of around 500 MB/sec.

Here are the steps to create a Volume using Sun StorageTek Common Array Manager(CAMS):
Start with creating a Profile → Storage Pool → Create a new Volume → Map the Volume to a controller.
Now when you do a format from the server(Solaris) side you'll see the LUNs that you have created. 


f you want to create 7 volumes out of 14 disks, each having 2 disk,
first create a profile with 2 disks

name : raid0_RA
Raid : RAID)
Segment L 512KB
Noof disk: 2
Disk type : Any

Assign that profile to a pool

name : RA_POOL
storage profile: raid0_RA


Create volume out of that pool, select Currently unassigned disk ; Select specific disks to be used; choose two disk from the list; give a volume name, select number ot create as 1; assign it a 
controller ; Map to the default storage domain and select ok.;



Volume Name: vol7
Volume Capacity:  Fill One Virtual Disk with volumes of size 930.523 GB
Pool Name: raid0_pool
Storage Profile: raid0
Storage Characteristics: RAID:0, Segment Size: 512 KB, Read-Ahead: false, Number Of Disks: 2, Disk Type: ANY
Virtual Disk Name: Create New Virtual Disk Using the Following Drives: [t85d16, t85d15]
Controller: B
Mapping To: Default Storage Domain - LUN:7

If you do not care about which disks are getting assigned and you want to create 7 volumes for LDOM OS disk, you can create a profile namely ldom_disk and assign it 7 disks. You can then create a pool out of it and create 7 volumes from that pool with each containing one virtual disk.

On the server side,run devfsadm -Cv. Also, check the OS device name on which the HBA is attached and issue cfgadm -al  | grep c<portnumber> to verify that you can view all the volumes.  You can also run the following command : cfgadm -al -o show_FCP_dev c2 to see all the FC devices on the C<portnumber> controller



1 comment:

  1. Thanks for your great job . i have question relate to above.

    What do you mean by "A volume can only be mapped/attached to one controller " ? if so how could i create redundancy by make same volume accessed by server "assume server has 2 HBA " through different controllers ?

    Thanks in advance

    ReplyDelete