Monday 30 September 2013

SAN Storage Configuration – Solaris 10 with native multipathing and veritas volume manager

Here you go with the procedure to configure SAN ( EMC ) storage with native multipathing and veritas volume manager. You dont need to go with complete procedure in a single read, because it has different tasks involved and the procedure was well implemented on a production box without downtime and without disturbing existing setup.
These kind of tasks has to be performed with extreme care, and every step should be implemented after carefully observing the completion status of previous operations.
And from my experience, the most of the mistakes that happen during storage configuration is because of human errors instead of technical mistakes. I am explaining one of easy mistake here:

Example for a simple human mistake that could cause severe damage to the business:

 

During the veritas configuration, by mistake if we add a new disk to a different diskgroup other than the expected one. And after two/three steps we realized our mistake and started to correct the mistake (i.e removing new disks from the wrong diskgroup and add them back the correct one ) with a procedure that we dont have in our actual implementation plan.
In a normal situation it is simple and straight forward to fix this issue, but knowing the facts about business risk and deadly timelines to complete the task makes us feel nervous and could lead us to more serious errors while correcting early mistakes ( i.e. we may remove different disks from the wrong diskgroups). So be observed and focused while working on storage operations.

 

Outcome of this Procedure:

1) Detect new storage luns ( 2 x 33 gb devices has been allocated with LUN numbers 3564,3568 ) allocated to a Solaris 10 configured with Storage Multipathing.
2) Add new storage to existing sybasedg_DB2 diskgroup, and create two volumes (gen type) with size of 32 gb each.
3) change the ownership of the devices to Sybase:sybase

Collecting Necessary Information Before Detecting the New SAN Disks:

We have to keep below outputs safe , so that we can compare them with post LUN detection configuration and could figure it out which one is newly added.
1) # vxdisk list
2) # /emc/sbin/inq.solaris -et
3) # mpathadm list lu
4) # vxprint -hv
5) # echo|format
Below are the sample outputs of above commands:
(gurkulindia:root) # vxdisk list

DEVICE TYPE DISK GROUP STATUS
disk_0 auto:none – - online invalid
disk_1 auto:none – - online invalid
disk_2 auto:none – - online invalid
disk_3 auto:none – - online invalid
:::: output truncated :::::
emc0_26dc auto:cdsdisk D4489_R5_26DC_DB2 sybasedg_DB2 online
emc0_36ca auto:cdsdisk D4489_R5_36CA_DB2 sybasedg_DB2 online
emc0_36cb auto:cdsdisk D4489_R5_36CB_DB2 sybasedg_DB2 online
emc0_36cc auto:cdsdisk D4489_R5_36CC_DB2 sybasedg_DB2 online
emc0_36cd auto:cdsdisk D4489_R5_36CD_DB2 sybasedg_DB2 online
emc0_48d0 auto:cdsdisk D4489_R5_48D0_DB2 sybasedg_DB2 online
emc0_48da auto:cdsdisk D4489_R5_48DA_DB2 sybasedg_DB2 online
emc0_48db auto:cdsdisk D4489_R5_48DB_DB2 sybasedg_DB2 online
emc0_48dc auto:cdsdisk D4489_R5_48DC_DB2 sybasedg_DB2 online
emc0_48dd auto:cdsdisk D4489_R5_48DD_DB2 sybasedg_DB2 online
emc0_48de auto:cdsdisk D4489_R5_48DE_DB2 sybasedg_DB2 online
emc0_48df auto:cdsdisk D4489_R5_48DF_DB2 sybasedg_DB2 online
emc0_48d1 auto:cdsdisk D4489_R5_48D1_DB2 sybasedg_DB2 online
emc0_48d2 auto:cdsdisk D4489_R5_48D2_DB2 sybasedg_DB2 online
emc0_48d3 auto:cdsdisk D4489_R5_48D3_DB2 sybasedg_DB2 online
emc0_48d4 auto:cdsdisk D4489_R5_48D4_DB2 sybasedg_DB2 online
emc0_48d5 auto:cdsdisk D4489_R5_48D5_DB2 sybasedg_DB2 online
emc0_48d6 auto:cdsdisk D4489_R5_48D6_DB2 sybasedg_DB2 online
emc0_48d7 auto:cdsdisk D4489_R5_48D7_DB2 sybasedg_DB2 online
emc0_48d8 auto:cdsdisk D4489_R5_48D8_DB2 sybasedg_DB2 online
emc0_48d9 auto:cdsdisk D4489_R5_48D9_DB2 sybasedg_DB2 online
emc0_316e auto:cdsdisk D4489_R5_316E_DB2 sybasedg_DB2 online
emc0_316f auto:cdsdisk D4489_R5_316F_DB2 sybasedg_DB2 online
:::: output truncated :::::
(gurkulindia:root) # echo|format
Searching for disks…done
AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@1f,700000/scsi@2/sd@0,0
1. c1t1d0
/pci@1f,700000/scsi@2/sd@1,0
2. c1t2d0
/pci@1f,700000/scsi@2/sd@2,0
3. c1t3d0
/pci@1f,700000/scsi@2/sd@3,0
4. c3t60060480000190104489533034384442d0
/scsi_vhci/ssd@g60060480000190104489533034384442
5. c3t60060480000190104489533034384441d0
/scsi_vhci/ssd@g60060480000190104489533034384441
6. c3t60060480000190104489533034384439d0
/scsi_vhci/ssd@g60060480000190104489533034384439
7. c3t60060480000190104489533034384438d0
/scsi_vhci/ssd@g60060480000190104489533034384438
:::: output truncated, for easy reading :::::
37. c3t60060480000190104489533033313645d0
/scsi_vhci/ssd@g60060480000190104489533033313645
38. c3t60060480000190104489533034384446d0
/scsi_vhci/ssd@g60060480000190104489533034384446
39. c3t60060480000190104489533034384445d0
/scsi_vhci/ssd@g60060480000190104489533034384445
40. c3t60060480000190104489533034384444d0
/scsi_vhci/ssd@g60060480000190104489533034384444
41. c3t60060480000190104489533034384443d0
/scsi_vhci/ssd@g60060480000190104489533034384443
42. c3t60060480000190104489533032364443d0
/scsi_vhci/ssd@g60060480000190104489533032364443
Specify disk (enter its number): Specify disk (enter its number):
(gurkulindia:root) # /emc/sbin/inq.solaris -et

