Monday, 27 August 2012

EMC SYMMETRIX: DIFFERENT TYPES OF DEVICES AVAILABLE IN SYMMETRIX ARRAYS (PART 1)


Emc symmetrix arrays support different types of devices, each type has its own signification. In this post I am going to tell what are different types of devices we can create and what is the significance/purpose of the device.

lets start with a differentiation of devices

In DMX3 we can see below listed devices

1) Standard Devices                  2) GateKeeper Devices
3) Meta devices                         4) BCV devices
5) SRDF Devices                      6) Dynamic RDF devices
7) Virtual Devices                     8) Save Devices
9) Device Masking (VCM) devices
10) DRV Devices



For thin provisioning there is a THIN device which is also very important in DMX4 and VMAX

(If i miss any devices i will update them when i came to know about them)

In this post I am going to explain the first 4 device Types ( i listed above ) and the rest will be covered in later posts.

1) Standard Devices :

 These are basic devices that can be assaigned or addressible to host for normal    symmetrix operations. these devices can be created either with protection or without protection (EMC doesn't support non protected devices). The meaning of protection here is RAID protection. In DMX3 EMC supports RAID1(or 2-way-mirror), RAID5 and RAID6 protection.

examples:

below command creates 4 open system accessible luns or standard devices of size 10000 cylinders with RAID-1 protection in disk group 1

         create dev size=10000, count=4, config=2-way-mir, emulation=FBA, disk_group=1


to create 4 Mainframe host accessible devices of size 10000 cylinders with raid5(3+1) protection in disk group 1
 
create dev size=10000, count=4, config=RAID-5, data_member_count=3, emulation=CKD, disk_group=1

to create 4 open system host accessible devices of size 10000 cylinders with raid6(6+2) protection in disk group 1

create dev size=10000, count=4, config=RAID-6, data_member_count=6, emulation=FBA, disk_group=1

" symconfigure " command like below executes and creates the devices specified in the above commands in symmetrix array

symconfigure -sid 1234 -cmd " Create dev size=10000, count=4, config=2-way-mir, emulation=FBA, disk_group=1;" commit -nop

these devices can be combined to create meta device or can be mapped and masked to give access to host for I/O operations

2)Gatekeeper Devices:

 Gatekeeper is a small device that is used by a management host to communicate with the symmetrix array. To be detailed, the host issues SCSI commands to symmetrix array that performs the software operations. To make this possible there should be a device that acts as a gatekeeper and gives the access of symmetrix array to the management host. There is no normal data processing is involved in gatekeeper devices. These are of 6 cylinders in size and EMC recommends as large as the smalest host accessible LUN.


3)Metadevices: 

The maximum size of a standard device is limited in symmetrix arrays. For example in DMX3/4 with enginuity 5773 and earlier it is 65520 cylinders i.e 61425MB and with enginuity version 5874 it is 262668 cylinders i.e 240gb. so if a host connected to DMX3/4 requires a 100gb lun as single device the only solution is metadevice(/metalun) Metadevices are created by concatinating two or more standard devices to form a single addressible device. A meta device will have a meta head, meta members, and meta tail. Meta head is responsible in processing the SCSI commands related to that device.

We can create metadevices of two configuration types namely concatinated metadevices and striped metadevices. In concatinated metadecices, data will occupies one device till it is completely filled and then moves to next device in the meta members. where as in striped metadevices the data is written to each and every meta member. a stripe size of 1920 512byte blocks is used. first 1920 blocks are written to first device(hopefully meta head) in the metadevice then the second 1920 blocks are written to next device (first available meta member) in metadevice like wise data is written to each and every device that a metadevice formed from.

Examples:

create a text file with the below commands to create a meta device whose metahead is 0001 and members are 0002,0003,0004

a) striped meta

form meta from dev 0001 config=striped stripe_size=1920
add dev 0002:0004 to meta 0001 

symconfigure -sid 1234 -f meta.txt commit

b)concatinated meta

form meta from dev 0001 config=concatinated
add dev 0002:0004 to meta 0001 

symconfigure -sid 1234 -f meta.txt commit


4) BCV devices: 

Business Continuance Volume. BCV device is a standard symmetrix device that contains a copy of
data from symmetrix standard device that is online for regular I/O operation  from one or more hosts. It is a specialized device used in TimeFinder operations as a local replications. In a simple words BCV devices are used for mirroring critical data and can be accessed from other hosts. Each BCV device has its own host address and is configured as a stand alone device The uses of BCV copies include Backup, restore, decession support, and applications testing.

