This is a PERL script intended to gather sparse information regarding Photon (aka: A5x00) configurations into on simple place. There is no direct mapping between photon disk slots and the VxVM disk information, so I wanted to get in one report the disk slot (f0), instance information (ssd137), SCSI id (c0t32d0s2), WWN for the disk (2037ae4a96), VMdisk name (p2_boxc_f0) and the disk group that that VMdisk is in (arcdg2). Furthermore, I need the disk status as reported by LUXADM, and I want to see all varaible information based on redundant multipathing! To do this mapping by hand takes hours and hours and hours, and it's very error prone work. Tools like "STORtools" can make life easier, but this isn't a tool you want to use on a production system! This script does nothing more than do a "luxadm display (array)", parse that information, then find the SCSI information (in /dev) for each path, and then look up the instance information (in /etc/path_to_inst), and then cross ref that against a "vxdisk list". It's simple, and it's ment to be very very safe.
NOTE!: Running luxadm commands of ANY kind against an array with problems can cause serious IO delays while the lux commands time out, and this can result in LIP'ing which you'll see as ONLINE/OFFLINEs in the SYSLOG. DO NOT USE THIS SCRIPT IF YOU ARE NOT FAMILAR WITH THE (hidden) RISKS OF USING LUXADM! (This is particularlly due to non-responsive disks not answering basic requests.)
Here is the output for a A5200 attached to one (of 6) of my production clusters:
# lux_parse.pl P2_Box_C
Cleaning up: ... done.
Drive Listing for A5200 named P2_Box_C:
LUX_PARSE - cuddletech
A5x Slot Short WWN Status
SCSI ID Instance VMDisk DG
-------- ---------------- ------ ---
P2_Box_C,f0 2037ae4a96 On (O.K.)
c0t32d0s2 ssd137 p2_boxc_f0 arcdg2
P2_Box_C,f1 2037ae4b21 On (O.K.)
c0t33d0s2 ssd146 p2_boxc_f1 pnaarcdg
P2_Box_C,f2 2037ae473f On (O.K.)
c0t34d0s2 ssd140 p2_boxc_f5 oradg2
P2_Box_C,f3 2037ae4a60 On (O.K.)
c0t35d0s2 ssd144 p2_boxc_f3 oradg2
P2_Box_C,f4 2037ae4737 On (O.K.)
c0t36d0s2 ssd136 p2_boxc_f4 oradg2
P2_Box_C,f5 2037ae4af7 On (O.K.)
c0t37d0s2 ssd138 oradg201 oradg2
P2_Box_C,f6 2037ae489f On (O.K.)
c0t38d0s2 ssd141 p2_boxc_f6 oradg2
P2_Box_C,f7 2037ae4ad0 On (O.K.)
c0t39d0s2 ssd132 p2_boxc_f7 oradg2
P2_Box_C,f8 2037ae4ea2 On (O.K.)
c0t40d0s2 ssd148 p2_boxc_f8 oradg2
P2_Box_C,f9 2037ae4e6d On (O.K.)
c0t41d0s2 ssd133 p2_boxc_f9 oradg2
P2_Box_C,f10 2037ae4880 On (O.K.)
c0t42d0s2 ssd142 p2_boxc_f10 oradg2
P2_Box_C,r0 2037ae4854 On (O.K.)
c0t48d0s2 ssd135 p2_boxc_r0 arcdg
P2_Box_C,r1 2037ae4287 On (O.K.)
c0t49d0s2 ssd143 p2_boxc_r1 pnaarcdg
P2_Box_C,r2 2037ae48ee On (O.K.)
c0t50d0s2 ssd153 p2_boxc_r7 oradg2
P2_Box_C,r3 2037ae06c0 On (O.K.)
c0t51d0s2 ssd139 p2_boxc_r3 oradg2
P2_Box_C,r4 2037ae4291 On (O.K.)
c0t52d0s2 ssd149 p2_boxc_r4 oradg2
P2_Box_C,r5 2037ae4252 On (O.K.)
c0t53d0s2 ssd150 p2_boxc_r5 oradg2
P2_Box_C,r6 2037ae4a22 On (O.K.)
c0t54d0s2 ssd145 p2_boxc_r6 oradg2
P2_Box_C,r7 2037ba4bae On (O.K.)
c0t55d0s2 ssd165 oradg202 oradg2
P2_Box_C,r8 2037ae0a43 On (O.K.)
c0t56d0s2 ssd147 p2_boxc_r8 oradg2
P2_Box_C,r9 2037ae48ce On (O.K.)
c0t57d0s2 ssd152 p2_boxc_r9 oradg2
P2_Box_C,r10 2037ae49b3 On (O.K.)
c0t58d0s2 ssd134 p2_boxc_r10 oradg2
Done...Cleaning up: vxdisk.tmp.out, luxadm.P2_Box_C.out, devdsk.tmp.out... done.
|
Here is the output on my personal A5100, so you can see some breakage, etc. The "No UNIX Label" disks are due to them being used by my Linux box.
# lux_parse.pl cuddlestor
Cleaning up: ... done.
Drive Listing for A5100 named cuddlestor:
LUX_PARSE - cuddletech
A5x Slot Short WWN Status
SCSI ID Instance VMDisk DG
-------- ---------------- ------ ---
cuddlestor,f0 ERROR Off(Bypassed:AB)
- - - -
cuddlestor,f1 20372d0f69 On (O.K.)
c1t1d0s2 ssd12 cuddle-f2 cuddledg
cuddlestor,f2 20370971e8 On (O.K.)
c1t2d0s2 ssd10 - -
cuddlestor,f3 2037097752 On (O.K.)
c1t3d0s2 ssd3 cuddle-f3 cuddledg
cuddlestor,f4 20370970f3 On (O.K.)
c1t4d0s2 ssd0 cuddle-f4 cuddledg
cuddlestor,f5 20370d44c8 On (O.K.)
c1t5d0s2 ssd7 cuddle-f5 cuddledg
cuddlestor,f6 ERROR Not Installed
- - - -
cuddlestor,r0 20370e0b08 On (O.K.)
c1t16d0s2 ssd9 cuddle-r0 cuddledg
cuddlestor,r1 20370e85f8 On (O.K.)
c1t17d0s2 ssd13 cuddle-r1 cuddledg
cuddlestor,r2 20370d3bef On (O.K.)
c1t18d0s2 ssd5 cuddle-r2 cuddledg
cuddlestor,r3 20370d44ee On (O.K.)
c1t19d0s2 ssd8 cuddle-r3 cuddledg
cuddlestor,r4 203714322b On (O.K.)
c1t20d0s2 ssd2 cuddle-f0 cuddledg
cuddlestor,r5 20370971df On(No UNIX Label)
c1t21d0s2 ssd6 - -
cuddlestor,r6 20370d44d2 On(No UNIX Label)
c1t22d0s2 ssd11 - -
Done...Cleaning up: vxdisk.tmp.out, luxadm.cuddlestor.out, devdsk.tmp.out... done.
|
Here is one more look at a production A5200, with multipaths:
bash-2.02# ./lux_parse.pl.v2.0 a
Cleaning up: ... done.
Drive Listing for A5200 named a:
LUX_PARSE - cuddletech
A5x Slot Short WWN Status
SCSI ID Instance VMDisk DG
-------- ---------------- ------ ---
a,f0 20374fe451 On (O.K.)
c2t0d0s2 ssd424 arraya01 prod1gr
c4t0d0s2 ssd58
a,f1 2037935ec6 On (O.K.)
c2t1d0s2 ssd563 arraya02 prod1gr
c4t1d0s2 ssd564
a,f2 20379742b3 On (O.K.)
c2t2d0s2 ssd565 arraya03 prod1gr
c4t2d0s2 ssd566
a,f3 2037199aca On (O.K.)
c2t3d0s2 ssd413 arraya04 prod1gr
c4t3d0s2 ssd45
a,f4 203719dda1 On (O.K.)
c2t4d0s2 ssd405 arraya05 prod1gr
c4t4d0s2 ssd32
a,f5 20374fe161 On (O.K.)
c2t5d0s2 ssd393 arraya06 prod1gr
c4t5d0s2 ssd16
a,f6 203719d9a4 On (O.K.)
c2t6d0s2 ssd402 arraya07 prod1gr
c4t6d0s2 ssd29
a,f7 20371b88f3 On (O.K.)
c2t7d0s2 ssd596 arraya08 prod1gr
c4t7d0s2 ssd595
a,f8 203719dce9 On (O.K.)
c2t8d0s2 ssd414 arraya09 prod1gr
c4t8d0s2 ssd46
a,f9 203719dc8e On (O.K.)
c2t9d0s2 ssd421 arraya10 prod1gr
c4t9d0s2 ssd55
a,f10 ERROR On (Faulted)
- - - -
a,r0 203719d7d2 On (O.K.)
c2t16d0s2 ssd420 arraya12 prod1gr
c4t16d0s2 ssd54
a,r1 203719d868 On (O.K.)
c2t17d0s2 ssd408 arraya13 prod1gr
c4t17d0s2 ssd38
a,r2 203719dcc6 On (O.K.)
c2t18d0s2 ssd412 arraya14 prod1gr
c4t18d0s2 ssd42
a,r3 2037935ec1 On (O.K.)
c2t19d0s2 ssd572 arraya15 prod1gr
c4t19d0s2 ssd571
a,r4 203719d02f On (O.K.)
c2t20d0s2 ssd406 arraya16 prod1gr
c4t20d0s2 ssd36
a,r5 203719d905 On (O.K.)
c2t21d0s2 ssd404 arraya17 prod1gr
c4t21d0s2 ssd33
a,r6 2037936d80 On (O.K.)
c2t22d0s2 ssd580 arraya18 prod1gr
c4t22d0s2 ssd579
a,r7 203719dcab On (O.K.)
c2t23d0s2 ssd417 arraya19 prod1gr
c4t23d0s2 ssd50
a,r8 2037939109 On (O.K.)
c2t24d0s2 ssd597 arraya20 prod1gr
c4t24d0s2 ssd598
a,r9 203719d961 On (O.K.)
c2t25d0s2 ssd396 arraya21 prod1gr
c4t25d0s2 ssd23
a,r10 203793836f On (O.K.)
c2t26d0s2 ssd586 arraya22 prod1gr
c4t26d0s2 ssd585
Done...Cleaning up: vxdisk.tmp.out, luxadm.a.out, devdsk.tmp.out... done.
bash-2.02#
|