Inquiry utility, Version V7.3-532 (Rev 0.0) (SIL Version V5.4.0.0 (Edit Level 532)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.
…………………………………………………………………….
……..
—————————————————————————————————————
RAW SERIAL BCV/ R1/ CKD/ FIBRE/ SHARE/ SYMM DEVICE UDATE
DEVICE NAME NUMBER REG? R2? FBA? ULTRA? META MODEL PROTECTION WD? DIR-P (YYYYMMDD)
—————————————————————————————————————
/dev/rdsk/c3t60060480000190104489533031304438d0s2:890D8008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/rdsk/c3t60060480000190104489533031304439d0s2:890D9008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/rdsk/c3t60060480000190104489533031304441d0s2:890DA008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/rdsk/c3t60060480000190104489533032364443d0s2:89!IM000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/rdsk/c3t60060480000190104489533033313645d0s2:89!t}000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R04B-1 :20100202
/dev/rdsk/c3t60060480000190104489533033313646d0s2:89!t~000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/rdsk/c3t60060480000190104489533033313730d0s2:89!u!000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/rdsk/c3t60060480000190104489533033313731d0s2:89!u”000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/rdsk/c3t60060480000190104489533033313732d0s2:89!u#000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/vx/rdmp/emc0_48dbs2:89#”>000 :REG :N/A :FBA :FIBRE : M :—– :RAID-S : :R04B-1 :20100202
/dev/vx/rdmp/emc0_48dcs2:89#”?000 :REG :N/A :FBA :FIBRE : M :—– :RAID-S : :R04B-1 :20100202
:::: output truncated, for easy reading :::::
/dev/vx/rdmp/emc0_3173s2:89!u$000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/vx/rdmp/emc0_4948s2:89##o000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/vx/rdmp/emc0_6576s2:89$O}000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100202
/dev/vx/rdmp/emc0_6577s2:89$O~000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100202
/dev/vx/rdmp/emc0_6578s2:89$P!000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/vx/rdmp/emc0_6579s2:89$P”000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202

(gurkulindia:root) # mpathadm list lu
/dev/rdsk/c3t60060480000190104489533034384446d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533034384445d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533034384444d0s2
Total Path Count: 2
:::: output truncated, for easy reading :::::
/dev/rdsk/c3t60060480000190104489533033313730d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313646d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313645d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533032364443d0s2
Total Path Count: 2
Operational Path Count: 2

Detecting New SAN Storage and Configure it :


