Navisphere Development - Company Confidential 11/12/01 1
Navisphere CLI Command Set
In Engineering Mode Functional Specification Navisphere Development - Company Confidential 11/12/01 2 REVISIONS .......................................................................................................... 3 INTRODUCTION .................................................................................................. 3 COMMANDS ........................................................................................................ 3 navicli accesscontrol messner -loginhba UID....................................................................................4 navicli accesscontrol messner -logouthba UID..................................................................................4 navicli arraysernum [-messner]............................................................................................................4 navicli arraysernum messner ArraySerialNumber...........................................................................4 navicli arraysernum messner unisysformat ArraySerialNumber .................................................5 navicli chglun messner l lun -makepublic........................................................................................5 navicli cru_on_off messner cru-number [0|1]....................................................................................5 navicli getagent messner......................................................................................................................5 navicli getlun messner stack..............................................................................................................6 navicli managefiles messner put localfile arraydirectory...............................................................6 navicli mirrorview messner syncrate rate .......................................................................................6 navicli modeselect messner filename [-info] ......................................................................................6 navicli modesense messner page-number page-length [-info] ..........................................................7 navicli ndu messner install ndupathfilename [--force] --nocheck..................................................7 navicli ndu messner uninstall namelist ............................................................................................7 navicli ndu messner uninstallinactive ..............................................................................................8 navicli port messner list.....................................................................................................................8 navicli remoteconfig -messnergetconfig -megapoll .........................................................................10 navicli remoteconfig messner setconfig megapoll 0|1..................................................................10 navicli remoteconfig messner stop..................................................................................................11 navicli responsetest phonehome .......................................................................................................11 navicli storagegroup -messner list [-default (Engineering Mode only)] [gname GroupName| uid StoragegroupUID]........................................................................................................................11 navicli storagegroup -messner -makedefault [-o] gname GroupName|uid StoragegroupUID.11 navicli systemtype messner ...............................................................................................................11 navicli trace -messner transact-[severity_number][,[qualifier_list]]...............................................11 navicli unbind -messner.......................................................................................................................12 navicli zerodisk messner disklist [start|stop|status|getzeromark]..................................................13 Navisphere Development - Company Confidential 11/12/01 3 REVISIONS Jagdish Garg x7730 10/03/00 Rev 0 First draft Scott Kay 10/05/01 Rev 1.0 Updates for 5.3 INTRODUCTION This document describes the Navisphere CLI commands that run in engineering mode only. Information is collected from different documents and from source code to create this document. No other concrete document is available for these commands i. e these commands are not listed in help file or NaviCLI manual. This document contains all those engineering mode commands that are already coded and tested. New commands will be added later if there will be any. The syntax in this document will be very basic. Goal of this document is to provide basic information about these commands to a user who knows CLI well enough. COMMANDS accesscontrol -loginhba UID -logouthba UID arraysernum ArraySerialNumber -unisysformat ArraySerialNumber chglun -makepublic cru_on_off cru-number [0|1] getagent getlun stack managefiles -put localfile arraydirectory mirrorview -syncrate Rate [low|medium|high|0-3600] modeselect filename [-info] modesense page-number page-length [-info] ndu -nocheck -uninstall Namelist -uninstallinactive Navisphere Development - Company Confidential 11/12/01 4 port -list remoteconfig -getconfig -megapoll -setconfig -megapoll 0/1 -interval interval -stop responsetest -phonehome storagegroup -list -default -makedefault [-o] gname GroupName|uid StoragegroupUID systemtype [-config sysType(in hex)] [-o] trace transact-[severity_number][,[qualifier_list]] unbind zerodisk disklist [start|stop|status|getzeromark] navicli accesscontrol messner -loginhba UID This command attempts to log in the specified hba. The following prompt will occur if a password for the array exists: Password: Login this HBA? (y/n): And proceed if y navicli accesscontrol messner -logouthba UID This command attempts to log out the specified hba. navicli arraysernum [-messner] This command displays serial number of an array if no other argument is specified. arraysernum messner Array Serial Number:F20003400873 navicli arraysernum messner ArraySerialNumber This command attempts to set array serial number of an array to the special serial number. This command reboots the array. Navisphere Development - Company Confidential 11/12/01 5 arraysernum -messner A23456 Warning: Changing the system serial number will cause an immediate reboot of the array and a new Fibre Channel WWN to be created. This command will fail if the write cache is not in the disabled state and if any I/O is outstanding. Console shall be disabled for 60 seconds to allow Flare re-boot. Change Array serial number from F20003400873 to A23456 (y/n)? Answering yes changes the serial number and reboots the array. Answering no does nothing. navicli arraysernum messner unisysformat ArraySerialNumber This command attempts to set array serial number of an array to the special serial number. This command reboots the array. The unisysformat switch allows one to enter hyphens (-) in the arrayserialnumber. arraysernum -messner unisysformat 12-345-6789 Warning: Changing the system serial number will cause an immediate reboot of the array and a new Fibre Channel WWN to be created. This command will fail if the write cache is not in the disabled state and if any I/O is outstanding. Console shall be disabled for 60 seconds to allow Flare re-boot. Change Array serial number from F20003400873 to 12-345-6789 (y/n)? Answering yes changes the serial number and reboots the array. Answering no does nothing. navicli chglun messner l lun -makepublic This command attempts to convert a private logical unit to public. After executing the command, it does a poll. chglun -messner -l 0 -makepublic LUN should not be consumed to make it public. navicli cru_on_off messner cru-number [0|1] This command attempts to turn a CRU on or off. 0 Turn Off 1 Turn On navicli getagent messner This command displays the hostid as part of outputted information. Normally getagent does not display the hostid. V:\cli++>navicli -h 10.14.12.207 getagent -messner getagent -messner getagent Host ID: dfd70458-e46a-4eb9-90a8- 08bd1e2ed4b1 Agent Rev: 5.3.0 (7.0) Agent Rev: 5.3.0 (7.0) Name: CD_2adf2945 Desc: "DGC 0531 2adf2945" Navisphere Development - Company Confidential 11/12/01 6 Name: CD_2adf2945 Desc: "DGC 0531 2adf2945" Node: \\.\SCSI2:0:2:0 Signature: 719268165 Peer Signature: 2227601989 Revision: 5.31.00 SCSI Id: 0 Model: 4400 Model Type: Deskside Prom Rev: 1.05.00 SP Memory: 512 Serial No: m10005800021 SP Identifier: A Cabinet: DPE Node: \\.\SCSI2:0:2:0 Signature: 719268165 Peer Signature: 2227601989 Revision: 5.31.00 SCSI Id: 0 Model: 4400 Model Type: Deskside Prom Rev: 1.05.00 SP Memory: 512 Serial No: m10005800021 SP Identifier: A Cabinet: DPE navicli getlun messner stack This command displays the list of drivers where the logical unit is stacked. This command is applicable on private logical units only. V:\cli++>cli -h cpc42120 getlun -messner -stack LOGICAL UNIT NUMBER 1 List of Driver: K10SnapCopyAdmin LOGICAL UNIT NUMBER 2 List of Driver: K10SnapCopyAdmin navicli managefiles messner put localfile arraydirectory This command puts a file on to the array in one of the predefined directories. It does not check format or use of the file. Localfile File Name with absolute pathname to be copied. Arraydirectory Directory Name where the file should be copied. Enter one of the three - ndu, log, or dump. navicli mirrorview messner syncrate rate This command sets the sync rate for mirrorview. The rate can be designated as low, medium or high or entered as a number between 0-3600 seconds. rate low|medium|high with low being the fastes rate (0) 0 - 3600. low = 0, medium = 1800 and high = 3600. navicli modeselect messner filename [-info] Navisphere Development - Company Confidential 11/12/01 7 This command puts a file on to the array in one of the predefined directories. It does not check format or use of the file. filename modeselect input file. See below for details. -info Displays help screen for modesense and modeselect commands. CLI modesense/select - help screen ---------------------------------- A few pointers for using the modesense/modeselect commands... 1. All values are in hex... this includes: - the page-code, - the page-length, - modesense output, - and the modeselect input file. 2. When doing a modesense, if you are not getting the entire page back, you need to add 10(0xa) to the page length value listed in the scsi spec. 3. Recommended procedure to do a modeselect: a. use modesense and redirect output to a file b. edit file, zero out the first 8 bytes, and make any necessary changes to fields c. save file, and use in modeselect 4. There cannot be any blank lines within the modeselect input file. 5. USE THESE COMMANDS AT YOUR OWN RISK!!! navicli modesense messner page-number page-length [-info] This command puts a file on to the array in one of the predefined directories. It does not check format or use of the file. Page-number Page number whose information is needed in hex. Page-length Length of the page in hex. -info Displays help screen for modesense and modeselect commands as shown in modeselect command above. navicli ndu messner install ndupathfilename [--force] --nocheck This command performs an ndu without verifying the packages version dependencies. ndupathfilename Path of ndu package to download to array. -force Will procede with the NDU without asking the user any questions. navicli ndu messner uninstall namelist This command removes NDU packages from the selected array. namelist List of packages to remove from the array. Navisphere Development - Company Confidential 11/12/01 8 navicli ndu messner uninstallinactive This command removes all inactive NDU packages from the selected array. navicli port messner list This command lists the host id information. Normally the port list command does not include this data. The highlighted portion below does not appear unless engineering mode is specified. Information about each HBA: HBA UID: 20:00:00:00:C9:29:0F:17:10:00:00:00:C9:29:0F:17 Server Name: nlpc12214 Server IP Address: 10.14.12.214 Host ID: 5bae6bdc-5ab8-11d5-bf0d-00b0d0235362 HBA Model Description: CLARiiON LightPulse, Fabric, FC Driver v4-2.11a0 HBA Vendor Description: DGC HBA Device Driver Name: elxsli2 Information about each port of this HBA: SP Name: SP B SP Port ID: 0 HBA Devicename: \\.\SCSI1:0:0:0 Trusted: NO Logged In: NO Defined: YES Initiator Type: 3 StorageGroup Name: None Information about each HBA: HBA UID: 20:00:00:00:C9:29:0D:F3:10:00:00:00:C9:29:0D:F3 Server Name: nlpc12214 Server IP Address: 10.14.12.214 Host ID: 5bae6bdc-5ab8-11d5-bf0d-00b0d0235362 HBA Model Description: CLARiiON LightPulse, Fabric, FC Driver v4-2.11a0 HBA Vendor Description: DGC HBA Device Driver Name: elxsli2 Information about each port of this HBA: SP Name: SP A SP Port ID: 0 HBA Devicename: \\.\SCSI2:0:0:0 Trusted: NO Logged In: NO Defined: YES Initiator Type: 3 StorageGroup Name: None Information about each HBA: Navisphere Development - Company Confidential 11/12/01 9 HBA UID: 20:00:00:00:C9:29:0D:FA:10:00:00:00:C9:29:0D:FA Server Name: nlpc12213 Server IP Address: 10.14.12.213 Host ID: f0e23640-d150-4133-af73-d70d131df19e HBA Model Description: CLARiiON, LP9000 Series PCI FC HBA, Fabric, v5-2.11a HBA Vendor Description: DGC HBA Device Driver Name: elxsli2 Information about each port of this HBA: SP Name: SP B SP Port ID: 0 HBA Devicename: \\.\SCSI3:0:2:0 Trusted: NO Logged In: NO Defined: YES Initiator Type: 3 StorageGroup Name: Scotts_1 SP Name: SP B SP Port ID: 1 HBA Devicename: Trusted: NO Logged In: NO Defined: YES Initiator Type: 3 StorageGroup Name: Scotts_1 Information about each HBA: HBA UID: 20:00:00:00:C9:29:0E:A5:10:00:00:00:C9:29:0E:A5 Server Name: nlpc12215 Server IP Address: 10.14.12.215 Host ID: 2c474de4-2bfe-4d18-8625-a2558b9f36db HBA Model Description: CLARiiON, LP9000 Series PCI FC HBA, Fabric, v5-2.11a HBA Vendor Description: DGC HBA Device Driver Name: elxsli2 Information about each port of this HBA: SP Name: SP A SP Port ID: 0 HBA Devicename: \\.\SCSI3:0:3:0 Trusted: NO Logged In: NO Defined: YES Initiator Type: 3 StorageGroup Name: Storage Group 1 SP Name: SP B SP Port ID: 0 HBA Devicename: \\.\SCSI3:0:0:0 Trusted: NO Logged In: NO Defined: YES Navisphere Development - Company Confidential 11/12/01 10 Initiator Type: 3 StorageGroup Name: Storage Group 1 Information about each SPPORT: SP Name: SP A SP Port ID: 0 SP UID: 50:06:01:60:88:02:A7:A7:50:06:01:60:11:02:A7:A7 Link Status: Up Port Status: Online Switch Present: YES Switch UID: 50:06:01:60:88:02:A7:A7:50:06:01:60:11:02:A7:A7 SP Source ID: 0 SP Name: SP A SP Port ID: 1 SP UID: 50:06:01:60:88:02:A7:A7:50:06:01:61:11:02:A7:A7 Link Status: Down Port Status: DISABLED Switch Present: NO SP Name: SP B SP Port ID: 0 SP UID: 50:06:01:60:88:02:A7:A7:50:06:01:68:11:02:A7:A7 Link Status: Up Port Status: Online Switch Present: YES Switch UID: 50:06:01:60:88:02:A7:A7:50:06:01:68:11:02:A7:A7 SP Source ID: 0 SP Name: SP B SP Port ID: 1 SP UID: 50:06:01:60:88:02:A7:A7:50:06:01:69:11:02:A7:A7 Link Status: Down Port Status: DISABLED Switch Present: NO navicli remoteconfig -messnergetconfig -megapoll This command displays whether Mega Poll is enabled or disabled. This is not a valid switch on K10. Mega-Poll Use explicit device names Enabled/Disabled navicli remoteconfig messner setconfig megapoll 0|1 This command enables or disables Mega Poll. This is not a valid switch on K10. 0 Disable 1 Enable Navisphere Development - Company Confidential 11/12/01 11 navicli remoteconfig messner stop This command stops the agent on a K10 array. navicli responsetest phonehome This command is for phone home reponse. navicli storagegroup -messner list [-default (Engineering Mode only)] [ gname GroupName|uid StoragegroupUID] In Engineering Mode, list sub-command displays Null, Management, or Physical storage groups also besides other storage groups. Also -default option of list sub-command is specified in Engineering Mode only and it displays default storage group. navicli storagegroup -messner -makedefault [-o] gname GroupName|uid StoragegroupUID This command will set the specified group name to be the default storage group. If the o switch is present, navicli will proceed with the attempt. If not, navicli will ask: Change the storage group default from OldGroupNameDefault to NewGroupName? (y/n): And proceed if y is entered. Answering n does nothing. navicli systemtype messner This command is in engineering mode only for Dell and SGI versions of NaviCLI. Use help from NT client. navicli trace -messner transact-[severity_number][,[qualifier_list]] This command is a driver interface level (i. e transact) tracing capability from the navicli. To see all activity transpiring from the agent to driver (and vice versa), use one of the following examples. Special Instructions: Do not misspell any qualifiers, there is no verification (yet) Do not leave tracing on (if going to a file). It will eat much disk space Release agent trace goes to c:\dumps\naviagent.<date>.log by default Debug agent trace goes to window by default Tracing can significantly impact agent performance See /connect/transact.cxx function _dump() for other qualifiers The tag field (in the TLD dump) should be crossed referenced with the headers: /connect/k10driver/K10Tags.h: k10 level info /connect/k10driver/*Export.h: layered driver tags (snapview, mirrorview, ndu, etc) /connect/tlddef.hxx: legacy (pre-k10) tags Unfortunately, the navicli can only send these AFTER agent startup, so all startup transacts are not traced. However, there is a backdoor way to see startup trace. From the DOS window (in debug mode), set the variable DUMP to the above qualifiers (the strings Navisphere Development - Company Confidential 11/12/01 12 after the severity). The qualifier syntax is the same as in navicli. In release mode, set system variable DUMP (or mess with the registry) Example 1: To trace all transactions in full: navicli trace -messner transact-0 Example 2: To trace all transactions by summary navicli trace -messner transact-0,verbose:summary Example 3: To turn off transact trace navicli trace -messner transact-10 Example 4: To trace only "send" transactions by summary navicli trace messner transact-0,direction:send,verbose:summary Example 5: To trace only "receive" transactions in full navicli trace -messner transact-0,direction:receive Example 6: To trace only "send mode_sense" transactions navicli trace -messner transact-0,direction:send,operation:mode_sense Example 7: To trace only "send mode_sense page 0x31" transactions navicli trace -messner transact-0,direction:send,operation:mode_sense,page:49 Note: for now, page must be entered in decimal, NOT hex Example 8: To trace only "send mode_sense EXCEPT page 0x31" transaction summary navicli trace -messner transact-0,direction:send,operation:mode_sense,page:- 49,verbose:summary Example 9: To trace only "receive" returning with tag=0x31 navicli trace -messner transact-0,direction:receive,tag:49,verbose:dump Note: for now, page must be entered in decimal, NOT hex "tag" qualifier needs dump verbose mode navicli unbind -messner There is no change in syntax for this command in engineering mode. Use messner to unbind a non existent logical unit. This is primarily used for PSM failures. Also, use messner to unbind private logical unit on a K10 array. Navisphere Development - Company Confidential 11/12/01 13 navicli zerodisk messner disklist [start|stop|status|getzeromark] This command zero out the specified disks. This is very dangerous command because data cannot be recovered. Use carefully. Start Start zeroing out the specified disks. Stop Stop zeroing out the specified disks. Status Current status of zeroing out. Getzeromark Returns zeromark status. If 0 and status is not running then a zerodisk has completed.