Accessing NetApp Controllers (DRAFT)

Overview

There are three basic ways to communicate with the NetApp RAID controllers used in various DXi configurations.

 

  • Serial

  • Network

  • In-band

Each of these methods are described in more detail below. Currently the DXi6800, DXi7500 and DXi8500 series systems have NetApp RAID controllers. These controllers are known by a variety of names, Engenio, Matterhorn, Snowmass, 3992, 4980, 2660 etc.

 

Depending on the system and circumstances, not all of these methods will be available. However, these instructions will help decide which options are available of can be made available and provide access to the controller.

 

Note: SANtricity is another method to connect to the controllers and is covered in separate topics.

 


Serial

 

Serial is the most basic form of access but requires physical access to the controller using a special cable so is rarely used. Most Field Engineers (FEs) were issued with the cables, but their infrequent use may mean that many have been lost or forgotten. The cable connects from the serial port of a laptop to the round, 9-pin serial connector on the back of the controller and is described in the DXi7500 Field Service Manual as a "dongle":

 

 

 

Note that this access method only permits direct access to the controller. You won't be able run any SMcli commands using this method.

 


Network

 

This is the usual way that access is gained to the controller, as it can usually be accessed directly from the DXi node and so can be used via SCG or WebEx without the need for onsite assistance.

 

Network access allows SMcli commands to be sent to the controller for execution and also allows you to log directly on to the controller via telnet. (Username/password = shellUsr/wy3oo&w4).

 

The network names and IP addresses can be found in /etc/hosts of the DXi node. Note that there may be more addresses in the hosts file than are actually present on the DXi depending on the capacity configured.

 

SMcli commands should be directed to the appropriate network name or IP, for example:

 

              SMcli Qarray1a -S -c "show allDrives;"

or

              SMcli 10.17.21.31 -S -c "show allDrives;"

 

 

Note that for DXi6800 series, there is no permanent network connection between the node and the RAID controllers. If network access is needed (ie serial and in-band are unavailable) an FE or obliging Customer will need to connect the node service port to the controller requiring service using a network cable. The network cable should be connected Port 1, the left most port. The controllers should be on IP addresses 10.17.21.31, 33 or 35 dependant on which expansion array they are but may also be on 10.17.21.37. The address configured will appear in the "CONTROLLERS" section of a storageArrayProfile.txt in a storage collect. ("IP address:" for "Ethernet Port: 1").

 

 

 


In-band

 

This uses the data connection to the controllers (SATA or SAS), so it should always be available on all systems if the data connection is up. (This may not be the case depending on the problem under investigation).

 

In-band SMcli commands are directed to the controller via it's name or WWID, for example:

 

              SMcli -w 60080e5000376ede0000000051533410 -S -c "show allDrives;"

 

To list the known arrays and their IDs use:

 

              SMcli -d -w -S

 

The disadvantage of in-band communication is that it doesn't provide a facility to log on to the controller directly, which is sometimes required.

 

 


Useful SMcli Commands

This list is by no means comprehensive and in no particular order and only includes the more common and safer commands that are typically used in service calls. The examples use a network connection to Qarray1a but equally an in-band command using the wwID could be used.

 

Autodiscover all arrays from the node :

 

SMcli –A

 

Check status of known arrays :

 

              SMcli -d –v

 

List known arrays and their world wide ID :

 

              SMcli -d -w -S

 

Delete old/unresponsive/bogus arrays with :

 

              SMcli –X –n <ArrayName>

 

Start and stop a failure indicator blinking to locate a drive :

 

              SMcli Qarray1a -S -c "start drive [$TRAY,$DISK] locate;"

              SMcli Qarray1a -S -c "stop drive locate;"

 

Check health :

 

SMcli Qarray1a -c "show storageArray healthStatus;"

 

Show a drive’s status :

 

SMcli Qarray1a -S -c "show drive [$TRAY, $DISK ];"

 

To show all drive or volume status (add “summary” before “;” to eliminate the details) :

 

SMcli Qarray1a -S -c "show allDrives;"

SMcli Qarray1a -S -c "show allVolumes;"

 

From the allVolumes summary use the volume group associated with the volume name you’re interested in to get that groups status including hot spare usage and previous location of any missing/failed drives :

 

SMcli Qarray1a -S -c "show volumeGroup [<group number>];"

 

To show all the array information :

 

SMcli Qarray1a -S -c "show storageArray;"

 

Manually set a drive into a failed status and then back into a good state

 

SMcli Qarray1a -p 'Qa@Ar39!' -S -c "set drive [$TRAY,$DISK] operationalState=failed;"

SMcli Qarray1a -p 'Qa@Ar39!' -S -c "set drive [$TRAY,$DISK] operationalState=optimal;"

 

To assign or unassign a drive to be a hot spare :

 

              SMcli Qarray1a -p 'Qa@Ar39!' -S -c "set drive [$TRAY,$DISK] hotSpare=true;"

SMcli Qarray1a -p 'Qa@Ar39!' -S -c "set drive [$TRAY,$DISK] hotSpare=false;"

 

To redistribute the volumes to their preferred paths :

 

SMcli –n Qarray1a –S –p Qa@Ar39! –c “reset storageArray volumeDistribution;”

 

To change the array password :

 

SMcli Qarray1a -p 'Qa@Ar38!' -S -c "set storageArray password=\"Qa@Ar39!\";”

 

To get the MEL from a controller to a file :

 

SMcli Qarray1a -c 'save storageArray allEvents file="/tmp/mel1a.log";'

 

To disable/enable media scans on a controller :

 

              SMcli Qarray1a Qarray1b -p 'Qa@Ar39!' -S -c "set allVolumes mediaScanEnabled=FALSE;"

              SMcli Qarray1a Qarray1b -p 'Qa@Ar39!' -S -c "set allVolumes mediaScanEnabled=TRUE;"

              SMcli Qarray1a Qarray1b -p 'Qa@Ar39!' -S -c "set allVolumes redundancyCheckEnabled=TRUE;"

 

Reset the battery installation date:

 

              SMcli Qarray1a -p Qa@Ar39! -S -c "reset storageArray batteryInstallDate controller=A;"

 

Check for and (once resolved) clear unreadable sectors :

 

SMcli Qarray1a -S -c "show storageArray unreadableSectors;"

SMcli Qarray1a -p "Qa@Ar39!" -S -c "clear allVolumes unreadableSectors;"

 


 

 



This page was generated by the BrainKeeper Enterprise Wiki, © 2018