(gurkulindia:root) # cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c0 scsi-bus connected configured unknown
c0::dsk/c0t0d0 CD-ROM connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t1d0 disk connected configured unknown
c1::dsk/c1t2d0 disk connected configured unknown
c1::dsk/c1t3d0 disk connected configured unknown
c2 scsi-bus connected unconfigured unknown
c6 fc-fabric connected configured unknown
c6::50060482d530ea73 disk connected configured unknown
c7 fc-fabric connected configured unknown
c7::50060482d530ea5c disk connected configured unknown
usb0/1 unknown empty unconfigured ok
usb0/2 unknown empty unconfigured ok
usb1/1 unknown empty unconfigured ok
usb1/2 unknown empty unconfigured ok
(gurkulindia:root) #
Note: In general, “cfgadm -al” will just list the configured disk devices but in solaris 10 it will do more than just listing, it will actually do kind of probe for all the connected devices which helps the next devfsadm command to detect the LUNS properly.
(gurkulindia:root) # devfsadm -Cv
(gurkulindia:root) # /emc/sbin/inq.solaris -et
Inquiry utility, Version V7.3-532 (Rev 0.0) (SIL Version V5.4.0.0 (Edit Level 532)
Copyright (C) by EMC Corporation, all rights reserved.
For help type inq -h.
…………………………………………………………………….
……….
—————————————————————————————————————
RAW SERIAL BCV/ R1/ CKD/ FIBRE/ SHARE/ SYMM DEVICE UDATE
DEVICE NAME NUMBER REG? R2? FBA? ULTRA? META MODEL PROTECTION WD? DIR-P (YYYYMMDD)
—————————————————————————————————————
/dev/rdsk/c3t60060480000190104489533031304438d0s2:890D8008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100
/dev/rdsk/c3t60060480000190104489533031304439d0s2:890D9008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100
/dev/rdsk/c3t60060480000190104489533031304441d0s2:890DA008 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100
/dev/rdsk/c3t60060480000190104489533032364443d0s2:89!IM000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R04B-1 :20100
/dev/rdsk/c3t60060480000190104489533033313645d0s2:89!t}000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100
:::: output truncated, for easy reading :::::
/dev/vx/rdmp/emc0_3171s2:89!u”000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/vx/rdmp/emc0_3172s2:89!u#000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R13B-0 :20100202
/dev/vx/rdmp/emc0_3173s2:89!u$000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R04B-1 :20100202
/dev/vx/rdmp/emc0_4948s2:89##o000 :REG :N/A :FBA :FIBRE : :—– :RAID-S : :R04B-1 :20100202
/dev/vx/rdmp/emc0_6576s2:89$O}000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/vx/rdmp/emc0_6577s2:89$O~000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R04B-1 :20100202
/dev/vx/rdmp/emc0_6578s2:89$P!000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100202
/dev/vx/rdmp/emc0_6579s2:89$P”000 :REG :N/A :FBA :FIBRE : :—– :mirrored : :R13B-0 :20100202
Just compare the above output with the old one see if any new luns detected, if nothing detected we should check with storage for second confirmation. If still that doesn’t work we have to make reconfiguration reboot i.e. boot -r ( ofcourse, only after getting proper management approvals to reboot the server), because solaris 10 doesn’t give you any chance to troubleshoot the problems during Lun detection.
Tip: if you think it is too much to complext to check manually, just check the no. of lines in the current output with wc -l and compare it with the number of lines from our backup output, if see the number was increased then you have something new. So dont worry about comparision immediately, the next steps will give you some clues to identify the new LUNS/DIsks.
(gurkulindia:root) # mpathadm list lu
/dev/rdsk/c3t60060480000190104489533034384446d0s2
Total Path Count: 2
Operational Path Count: 2
:::: output truncated, for easy reading :::::
/dev/rdsk/c3t60060480000190104489533033313732d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313731d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313730d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313646d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033313645d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533032364443d0s2
Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033353638d0s2  <== new entry
 Total Path Count: 2
Operational Path Count: 2
/dev/rdsk/c3t60060480000190104489533033353634d0s2  <== new entry
 Total Path Count: 2
