Hi everybody,
i am working on the new script , its job discover the Storage Env ( especially MultiPATH ) and FC cards for solaris 11 sparc systems for now..
script is seem working ( but may contain any mistakes or bug ) on the oracle Qlogic fc cards on Emc_VMAx systems and Solaris 11 Sparc_64 systems...
examples ?
1-) interactive menu
---------------------
# ./solaris_san_fc_check n
--> selectable menu view ( can see some usable parameters in below )
-------------------------------------------------
| SOLARIS SPARC MPATH/HBA/SAN/DISK INFORMATIONs |
-------------------------------------------------
1-) HBA states [online/offline]:
2-) HBA-LUN-PORT General Informations:
3-) HBA-LUN-PORT-PATH Specific Informations: (WWN)
4-) Storage[EMC/IBM/HITACHI] Disks [MPxIO]: (LABEL_NAME or DISK ID)
5-) Storage[EMC/IBM/HITACHI] Disks [LABEL -> DISK ID MATCH]: (LABEL_NAME)
6-) Storage[EMC/IBM/HITACHI -> Host WWN ]: (WWN)
7-) Storage[EMC/IBM/HITACHI -> Remote WWN ]: (PWWN)
8-) Storage[EMC/IBM/HITACHI -> WWN_PWWN_LUN ]: (LABEL_NAME or DISK ID)
9-) Non MPxIO Disks List:
10-) Disks Errors: (LABEL_NAME)
11-) Extendend Infos [LUN-WWN-RWWN-NWWN-PATHS (ONLINE/OFFLINE)]: (LABEL_NAME or DISK ID)
12-) Inq Infos [[EMC/IBM/HITACHI Device-Serial-WWN-Label]: (LABEL_NAME or DISK ID)
13-) Inq Infos [DEVICE-VEND-PROD-REV-SER NUM-CAP(kb)]: (DISK ID)
14-) Inq HBA Infos [HBA-Vendor-Port Type-Speed]: (Host WWN)
15-) DMESG ERROR ANALYZER: '[dd][fs][mm][ ,;][dd][fs][mm]'
[ ALL parameters is OPTIONAL (AVALIABLE PARAMETERS SPECIFIED in the PARENTHESES) ]
================================================================================
Usage -> ./solaris_san_fc_check [y|ny|yy|n : Re-Scan the system force [y]es or [n]o] [menu_nr: (1-15)] [parameters]
================================================================================
Select Storage Informations ... [1-15] [q/x] ?
NOTE : script tries to getting some informations from system on FIRST execution therefore maybe its take long time !! ( ex : 3-4-11 )
2-) non-interactive ( command-line )
-------------------------------------
# ./solaris_san_fc_check n 2
--> no \( use NO for getting the new infos \) -> use OLD informations but but if there is OLD informations.. \( which cached in tmp dir \)
# ./solaris_san_fc_check 2
--> default \( use OLD \( DEFAULT : if OLD informations usable then use it \) informations..
# ./solaris_san_fc_check y 2
--> yes \( use YES for getting new infos but if there is NOT OLD informations \) ->
# ./solaris_san_fc_check yy 2
--> yesyes \( FORCE use YES for getting new infos \) -> non-interactive with NEW informations
......
Some outputs :
# ./solaris_san_fc_check n 2
System HBA Info
-----------------------------------------------------------------
8 X FC_port ( Total )
[ c3 c7 c8 c9 c10 c21 c22 c23 ]
8 X FC_port ( Connected )
[ c3 c7 c8 c9 c10 c21 c22 c23 ]
2 X FC_port inactive ( Unconfigure )
[ c3 c8 ]
2 X FC_port disconnected ( Disconnected )
[ c3 c8 ]
6 X FC_port initialized state ( Configured )
[ c7 c9 c10 c21 c22 c23 ]
...........................
# ./solaris_san_fc_check 3|more
FC Port WWN XXXXXXXXXXXXXXXX -> PCIE3.[1] <- ( online )
##############################################################################################################
FC HBA (Host) Path Remote LUN: Label
Port WWN Channel WWN
##############################################################################################################
XXXXXXXXXXXXXXXX c7 YYYYYYYYYYYYYYYY c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxxd0s2 testLBL1
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxxd0s2 testLBL1
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxxd0s2 testLBL1
...........................
# ./solaris_san_fc_check 4|more
###############################################################################################################
Disk/Vendor_Product/Size Label Name WWPN,LUN WWN STATE
###############################################################################################################
============================================
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0 testLBL1 8 x Path
[EMC_SYMMETRIX]
(262147.500 MB)
============================================
/devices/pci@380/pci@1/pci@0/pci@7/SUNW,qlc@0/fp@0,0 YYYYYYYYYYYYYYYY,f xxxxxxxxxxxxxxxx ONLINE
/devices/pci@380/pci@1/pci@0/pci@7/SUNW,qlc@0/fp@0,0 YYYYYYYYYYYYYYYY,f xxxxxxxxxxxxxxxx ONLINE
/devices/pci@380/pci@1/pci@0/pci@7/SUNW,qlc@0/fp@0,0 YYYYYYYYYYYYYYYY,f xxxxxxxxxxxxxxxx ONLINE
/devices/pci@380/pci@1/pci@0/pci@7/SUNW,qlc@0/fp@0,0 YYYYYYYYYYYYYYYY,f xxxxxxxxxxxxxxxx ONLINE
...........................
# ./solaris_san_fc_check 5 testLBL1
testLBL1 (8 x disk device)
===========================
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0
( my favourite )
# ./solaris_san_fc_check 11 testLBL1
.....
.....
Disk Boundary
--------------------------------------------------------------------------------------------------------------
MPATH LUN ID Vendor Size Label_Name
--------------------------------------------------------------------------------------------------------------
c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxxd0s2 EMC_SYMMETRIX 524295.000 MB testLBL1
==============================================================================================================
================================================================================
PCI Addres Path HBA Device
HBA Channel Path
================================================================================
PCIE7[1] /dev/cfg/c10 /devices/pci@340/pci@1/pci@0/pci@6/SUNW,qlc@0,1/fp@0,0
================================================================================
|
|
===================================================
Host WWN Remote WWN Status
===================================================
210000xxxxxxxxxx 50000yyyyyyyyyyy,xx ONLINE
210000xxxxxxxxxx 50000yyyyyyyyyyy,xx ONLINE
210000xxxxxxxxxx 50000yyyyyyyyyyy,xx ONLINE
210000xxxxxxxxxx 50000yyyyyyyyyyy,xx ONLINE
...............
..................
-> messages parser
# ./solaris_san_fc_check 15 1/mar
Error Message part
--------------------------------------------------------------------------------
Mar 15 04:45:42 xxxxxxx scsi: [ID 107833 kern.warning] WARNING: /scsi_vhci/ssd@gc0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxx (ssd108):
Mar 15 04:45:42 xxxxxxx drive offline
----------------------------------------------------------------------
----------------------------------------------------------------------------------------
->>>>>> ERROR ANALYSIS ->>>>>>
----------------------------------------------------------------------------------------
Logical Path
==================================================
Disk logical path cannot be found for [ c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxx ] !!
======================================================================
Disk Label
==================================================
Disk label not detected [ c0t60000xxxxxxxxxxxxxxxxxxxxxxxxxxx ] !!
======================================================================
SSD/Disk
==================================================
Disk ctd name not detected [ ssd108 ] !!
======================================================================
END_END_END_END_END
----------------------------------------------------------------------
- i think and wonder , when it works on the other systems , will it get the some errors ( big probably ) ??
->> if you have a system like below
* Solaris \( Sparc \) 10 on older systems \( sun fire / fujitsu / netra / sun blade env \) and maybe other Solaris \( x86 -> rackmount / netra \) platforms ?
* have other storage systems \( fujitsu , hitachi , dell ... \)
* have other hba cards \( native drivers \( like non-oracle emulex triggers may be gives some errors related "luxadm errors" ? \)
* have other raid cards \( i dont know which utility runs for the "non-LSI SCSI raid controller \( which i have "sas2ircu" \) cards ? \)
i want to share this for that may will be usefull some points and we can improves together..
can you test it for functions of the script and can you share if you get the errors while testing this functions..
thanks already all @unix.com family
ygemici @unix.com