BCV devices can be metadevices
BCV devices cannot be thin devices


A BCV device first need to be paired with a standard device as a mirror. At this time the BCV device is not accessible via its original device address. when the pair is established and the data is synchronised, the BCV device can be separated from the pair. now the BCV device is available for backup or other host processes through its original device address. This BCV device is again can be paired or mirrored with the same or new standard device 


Friday, 27 July 2012

PROVISIONING A LUN/STORAGE TO HOST IN DMX


Provisioning LUN from a storage to host involves a simple process to follow. First we need to understand the requirement and then we start the actual process. Here we deal with only STD Devices and meta devices formed from STD devices. Thin device creation and virtual provisioning will be discussed later for DMX4 and VMAX

In provisioning  LUN(/storage) to host process below steps are involved

1) CREATING DEVICES 

devices may be individual STD devices or Meta devices formed by combining two or more STD devices. we will discuss about different types of devices later this

post for now we stick to provisoning STD/meta devices in DMX 3/4

2) MAPPING

   Devices that we created needs a path to assign them to a host. so we map them to symmetrix front end ports and the process is called mapping

3) MASKING

  so we have devices(LUNs) created for host and prepared a way to access. then what is masking and why we need this? when we map the devices to a front end port, all the hosts which are zoned to a front end port  will have access to all LUNs or devices we created and mapped to that port. so to provide secure way of accessing a particular device/LUN by particular host we require masking them.

lets jump into the actual process through solutions enabler SYMCLI


let our requirement is 4x100gb concatinated meta luns protection is raid 5 (3+1) host name: windows host_wwn: 1000000000123

#################################################################################

1)  CREATING DEVICES

a) STD device creation:

step1:  Check if any configuration lock

$symconfigure -sid 1234 verify

abort any running/hault config lock

$symconfigure -sid 1234 abort


step2: check the free space in array

$symconfigure -sid 1234 list -freespace -units MB


step3: create std devices

first create a file "dev_create.txt" with the following command


create dev count=16 size=25gb config=RAID-5 data_member_count=3 emulation=FBA disk_group=2;

$symconfigure -sid 1234 -f dev_create.txt commit -v -nop

this command will create devices of 25 gb. lets say the devices are 0001:000F,0010

 b) CREATE META DEVICES

first create a file "meta_create.txt" with below commands

form meta from dev 0001 config=concatinated
add dev 0002:0004 to meta 0001

form meta from dev 0005 config=concatinated
add dev 0006:0008 to meta 0005

form meta from dev 0009 config=concatinated
add dev 000A:000C to meta 0009

form meta from dev 000D config=concatinated
add dev 000E:0010 to meta 000D


now run the configuration command to create meta device

$symconfigure -sid 1234 -f meta_create.txt -v -nop commit

now we have created 4x100gb meta device

Lets check the devices which we created just now or anytime we can search free devices in the storage array using

$symdev -sid 1234 list -noport


#################################################################################


2) MAPPING

lets check what are front end ports

$symcfg -sid 1234 list -fa all

Now lets check on which FA port the host logged in ( from the requirement session we will sure have either or both host name and host wwn)

$symmask -sid 1234 list logins -wwn host_wwn

We have the front end port where the host logged in now we need to find the available address for LUN on the front end port. let 7c port 0 is our front end directory/adaptor

$symcfg -sid 1234 list -available -address -dir 7c -p 0

##now from the output find the available address##

mapping the devices to front end port

we can map one device at a time so it is better to create a file ( map.txt ) with mapping commands for all devices then we map all of them with a single command

map dev 0001 to dir 7c:0 lun=123 target=0;
map dev 0005 to dir 7c:0 lun=124 target=0;
map dev 0009 to dir 7c:0 lun=125 target=0;
map dev 000D to dir 7c:0 lun=126 target=0;


$symconfigure -sid 1234 -f map.txt -v -nop commit

 we are done with mapping devices to front end ports. lets check the mapping

$symmask -sid 1234 list no_assignment -dir 7c -p 0

#################################################################################

3) MASKING

masking is a straight forward one and have a single step

$symmask -sid 1234 -wwn 10000000000012 -dir 7c -p 0 add devs 0001,0005,0009,000D

to update the info in VCMDB

$symmask refresh


With this we done with the provisioning the storage to a host.  In my next post I will explain you what are the types of different  devices available in symmetrix DMX 3/4 and also VMAX.


Thank you
Rajesh Para