Operational Path Count: 2
(gurkulindia:root) # echo|format
Searching for disks…done
c3t60060480000190104489533033353638d0: configured with capacity of 33.71GB <== new entry
c3t60060480000190104489533033353634d0: configured with capacity of 33.71GB <== new entry
AVAILABLE DISK SELECTIONS:
0. c1t0d0
/pci@1f,700000/scsi@2/sd@0,0
1. c1t1d0
/pci@1f,700000/scsi@2/sd@1,0
2. c1t2d0
/pci@1f,700000/scsi@2/sd@2,0
3. c1t3d0
/pci@1f,700000/scsi@2/sd@3,0
4. c3t60060480000190104489533034384442d0
/scsi_vhci/ssd@g60060480000190104489533034384442
5. c3t60060480000190104489533034384441d0
/scsi_vhci/ssd@g60060480000190104489533034384441
:::: output truncated, for easy reading :::::
37. c3t60060480000190104489533033313645d0
/scsi_vhci/ssd@g60060480000190104489533033313645
38. c3t60060480000190104489533032364443d0
/scsi_vhci/ssd@g60060480000190104489533032364443
39. c3t60060480000190104489533033353638d0  <== new entry
/scsi_vhci/ssd@g60060480000190104489533033353638
40. c3t60060480000190104489533034384446d0
/scsi_vhci/ssd@g60060480000190104489533034384446
41. c3t60060480000190104489533034384445d0
/scsi_vhci/ssd@g60060480000190104489533034384445
42. c3t60060480000190104489533034384444d0
/scsi_vhci/ssd@g60060480000190104489533034384444
43. c3t60060480000190104489533034384443d0  
/scsi_vhci/ssd@g60060480000190104489533034384443
44. c3t60060480000190104489533033353634d0  <== new entry
/scsi_vhci/ssd@g60060480000190104489533033353634
Specify disk (enter its number): Specify disk (enter its number):

Label the new disks before proceeding for the Veritas Configuration:

Note: If you dont label the new disks, you will receive below error while initializing the new disks
(gurkulindia:root) # /etc/vx/bin/vxdisksetup -i emc0_3564
prtvtoc: /dev/vx/rdmp/emc0_3564: Unable to read Disk geometry errno = 0×5
 Label Disks using format command:
(gurkulindia:root) # format c3t60060480000190104489533033353638d0
c3t60060480000190104489533033353638d0: configured with capacity of 33.71GB
selecting c3t60060480000190104489533033353638d0
[disk formatted]
FORMAT MENU:
disk – select a disk
type – select (define) a disk type
partition – select (define) a partition table
current – describe the current disk
format – format and analyze the disk
repair – repair a defective sector
label – write label to the disk
analyze – surface analysis
defect – defect list management
backup – search for backup labels
verify – read and display labels
save – save new disk/partition definitions
inquiry – show vendor, product and revision
volname – set 8-character volume name
! – execute , then return
quit
format> l
Ready to label disk, continue? y
format> q
(gurkulindia:root) # format c3t60060480000190104489533033353634d0
c3t60060480000190104489533033353634d0: configured with capacity of 33.71GB
selecting c3t60060480000190104489533033353634d0
[disk formatted]
FORMAT MENU:
disk – select a disk
type – select (define) a disk type
partition – select (define) a partition table
current – describe the current disk
format – format and analyze the disk
repair – repair a defective sector
label – write label to the disk
analyze – surface analysis
defect – defect list management
backup – search for backup labels
verify – read and display labels
save – save new disk/partition definitions
inquiry – show vendor, product and revision
volname – set 8-character volume name
! – execute , then return
quit
format> l
format> q

Veritas Configuration for the New Storage Disks:

