Lux_Parse

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# 


Download: lux_parse.pl.v2.0 [TRUSTED]
MD5 Checksum: 0c08b9a4dbd2d16f804a119f776a5f09 lux_parse.pl.v2.0
Requirements: PERL. LUXADM. You should already have all requirements on the system if you have a photon.
License: GNU Public License