Several tools are available under /home/dept/Sustain/tools also ./diag-tools (these are version controlled)

add_missing_pages.pl.old edit

- OBSOLETE - refer missing_pages.sh

admin_ifconfig_up.sh edit

- utility to toggle specific network interfaces on array and enable/disable relevant traces - uses SNMPwalk to set ifAdminStatus, and ifconfig eth to toggle i/fs - useful in tourbleshooting network issues

busycpu.exe (busycpu.pl) edit

- ONLY Windows !! Keeps the CPU busy (not sure why/when it was used; possibly HIT/SANHQ testing maybe?)

ch.pl edit

- checks Report file for iSCSI login failures

cksumpage.sh edit

- generates checksum for a specific page; need to provide psVID and page# as input parameters - cksumpage_OLD.sh (tbd)

clearcounters.zip edit

- clears cache and network(TCP) counters on the array - NOTE: could have an issue clearing TCP counters if netstats is NOT aliased to /sbin/nstats_test

connanalyze.pl edit

- analyzes Report file for iSCSI connections; menu driven - no option to save results in a file

convertipv6_snmp.awk (refer delete_i_inetentries) edit

- converts ipv6 addresses in SNMP walk file to . delimited, readable - runs in conjunction with the delete_i_inetentries

convert-psvid.sh edit

- converts psVID to / from SNMP hex format to IOM readable format - ex: "convert-psvid.sh 68 B7 B2 1C 55 DE 22 1C D3 E9 A4 00 00 00 60 D6" gives the output 8-cb2b76-1c22de551-d660000000a4e9d3 - could need to change the shell if being used on an array, but typically not needed to be run on an array

datamine.pl edit

- parses diags to generate a csv file with statistics - NOTE: not frequently used; check with Chuck before running it

decodestack.sh edit

- accepts eqllogmgr/Report file and parses ALL stack dumps - Also refer: http://dewiki.mht.amer.dell.com/wiki/index.php/Basic_Core_Analysis_Tips_and_Tricks - can also be run in manual mode; script will prompt for input parameters

del_mpio_acl_by_volume.pl / del_mpio_acl_by_volume.exe (windows version) edit

- connects to an array and DELETEs ALL MPIO ACLs for a specific volume - only useful when arrays are reachable via telnet

deldupe edit

- wrapper for an "iom delete_page" command; requires psVID and Page# as inputs - does NOT really identify/detect duplicate pages, etc

delete_i_inetentries (also refer convertipv6_snmp.awk) edit

- deletes rows from SNMP table "eqlInetAddrTable" (field:eqlInetAddrEntIfName) that don't have corresponding members in the "eqlMemberTable" (field:eqlMemberName) - Bug: 21336

disconn edit

- forces an Async logout initiated from the array (wrapper for 'iscsi_test alogout') - uses EqlCliExec.pl/exe to tunnel the iscsi_test command (from local windows/linux machine) to array

diskload.exe edit

- used by QA to generate load on (windows) (SAN) drives

dmesg.pl edit

- Extracts Dmesgs from input file (typically: *.eqllogmgr-Output.txt and generated *.eqllogmgr-Output.dmesg.txt o/p file)

DriveFail edit

- Analyses Report file(s) to troubleshoot Failed drives - NOTE: the script also emails a default mailing address -- use with caution!! - DriveFail1 / DriveFail-Original (older copies of same script)

drivescan.sh edit

- parses eqllog-Output file and outputs data/entries related to drives - useful in analysing drive data displayed by eqllog

eql_cord-g_with_logging.pl (eql_cord-g_with_logging.exe) edit

- issues a "cord -g" (simulate power failure) to the Active CM on an array. Useful to failover Controllers on an array - requires telnet access to the array - same as eql_multimember_cord-g_with_logging.pl

eql_create_vols.pl edit

- wrapper to create volumes on an array; requires telnet access to array

===== eql_multimember_ifdownup_with_logging.pl - utility to toggle an eth port on the array; requires telnet access to the array, usues ifconfig

eql_multimember_restart_with_logging.pl edit

- wrapper to issue a 'restart' command to an array; requires telnet access to the array, usues ifconfig

eql_setup_vol_access.pl edit

- utlity to set access control lists (ACL) for specific volume; uses telnet to connect to array - can set up only IP address ACLs (no IQN or CHAP); accepts single IP address; cannot use wild cards

eql_setup_vol_access_chap.pl edit

- utlity to set CHAP ACL entry for specific volume; uses telnet to connect to array

EqlCliExec.exe edit

- utility to issue Cli commands for an array from local Windows machine - no need to explicity log into the array; used in several perl scripts to issue array commands remotely

fixdelegated.sh (fixdelegated.zip) edit

- checks actual used space (total of all ReplicatSetSite) against reported used space (ReplicaSiteSpaceUsed) for replicas; in case of mismatch, smpsets new (calculated) value for reported used space - operates only at SNMP/MIB level; doesn't check for usage details in lower layers - prompts for confirmation before doing the actual snmpset; useful to check for space descrepancies - runs on the array, hence uses snmpwalk, but can be modified to use SNMP file in diags

fixpasswd.sh edit

- resets ALL passwords on the array to defaults; script runs on the array

forceLVFlag edit
fromepoch.pl edit

- generates human readable time from epoch time; useful when checking timestamps - use in .bashrc -> alias epoch='/home/dept/Sustain/tools/fromepoch.pl'

FULLmemlivedump.sh edit

- runs on the array and ftps (large) livememdump file to destination server - the ftp does an online dd (to dump the memory) of 64k block sizes, and then ftps individual blocks to destination gz file -- ftp> put |"dd if=/dev/mem bs=64k |gzip -9c" sea55-livememdump.gz -- local: |dd if=/dev/mem bs=64k |gzip -9c remote: sea55-livememdump.gz