Note: Remember tht detecting SAN storage from Operating System will not bring those disk under VxvM control, we should probe new disks with below command
gurkulindia:root) # vxdctl enable
(gurkulindia:root) # vxdisk list
DEVICE TYPE DISK GROUP STATUS
disk_0 auto:none – - online invalid
disk_1 auto:none – - online invalid
disk_2 auto:none – - online invalid
disk_3 auto:none – - online invalid
emc0_10da auto:cdsdisk D4489_R1_10DA_DB1 sybasedg_DB1 online
emc0_10d8 auto:cdsdisk D4489_R1_10D8_DB1 sybasedg_DB1 online
emc0_10d9 auto:cdsdisk D4489_R1_10D9_DB1 sybasedg_DB1 online
emc0_26dc auto:cdsdisk D4489_R5_26DC_DB2 sybasedg_DB2 online
emc0_36ca auto:cdsdisk D4489_R5_36CA_DB2 sybasedg_DB2 online
emc0_36cb auto:cdsdisk D4489_R5_36CB_DB2 sybasedg_DB2 online
emc0_36cc auto:cdsdisk D4489_R5_36CC_DB2 sybasedg_DB2 online
emc0_36cd auto:cdsdisk D4489_R5_36CD_DB2 sybasedg_DB2 online
emc0_48d0 auto:cdsdisk D4489_R5_48D0_DB2 sybasedg_DB2 online
emc0_48da auto:cdsdisk D4489_R5_48DA_DB2 sybasedg_DB2 online
emc0_48db auto:cdsdisk D4489_R5_48DB_DB2 sybasedg_DB2 online
emc0_48dc auto:cdsdisk D4489_R5_48DC_DB2 sybasedg_DB2 online
emc0_48dd auto:cdsdisk D4489_R5_48DD_DB2 sybasedg_DB2 online
emc0_48de auto:cdsdisk D4489_R5_48DE_DB2 sybasedg_DB2 online
emc0_48df auto:cdsdisk D4489_R5_48DF_DB2 sybasedg_DB2 online
emc0_48d1 auto:cdsdisk D4489_R5_48D1_DB2 sybasedg_DB2 online
emc0_48d2 auto:cdsdisk D4489_R5_48D2_DB2 sybasedg_DB2 online
emc0_48d3 auto:cdsdisk D4489_R5_48D3_DB2 sybasedg_DB2 online
emc0_48d4 auto:cdsdisk D4489_R5_48D4_DB2 sybasedg_DB2 online
emc0_48d5 auto:cdsdisk D4489_R5_48D5_DB2 sybasedg_DB2 online
emc0_48d6 auto:cdsdisk D4489_R5_48D6_DB2 sybasedg_DB2 online
emc0_48d7 auto:cdsdisk D4489_R5_48D7_DB2 sybasedg_DB2 online
emc0_48d8 auto:cdsdisk D4489_R5_48D8_DB2 sybasedg_DB2 online
emc0_48d9 auto:cdsdisk D4489_R5_48D9_DB2 sybasedg_DB2 online
emc0_316e auto:cdsdisk D4489_R5_316E_DB2 sybasedg_DB2 online
emc0_316f auto:cdsdisk D4489_R5_316F_DB2 sybasedg_DB2 online
emc0_657a auto:cdsdisk D4489_R1_657A_DB3 sybasedg_DB3 online
emc0_657b auto:cdsdisk D4489_R1_657B_DB3 sybasedg_DB3 online
emc0_657c auto:cdsdisk D4489_R1_657C_DB3 sybasedg_DB3 online
emc0_657d auto:cdsdisk D4489_R1_657D_DB3 sybasedg_DB3 online
emc0_3170 auto:cdsdisk D4489_R5_3170_DB2 sybasedg_DB2 online
emc0_3171 auto:cdsdisk D4489_R5_3171_DB2 sybasedg_DB2 online
emc0_3172 auto:cdsdisk D4489_R5_3172_DB2 sybasedg_DB2 online
emc0_3173 auto:cdsdisk D4489_R5_3173_DB2 sybasedg_DB2 online
emc0_3564 auto:none – - online invalid         <== new entry
emc0_3568 auto:none – - online invalid         <== new entry
emc0_4948 auto:cdsdisk D4489_R5_4948_DB2 sybasedg_DB2 online
emc0_6576 auto:cdsdisk D4489_R1_6576_DB3 sybasedg_DB3 online
emc0_6577 auto:cdsdisk D4489_R1_6577_DB3 sybasedg_DB3 online
emc0_6578 auto:cdsdisk D4489_R1_6578_DB3 sybasedg_DB3 online
emc0_6579 auto:cdsdisk D4489_R1_6579_DB3 sybasedg_DB3 online
Initialize new disks under veritas so that we can add them to the require disk group i.e. sybasedg_DB2 :
(gurkulindia:root) # /etc/vx/bin/vxdisksetup -i emc0_3564
(gurkulindia:root) # /etc/vx/bin/vxdisksetup -i emc0_3568
(gurkulindia:root) # vxdisk list
DEVICE TYPE DISK GROUP STATUS
disk_0 auto:none – - online invalid
disk_1 auto:none – - online invalid
disk_2 auto:none – - online invalid
disk_3 auto:none – - online invalid
emc0_10da auto:cdsdisk D4489_R1_10DA_DB1 sybasedg_DB1 online
emc0_10d8 auto:cdsdisk D4489_R1_10D8_DB1 sybasedg_DB1 online
emc0_10d9 auto:cdsdisk D4489_R1_10D9_DB1 sybasedg_DB1 online
emc0_26dc auto:cdsdisk D4489_R5_26DC_DB2 sybasedg_DB2 online
emc0_36ca auto:cdsdisk D4489_R5_36CA_DB2 sybasedg_DB2 online
emc0_36cb auto:cdsdisk D4489_R5_36CB_DB2 sybasedg_DB2 online
emc0_36cc auto:cdsdisk D4489_R5_36CC_DB2 sybasedg_DB2 online
emc0_36cd auto:cdsdisk D4489_R5_36CD_DB2 sybasedg_DB2 online
emc0_48d0 auto:cdsdisk D4489_R5_48D0_DB2 sybasedg_DB2 online
emc0_48da auto:cdsdisk D4489_R5_48DA_DB2 sybasedg_DB2 online
emc0_48db auto:cdsdisk D4489_R5_48DB_DB2 sybasedg_DB2 online
emc0_48dc auto:cdsdisk D4489_R5_48DC_DB2 sybasedg_DB2 online
emc0_48dd auto:cdsdisk D4489_R5_48DD_DB2 sybasedg_DB2 online
emc0_48de auto:cdsdisk D4489_R5_48DE_DB2 sybasedg_DB2 online
emc0_48df auto:cdsdisk D4489_R5_48DF_DB2 sybasedg_DB2 online
emc0_48d1 auto:cdsdisk D4489_R5_48D1_DB2 sybasedg_DB2 online
emc0_48d2 auto:cdsdisk D4489_R5_48D2_DB2 sybasedg_DB2 online
emc0_48d3 auto:cdsdisk D4489_R5_48D3_DB2 sybasedg_DB2 online
emc0_48d4 auto:cdsdisk D4489_R5_48D4_DB2 sybasedg_DB2 online
emc0_48d5 auto:cdsdisk D4489_R5_48D5_DB2 sybasedg_DB2 online
emc0_48d6 auto:cdsdisk D4489_R5_48D6_DB2 sybasedg_DB2 online
emc0_48d7 auto:cdsdisk D4489_R5_48D7_DB2 sybasedg_DB2 online
emc0_48d8 auto:cdsdisk D4489_R5_48D8_DB2 sybasedg_DB2 online
emc0_48d9 auto:cdsdisk D4489_R5_48D9_DB2 sybasedg_DB2 online
emc0_316e auto:cdsdisk D4489_R5_316E_DB2 sybasedg_DB2 online
emc0_316f auto:cdsdisk D4489_R5_316F_DB2 sybasedg_DB2 online
emc0_657a auto:cdsdisk D4489_R1_657A_DB3 sybasedg_DB3 online
emc0_657b auto:cdsdisk D4489_R1_657B_DB3 sybasedg_DB3 online
emc0_657c auto:cdsdisk D4489_R1_657C_DB3 sybasedg_DB3 online
emc0_657d auto:cdsdisk D4489_R1_657D_DB3 sybasedg_DB3 online
emc0_3170 auto:cdsdisk D4489_R5_3170_DB2 sybasedg_DB2 online
emc0_3171 auto:cdsdisk D4489_R5_3171_DB2 sybasedg_DB2 online
emc0_3172 auto:cdsdisk D4489_R5_3172_DB2 sybasedg_DB2 online
emc0_3173 auto:cdsdisk D4489_R5_3173_DB2 sybasedg_DB2 online
emc0_3564 auto:cdsdisk – - online  <== new entry
emc0_3568 auto:cdsdisk – - online  <== new entry
emc0_4948 auto:cdsdisk D4489_R5_4948_DB2 sybasedg_DB2 online
emc0_6576 auto:cdsdisk D4489_R1_6576_DB3 sybasedg_DB3 online
emc0_6577 auto:cdsdisk D4489_R1_6577_DB3 sybasedg_DB3 online
emc0_6578 auto:cdsdisk D4489_R1_6578_DB3 sybasedg_DB3 online
emc0_6579 auto:cdsdisk D4489_R1_6579_DB3 sybasedg_DB3 online
(gurkulindia:root) # vxdg -g sybasedg_DB2 adddisk D4489_R5_3564_DB2=emc0_3564
(gurkulindia:root) # vxdg -g sybasedg_DB2 adddisk D4489_R5_3568_DB2=emc0_3568
From the below output you can see both the new disk were added to diskgrouop “sybasedg_DB2″
(gurkulindia:root) # vxdisk list
DEVICE TYPE DISK GROUP STATUS
disk_0 auto:none – - online invalid
disk_1 auto:none – - online invalid
disk_2 auto:none – - online invalid
disk_3 auto:none – - online invalid
emc0_10da auto:cdsdisk D4489_R1_10DA_DB1 sybasedg_DB1 online
emc0_10d8 auto:cdsdisk D4489_R1_10D8_DB1 sybasedg_DB1 online
emc0_10d9 auto:cdsdisk D4489_R1_10D9_DB1 sybasedg_DB1 online
emc0_26dc auto:cdsdisk D4489_R5_26DC_DB2 sybasedg_DB2 online
emc0_36ca auto:cdsdisk D4489_R5_36CA_DB2 sybasedg_DB2 online
emc0_36cb auto:cdsdisk D4489_R5_36CB_DB2 sybasedg_DB2 online
emc0_36cc auto:cdsdisk D4489_R5_36CC_DB2 sybasedg_DB2 online
emc0_36cd auto:cdsdisk D4489_R5_36CD_DB2 sybasedg_DB2 online
emc0_48d0 auto:cdsdisk D4489_R5_48D0_DB2 sybasedg_DB2 online
emc0_48da auto:cdsdisk D4489_R5_48DA_DB2 sybasedg_DB2 online
emc0_48db auto:cdsdisk D4489_R5_48DB_DB2 sybasedg_DB2 online
emc0_48dc auto:cdsdisk D4489_R5_48DC_DB2 sybasedg_DB2 online
emc0_48dd auto:cdsdisk D4489_R5_48DD_DB2 sybasedg_DB2 online
emc0_48de auto:cdsdisk D4489_R5_48DE_DB2 sybasedg_DB2 online
emc0_48df auto:cdsdisk D4489_R5_48DF_DB2 sybasedg_DB2 online
emc0_48d1 auto:cdsdisk D4489_R5_48D1_DB2 sybasedg_DB2 online
emc0_48d2 auto:cdsdisk D4489_R5_48D2_DB2 sybasedg_DB2 online
emc0_48d3 auto:cdsdisk D4489_R5_48D3_DB2 sybasedg_DB2 online
emc0_48d4 auto:cdsdisk D4489_R5_48D4_DB2 sybasedg_DB2 online
emc0_48d5 auto:cdsdisk D4489_R5_48D5_DB2 sybasedg_DB2 online
emc0_48d6 auto:cdsdisk D4489_R5_48D6_DB2 sybasedg_DB2 online
emc0_48d7 auto:cdsdisk D4489_R5_48D7_DB2 sybasedg_DB2 online
emc0_48d8 auto:cdsdisk D4489_R5_48D8_DB2 sybasedg_DB2 online
emc0_48d9 auto:cdsdisk D4489_R5_48D9_DB2 sybasedg_DB2 online
emc0_316e auto:cdsdisk D4489_R5_316E_DB2 sybasedg_DB2 online
emc0_316f auto:cdsdisk D4489_R5_316F_DB2 sybasedg_DB2 online
emc0_657a auto:cdsdisk D4489_R1_657A_DB3 sybasedg_DB3 online
emc0_657b auto:cdsdisk D4489_R1_657B_DB3 sybasedg_DB3 online
emc0_657c auto:cdsdisk D4489_R1_657C_DB3 sybasedg_DB3 online
emc0_657d auto:cdsdisk D4489_R1_657D_DB3 sybasedg_DB3 online
emc0_3170 auto:cdsdisk D4489_R5_3170_DB2 sybasedg_DB2 online
emc0_3171 auto:cdsdisk D4489_R5_3171_DB2 sybasedg_DB2 online
emc0_3172 auto:cdsdisk D4489_R5_3172_DB2 sybasedg_DB2 online
emc0_3173 auto:cdsdisk D4489_R5_3173_DB2 sybasedg_DB2 online
emc0_3564 auto:cdsdisk D4489_R5_3564_DB2 sybasedg_DB2 online <== new disk  entry
 emc0_3568 auto:cdsdisk D4489_R5_3568_DB2 sybasedg_DB2 online <== new disk entry
 emc0_4948 auto:cdsdisk D4489_R5_4948_DB2 sybasedg_DB2 online
