Skip to main content

About the different shells for CLI commands overview (cluster administrators only)

Contributors netapp-thomi netapp-ahibbard

The cluster has three different shells for CLI commands, the clustershell, the nodeshell, and the systemshell. The shells are for different purposes, and they each have a different command set.

  • The clustershell is the native shell that is started automatically when you log in to the cluster.

    It provides all the commands you need to configure and manage the cluster. The clustershell CLI help (triggered by ? at the clustershell prompt) displays available clustershell commands. The man command_name command in the clustershell displays the man page for the specified clustershell command.

  • The nodeshell is a special shell for commands that take effect only at the node level.

    The nodeshell is accessible through the system node run command.

    The nodeshell CLI help (triggered by ? or help at the nodeshell prompt) displays available nodeshell commands. The man command_name command in the nodeshell displays the man page for the specified nodeshell command.

    Many commonly used nodeshell commands and options are tunneled or aliased into the clustershell and can be executed also from the clustershell.

  • The systemshell is a low-level shell that is used only for diagnostic and troubleshooting purposes.

    The systemshell and the associated “diag” account are intended for low-level diagnostic purposes. Their access requires the diagnostic privilege level and is reserved only for technical support to perform troubleshooting tasks.

Access of nodeshell commands and options in the clustershell

Nodeshell commands and options are accessible through the nodeshell:

system node run –node nodename

Many commonly used nodeshell commands and options are tunneled or aliased into the clustershell and can be executed also from the clustershell.

Nodeshell options that are supported in the clustershell can be accessed by using the vserver options clustershell command. To see these options, you can do one of the following:

  • Query the clustershell CLI with vserver options -vserver nodename_or_clustername -option-name ?

  • Access the vserver options man page in the clustershell CLI with man vserver options

If you enter a nodeshell or legacy command or option in the clustershell, and the command or option has an equivalent clustershell command, ONTAP informs you of the clustershell command to use.

If you enter a nodeshell or legacy command or option that is not supported in the clustershell, ONTAP informs you of the “not supported” status for the command or option.

Display available nodeshell commands

You can obtain a list of available nodeshell commands by using the CLI help from the nodeshell.

Steps
  1. To access the nodeshell, enter the following command at the clustershell's system prompt:

    system node run -node {nodename|local}

    local is the node you used to access the cluster.

    Note

    The system node run command has an alias command, run.

  2. Enter the following command in the nodeshell to see the list of available nodeshell commands:

    [commandname] help

    commandname is the name of the command whose availability you want to display. If you do not include commandname, the CLI displays all available nodeshell commands.

    You enter exit or type Ctrl-d to return to the clustershell CLI.

Example of displaying available nodeshell commands

The following example accesses the nodeshell of a node named node2 and displays information for the nodeshell command environment:

cluster1::> system node run -node node2
Type 'exit' or 'Ctrl-D' to return to the CLI

node2> environment help
Usage: environment status |
     [status] [shelf [<adapter>[.<shelf-number>]]] |
     [status] [shelf_log] |
     [status] [shelf_stats] |
     [status] [shelf_power_status] |
     [status] [chassis [all | list-sensors | Temperature | PSU 1 |
     PSU 2 | Voltage | SYS FAN | NVRAM6-temperature-3 | NVRAM6-battery-3]]