getpage (also see cksumpage_OLD.sh) edit

- function file used by the cksumpage_OLD.sh; OBSOLETE; use cksumpage.sh

gettranslog.sh edit

- utility to retrieve the IOM transaction log from array - runs on array; uses ftp to download the IOM_XTION_LOG_VOL (/dev/eqliomlv1) to local machine

GetVolPages.tcl edit

- parses Report file and determines if there are duplicate pages in a group - Ex: /home/dept/Sustain/tools/GetVolPages.tcl /home/dept/Support/Montpelier/2008-10-15/bma-pequal-2-1-Wed20081015121141ADT-Report.txt - useful for versions lower than 3.x

01/02/2008 04:05 PM 2,278 groupping.zip

iomlog edit

- (tdb) - also check readlogs script - also check: http://dewiki.mht.amer.dell.com/wiki/index.php/Transaction_Log_Overview

list-schedules-v50.tcl (also refer: list-schedules-v40.tcl -> obsolete) edit

- parses the SNMPwalk output file to get Snapshot schedules associated with individual volumes

manualdecodestack.sh edit

- DEPRECATED - use decodestack.sh instead

map_pages.py edit

- another utility for finding duplicate pages in a group (also refer GetVolPages.tcl) - typically used as in conjunction with (outout of) "check_pages" utility ((http://dewiki.mht.amer.dell.com/wiki/index.php/Group_Tools))

mbuf_tester.sh edit

- checks array for mbuf usage; runs on long terms (Sleeping for 2 hours) - uses the memlivedump.sh to periodically ftp memdump to local array

mbuf-monitor.tar edit

- utility to check for mbufs on an array; consists of set of scripts to monitor mbufs and ftp mempry dump to specified remote location - uses: mbufmon.sh, memlivedump.sh, ftpfile, mbuf-monitor-readme.txt

memdump.sh edit

- runs (in a while loop) on the array; checks vmstat output for specific values, and ftps results to remote location; requires use of ftpfile - can be modified to check for any vmstat parameters

miniDiag1.sh edit

- output of very limited set of commands on the array; useful to get quick diag output; doesn't store in any output file

missing_pages.sh edit

- parses Report file to identify volume missing pages; generates a script that can repair the missing pages - depends on diag_check_pages (http://dewiki.mht.amer.dell.com/wiki/index.php/Group_Tools) - useful only on Fw version +3.x

monitor_vm.pl edit

- (tbd)

mr.vimrc edit

- example vimrc (?!)

mydiags.pl edit

- telnets to an array, deletes old diags, gathers new diags, then ftps them to local server and unpacks them - input parameters: array IP, username, passwword

ndr_times.sh edit

- parses Report file and extracts time taken per component/subsystem/process during an NDR; uses dmesg

pagecksum edit

- another utility to generate checksum of specific page in specific volume; also looks at snapshots of volume - (also refer cksumpage.sh)

rclean edit

- cleans the /pss/rc.lcl from both controllers on an array; useful to reset startup events - rc.lcl: executed on every reboot; typically events survive application restarts, but not reboots. To ensure (user) specific events persist across boots, specify them in the /pss/rc.lcl

readlogs edit

- (tdb) - also check iomlog script

RebuildSched edit

- parses SNMPwalk file and generates a Cli script to regenerate Snapshot schedules - Ex: RebuildSched /home/dept/Support/Montpelier/2008-10-15/bma-pequal-2-1-Wed20081015121141ADT-SNMPWalk.txt

retrans.pl edit

- scans "nstat_test -p iscsi" section in Report file and calculates retransmit percentages for active connections - useful in troubleshooting network issues

reverselines edit

- shell script to read in all lines of a file and print them in reverse order ( where/why/when is it used?)

setdump.sh edit

- utility to enable memory dump feature on array; runs on the array and ftps dump to remote location; edits config.txt on both controllers to enable dumps

snmpset-sample.sh edit

- sample script to utilize snmpset on array

split-report.sh edit

- useful utility to splite the Report files into separate txt files depending on various sections - outputs several TXT files: iscsi_info.txt, disk_and_raid.txt, dump_file1.txt, etc

unreset-pre4.1.sh (urstp41.tar) edit

- utility to UNRESET an array that was cleared using the RESET command; this is only for FW version pre4.1 - refer unreset.sh for FW 4.x and higher (http://dewiki.mht.amer.dell.com/wiki/index.php/Unreset)

vm-monitor.tar edit

- set of scripts that monitor memory usage on array and invoke a live memory dump if the usage exceeds a pre-defined number of allocated pages (500) - includes vmmon.sh, memlivedump.sh, ftpfile

wireshark_new.sh edit

- cool utility to gather network traces from array - uses nstat_test to capture TCP dumop from eth i/f; also tracks space usage for output "pkt.dmp" file, and if it grows large kills the nstats_test process - wireshark.sh == DON'T USE

Set of scripts for Drive Failure analysis: parses diags to generate these reports edit

- /home/dept/Sustain/tools/diag-tools - version controlled - drive-failure-analysis.py - EQLLogMgr.py / EQLLogMgr.pyc - EQLReport.py / EQLReport.pyc - preemptive-drive-failure-analysis.py - stuck-slot-analysis.py - ToolWrapper.py / ToolWrapper.pyc

member-volume-contribution.py edit

- parses diags to generate information regarding current member's contribution to volumes which have pages on this member - also refer: http://dewiki.mht.amer.dell.com/wiki/index.php/Diags_Parsing_Tools