emc0_6576 auto:cdsdisk D4489_R1_6576_DB3 sybasedg_DB3 online
emc0_6577 auto:cdsdisk D4489_R1_6577_DB3 sybasedg_DB3 online
emc0_6578 auto:cdsdisk D4489_R1_6578_DB3 sybasedg_DB3 online
emc0_6579 auto:cdsdisk D4489_R1_6579_DB3 sybasedg_DB3 online
Look at the new additional free space created under sybasedg_DB2
(gurkulindia:root) # vxdg -g sybasedg_DB2 free
DISK DEVICE TAG OFFSET LENGTH FLAGS
D4489_R5_26DC_DB2 emc0_26dc emc0_26dc 16777216 828672 -
D4489_R5_36CA_DB2 emc0_36ca emc0_36ca 17582080 23808 -
D4489_R5_36CB_DB2 emc0_36cb emc0_36cb 17582080 23808 -
D4489_R5_36CC_DB2 emc0_36cc emc0_36cc 17582080 23808 -
D4489_R5_36CD_DB2 emc0_36cd emc0_36cd 17582080 23808 -
D4489_R5_48D2_DB2 emc0_48d2 emc0_48d2 70132736 499712 -
D4489_R5_48D3_DB2 emc0_48d3 emc0_48d3 70132736 499712 -
D4489_R5_48D4_DB2 emc0_48d4 emc0_48d4 70132736 499712 -
D4489_R5_48D5_DB2 emc0_48d5 emc0_48d5 70132736 499712 -
D4489_R5_316E_DB2 emc0_316e emc0_316e 16777216 828672 -
D4489_R5_316F_DB2 emc0_316f emc0_316f 16777216 828672 -
D4489_R5_3170_DB2 emc0_3170 emc0_3170 16777216 828672 -
D4489_R5_3171_DB2 emc0_3171 emc0_3171 16777216 828672 -
D4489_R5_3172_DB2 emc0_3172 emc0_3172 16777216 828672 -
D4489_R5_3173_DB2 emc0_3173 emc0_3173 16777216 828672 -
D4489_R5_3564_DB2 emc0_3564 emc0_3564 0 70632448 -  <== free space available 33 gb
D4489_R5_3568_DB2 emc0_3568 emc0_3568 0 70632448 -  <== free space avaialable 33 gb
D4489_R5_4948_DB2 emc0_4948 emc0_4948 16777216 828672 -

Create Volumes for the purpose fo Sybase DB

(gurkulindia:root) # vxassist -g sybasedg_DB2 -U gen make SM_OBSGENUAT_SQL_data19 32g D4489_R5_3564_DB2
(gurkulindia:root) # vxassist -g sybasedg_DB2 -U gen make SM_OBSGENUAT_SQL_data20 32g D4489_R5_3568_DB2
Note: We want to use these volumes as RAW volumes, so that sybase database can directly access and write to them, that is the reason we have mentioned the volume type as “-u gen” , for the normal volumes which required to have the filesystems will be create with the option “-u fsgen” ( it is default option, hence we dont mention it normally)
Just check the sybasedg_DB2 configuration, to confirm that new disks were properly added as raw volumes
(gurkulindia:root) # vxprint -v -g sybasedg_DB2
Disk group: sybasedg_DB2
TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
v NY_OBSUAT_RSSD_SQL_data01 gen ENABLED 20971520 – ACTIVE – -
v NY_OBSUAT_RSSD_SQL_master gen ENABLED 409600 – ACTIVE – -
v NY_OBSUAT_RSSD_SQL_sysprocsdev gen ENABLED 614400 – ACTIVE – -
v SM_JBUAT_SQL_data01 gen ENABLED 41943040 – ACTIVE – -
v SM_JBUAT_SQL_data02 gen ENABLED 41943040 – ACTIVE – -
v SM_JBUAT_SQL_master gen ENABLED 409600 – ACTIVE – -
v SM_JBUAT_SQL_sysprocsdev gen ENABLED 614400 – ACTIVE – -
v SM_OBSGENUAT_SQL_data01 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data02 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data03 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data04 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data05 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data06 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data07 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data08 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data09 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data10 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data11 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data12 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data13 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data14 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data15 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data16 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data17 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data18 gen ENABLED 67108864 – ACTIVE – -
v SM_OBSGENUAT_SQL_data19 gen ENABLED 67108864 – ACTIVE – -   <== new raw volume added
v SM_OBSGENUAT_SQL_data20 gen ENABLED 67108864 – ACTIVE – -  <== new raw volume added
 v SM_OBSGENUAT_SQL_master gen ENABLED 409600 – ACTIVE – -
v SM_OBSGENUAT_SQL_sysprocsdev gen ENABLED 614400 – ACTIVE – -
v stable_queue01 gen ENABLED 4194304 – ACTIVE – -
v stable_queue02 gen ENABLED 4194304 – ACTIVE – -
v stable_queue03 gen ENABLED 4194304 – ACTIVE – -
v stable_queue04 gen ENABLED 4194304 – ACTIVE – -
Finally set the raw volume ownership to sybase, and group to sybase. Please note that we should not set raw veritas volume permissions with unix chmod command we should do it using vxedit command.
(gurkulindia:root) # vxedit -g sybasedg_DB2 set user=sybase group=sybase SM_OBSGENUAT_SQL_data19
(gurkulindia:root) # ls -l /dev/vx/rdsk/sybasedg_DB2/SM_OBSGENUAT_SQL_data19
crw——- 1 sybase sybase 323, 56031 Aug 10 11:15 /dev/vx/rdsk/sybasedg_DB2/SM_OBSGENUAT_SQL_data19
(gurkulindia:root) # vxedit -g sybasedg_DB2 set user=sybase group=sybase SM_OBSGENUAT_SQL_data20
(gurkulindia:root) # ls -l /dev/vx/rdsk/sybasedg_DB2/SM_OBSGENUAT_SQL_data20
crw——- 1 sybase sybase 323, 56032 Aug 10 11:16 /dev/vx/rdsk/sybasedg_DB2/SM_OBSGENUAT_SQL_data20

0 comments:

Post a Comment