IBM Books

Hardware Planning and Control Guide


Remote console software and configuration

Once cluster hardware and networking is configured as required, CSM software must be installed and configured to enable remote console functions. The installms command installs the required csm.server package, including the /opt/csm/bin/rconsole remote console command, on the management server. For detailed CSM installation instructions, see the IBM CSM for Linux: Software Planning and Installation Guide. For detailed command usage information, see the installms, rconsole, and definenode man pages or the IBM CSM for Linux: Administration Guide.


Remote console software

The CSM management server communicates with the specific console server types described in this book through the provided console server commands. The management server can communicate with other console server types through customized programs and scripts. Each program or script must communicate to the console server, make the request for the console functions, and return the action request results to the user.


Remote console configuration

IBM supports CSM remote console software environments for the following third-party console server types:

The rconsole ConsoleMethod attribute specifies the software environment used for remote console: cps, computone, conserver, els, or esp. Each ConsoleMethod type also has a corresponding ConsoleMethod_console command that the rconsole command communicates with to control remote console functions. The following table describes the console server types that can be used with CSM, and their associated console method attribute and command.

Table 3. Console server attributes

Console server type ConsoleMethod value ConsoleServerNum value ConsolePortNum value
Equinox ELS-16 II els not applicable 1-16
Equinox ESP-8; ESP-16 esp 1 or more (returned by espcfg) 0-7; 0-f
other conserver not applicable not applicable
Computone IntelliServer RCM8, RCM24, and RCM48 computone not applicable 1-8; 1-24; 1-48
Avocent CPS1600 cps not applicable 1-16

For more information about these console servers, see the product Web site URLs in Related information.

Remote console depends on file changes being made on each node to direct the console to the node's serial port. These changes, shown in the two examples below, are made automatically when the csm.client package is installed on a node. Remote console is activated when the following lines of code in bold text have been added to the lilo.conf, grub.conf, and inittab files during csm.client installation:

  1. /etc/lilo.conf file:
    boot=/dev/sda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    message=/boot/message
    linear
    default=linux
    serial = 1,9600n8
    append = "console=tty1 console=ttyS1,9600"
     
    image=/boot/vmlinuz-2.4.2-2smp
            label=linux
            initrd=/boot/initrd-2.4.2-2smp.img
            read-only
            root=/dev/sda8
     
    image=/boot/vmlinuz-2.4.2-2
            label=linux-up
            initrd=/boot/initrd-2.4.2-2.img
            read-only
            root=/dev/sda8
    
  2. /etc/grub.conf file:
    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/sda5
    #          initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    serial = 1,9600n8
    append = "console=tty1 console=ttyS1,9600"
    timeout=10
    splashimage=(hd0,0)/grub/splash.xpm.gz
    title Red Hat Linux (2.4.7-10smp)
            root (hd0,0)
            kernel /vmlinuz-2.4.7-10smp ro root=/dev/sda5
            initrd /initrd-2.4.7-10smp.img
    title Red Hat Linux-up (2.4.7-10)
            root (hd0,0)
            kernel /vmlinuz-2.4.7-10 ro root=/dev/sda5
            initrd /initrd-2.4.7-10.img
    
  3. /etc/inittab file:
    s1:345:respawn:/sbin/agetty 9600 ttyS1 xterm
    

See the IBM CSM for Linux: Software Planning and Installation Guide for software installation details.

Remote console hardware configuration

Attention!

The hardware configuration tips in this section are provided as a convenience only. These tips are not a replacement for reading and using the installation and configuration documentation provided with the specified remote console hardware.

ELS configuration

  1. Connect a serial terminal or terminal emulator to port 1 of the ELS console device. Set the terminal to 9600 bps; 8-bit data; No Parity; 1 stop bit. Press the return key to get an ELS login prompt.
  2. Login as root. IBM suggests changing the default user IDs and passwords shipped with external devices since failure to do so could compromise cluster security.
  3. At the "Local" prompt enter privileged mode by typing "set priv". When prompted for a password, enter "system".
  4. Reset the current ELS configuration by entering "init database".
  5. Enter the following required information:
    change server ip <desired IP address of ELS>
    change server subnet mask <desired mask>
    change node gw ip <default gateway IP address> gateway en
     
    

    For example:

    change server ip 123.45.67.89
    change server subnet 255.255.255.0
    change node gw ip 123.45.67.1 gateway en
    
  6. Disconnect the serial terminal and connect the ELS to the network. Telnet to the ELS and press return to get a "#" prompt. Type "access" to get a "Local" prompt, then enter the "set priv" command and password as described in step 3.
  7. The ELS ports must be set to Reverse Telnet mode to work properly with CSM remote console. Set the ELS ports to Reverse Telnet by entering the following:
    define port 1-16 access remote 
    define port 1-16 flow control xon 
    define port 1-16 speed 9600 lo port 1-16
    
  8. Enter "exit" to quit.

ESP configuration

The ESP console device requires the installation of software and drivers that are shipped with the device. Once these are installed the device can be configured using the espcfg command. Refer to the ESP device installation instructions for details.

CPS configuration

The CPS 1610 console device requires a firmware level of 1.5 or higher to work properly with CSM remote console.

  1. Connect a serial terminal or terminal emulator to port 1 of the CPS console device. Set the terminal to 9600 bps; 8-bit data; No Parity; 1 stop bit. Press return until prompted for a user name.
  2. Enter "Admin" as the user name and press return. Press return again at the password prompt; there is no initial password for the Admin user. IBM suggests changing the default user IDs and passwords shipped with external devices since failure to do so could compromise cluster security.
  3. For initial configuration, the CPS will prompt for an IP address, subnet mask, and Admin password. Enter this information, pressing return after each item.
  4. After all the required information is entered, the configuration will be saved. Complete the network configuration by entering the following command:
    SERVER SET IP=<CPS IP Address> MASK=<subnet mask> GATEWAY=<Default gateway IP address>
    
  5. For CSM remote console to work properly with the CPS console device, user authentication must be disabled for the device by entering the following:
    SERVER SECURITY AUTHENTICATION=NONE
    
  6. Quit by entering "quit". Disconnect the terminal and connect the CPS to the network.

A CPS device does not require explicit configuration to set the ports to Reverse Telnet mode. However, by default the CPS serial Command Line Interface (CLI) is enabled on CPS port 1. Any CPS ports that have the CLI enabled cannot be used for Reverse Telnet, and therefore will not work with CSM remote console. If the default CLI setting is not changed, CPS port 1 will not be available for remote console access. See the CPS documentation for information on the CLI settings.

Computone configuration

The Computone console device requires a firmware level of 1.6.002 or higher to work with CSM remote console.

  1. Connect a serial terminal or terminal emulator to the console port of the Computone console device. Set the terminal to 9600 bps; 8-bit data; No Parity; 1 stop bit. Press return until prompted for a user name.
  2. Enter "root" as the user name and "root" as the password. IBM suggests changing the default user IDs and passwords shipped with external devices since failure to do so could compromise cluster security.
  3. At the prompt, enter "config" to enter the configuration utility. The prompt should change to "config #".
  4. Enter the console device's IP address and subnet mask as follows:
    set ether address <Computone IP Address>/<# of bits in mask>
    

    The device's IP address and subnet mask are entered in a single string. The subnet mask is entered as the number of bits that are set in the mask, and is appended to the IP address by a forward slash (/). Each of the four parts of the subnet mask is composed of eight bits, for a possible maximum of 32 bits set. For example, if the subnet mask is 255.255.255.0, the number of bits set is 8 + 8 + 8 + 0 = 24 bits. If the mask is 255.255.255.192, the number of bits set is 8 + 8 + 8 + 2 = 26 bits. If the device IP address is 123.45.67.89, and the subnet mask is 255.255.255.192, then you would enter the following command:

    set ether address 123.45.67.89/26
    
  5. Enter the default gateway information as follows:
    set gateway 0 destination 0.0.0.0 gateway <Default Gateway IP address>/<# of bits in mask>
    

    The gateway address requires the subnet mask also, and is entered as it was for the device IP address in step 4. If the gateway address is 123.45.67.1, and the subnet mask is 255.255.25.192, enter the command:

    set gateway 0 destination 0.0.0.0 gateway 123.45.67.1/26
    
  6. Configure the serial ports for Reverse Telnet as follows:
    set port 1 type "reverse tcp"
    

    Repeat this step for ports 2 - 8. Note that Computone refers to Reverse Telnet as "Reverse TCP".

  7. Enable the telnet interface as follows:
    set apps telnetd enabled
    
  8. Enter "exit" to return to the system prompt. Enter "save" to save the settings. Enter "exit" once more to terminate the session.
  9. Disconnect the terminal and attach the Computone device to the network.

Conserver configuration

Conserver is an open source package that adds features to console management. Details are available at the Conserver Web site (see Related information). To use Conserver with CSM remote console, the Conserver source code must be downloaded and compiled. The resulting Conserver daemon must be run on the management server, and the Conserver configuration file conserver.cf must be modified to include entries for each of the consoles that will be managed by Conserver. The node names for these entries must match the Hostname attribute in the CSM database, and the ConsoleMethod attribute for each node must be set to "conserver".


Remote console attributes

CSM remote console uses a ConsoleMethod_console command which specifies the type of console servers used in the cluster. When new nodes are defined in the cluster using the definenode command, a ConsoleMethod attribute is set for each new node in the CSM database. The ConsoleMethod attribute dictates which ConsoleMethod_console command rconsole will use for each node.

The ConsoleServerName attribute value specifies the short host name, long host name, or IP address of the console server used for the node.

The ConsoleServerNumber attribute (applicable to Equinox ESPs only) is the number assigned by the Equinox configuration tool when the ESP console is defined. The attribute value is passed from the rconsole command to the esp_console command corresponding to the target node. The attribute value must be the sequence number assigned to the Equinox ESP providing remote console for the target node. The espcfg command displays the current sequence number value.

The console port number ConsolePortNum attribute is passed from the rconsole command to the ConsoleMethod_console command to contact the target node. The console port number is the physical port that the node's serial port is connected to in the console server hardware. See Table 3 for the console server types that can be used with CSM and the ConsoleMethod attribute and ConsoleMethod_console command required for each type.


Using remote console with other hardware

If console server types other than those listed in Table 3 are used, then additional software and configuration is required to enable remote console functions. The ConsoleMethod, ConsoleServerName, ConsoleServerNumber, and ConsolePortNum attributes for each node must be set to the values expected by the corresponding ConsoleMethod_console command. For example, if the ConsoleMethod attribute for a console server is set to termservX, then rconsole would attempt to run /opt/csm/bin/termservX_console to carry out remote console requests.

To use other console servers with CSM the following steps are required. In this example, termservX is used as the ConsoleMethod node attribute value. The termservX_console command is used by the rconsole command to connect to the target node. The console method must print the ConsoleMethod_console command required to connect to the target node through the console server.

  1. Connect the console servers to the management server and nodes on the management VLAN.
  2. Specify a value for the ConsoleMethod node attribute: for example, termservX.
  3. Use the definenode or chnode command to set the ConsoleMethod value for each node to termservX.
  4. Write a Perl or shell command named termservX_console and save the command in the /opt/csm/bin directory on the management server. The termservX_console command must construct the command line required to access the target node's console through the termserver_X hardware and write the command output to stdout. The termservX_console Perl or shell command should have root:system ownership and permissions of 5-0-0.
  5. The rconsole command invokes a termservX_console command, which will be passed the following parameters in the order shown:
    1. ConsoleServerName value
    2. Hostname value
    3. ConsoleServerNumber value
    4. ConsolePortNum value.

Testing remote console hardware control

To ensure that the cluster is configured correctly, all remote console hardware control functions should be tested before using them in a production environment. Run the rconsole command to verify that all nodes are configured correctly and are responding accordingly. See the rconsole man page or the IBM CSM for Linux: Administration Guide for detailed examples.

  1. To view current attribute values for nodes in a cluster, enter the following command on the management server:
    lsnode -l
    

    Output for each node in the cluster is similar to:

    ManagementServer = csmlinux.pok.ibm.com
    Mode = PreManaged
    Name = clsn02.pok.ibm.com
    NodeNameList = {csmlinux.pok.ibm.com}
    PowerMethod = netfinity
    PowerStatus = on
    Status = on
    UniversalId = 0
    UpdatenodeFailed = 0
    ------------------- 
    Hostname = clsn03.pok.ibm.com
    AllowManageRequest = 0 (no)
    CSMVersion =
    ConfigChanged = 0 (no)
    ConsoleMethod = esp
    ConsolePortNum =a
    ConsoleServerName = clsn03.pok.ibm.com
    ConsoleServerNumber =1
    HWControlNodeId = ppsclnt3_NODEID
    HWControlPoint = clsn03.pok.ibm.com
    HWModel =
    HWSerialNum =
    HWType =
    InstallAdapterDuplex =
    InstallAdapterMacaddr = 00:00:00:00:00:00
    InstallAdapterSpeed =
    InstallAdapterType =
    InstallCSMVersion = 1.2.0
    InstallDisk =
    InstallDiskType =
    InstallDistributionName = RedHat
    InstallDistributionVersion = 7.2
    InstallKernelVersion =
    InstallMethod = kickstart
    InstallOSName = Linux
    InstallPkgArchitecture = i386
    LParID =
    LastCFMUpdateTime =
    ManagementServer = csmlinux.pok.ibm.com
    Mode = PreManaged
    Name = ppsclnt3.pok.ibm.com
    NodeNameList = {csmlinux.pok.ibm.com}
    PowerMethod = netfinity
    PowerStatus = 128 on
    Status = 127 on
    UniversalId = 0
    UpdatenodeFailed = 0                             
    
  2. Before running the rconsole command for an Equinox console server, check that the following attributes are set correctly. For example, enter:
    lsnode -l clsn03
    

    Output should include:

    ConsoleServerName = clsn03.pok.ibm.com
    ConsoleMethod = esp
    ConsoleServerNumber = 1
    ConsolePortNum = a
    
  3. To open console windows for multiple nodes using the short host name, long host name, or IP address, enter:
    rconsole -n clsn03,clsn09,clsn15,clsn19
    
  4. To open a console session to each of the nodes defined in the CSM cluster, enter:
    rconsole -a
    
  5. To open windows for each host defined in the given node groups, enter:
    rconsole -N nodegrp1, nodegrp2	
    
  6. To start a console session to the specified host in the current window, enter:
    rconsole -t -n clsn03 	
    

Remote console diagnostics

The following examples show problems and solutions for specific instances of using remote console:

  1. Problem:
    Connection refused.

    Description:
    The remote console device is not accepting connections.

    Action:
    This indicates a potential network problem or a problem with the console device. Ping the IP address of the console device. If the ping is successful, try to telnet directly into the device. If a direct telnet is refused, check that the console device's IP address is not active elsewhere on the network. Reset the console device and check its TCP/IP settings. If the direct telnet succeeds, verify that the IP address of the console device matches the value entered in the CSM database.
  2. Problem:
    A remote console window opens, but then immediately closes and no messages are displayed.

    Description:
    An error occurred during connection to the remote console session. The error could have been written to the remote console window, but the window was immediately closed when the session ended prematurely.

    Action:
    Rerun the rconsole command with the -t flag. This forces rconsole to open the console session in the current window, and should allow the error to be viewed.
  3. Problem:
    A remote console window opens, but no console prompt is displayed.

    Description:
    The remote console device cannot establish a connection through the node's serial port.

    Action:
    Verify that the target node is powered on. Check the connection between the target's serial port and the console device. Verify that the ConsolePortNum attribute value configured in the CSM database for this node matches the actual port the target is plugged into. If the target node is accessible, run the ps -ef command to list the processes running, and look for a "getty" entry for the serial port the console device is connected to. Verify that the /etc/inittab file contains an entry to start the getty session on this port at system boot. Verify that the boot loader entries for remote console in the lilo.conf or grub.conf file are correct.
  4. Problem:
    Incorrect argument on -n or -N flag.

    Description:
    The argument supplied with the -n or -N flag is not valid.

    Action:
    Verify the list of node names or node groups supplied does not start or end with a comma.
  5. Problem:
    Missing option.

    Description:
    An option switch was encountered with no option, such as rconsole - node1, instead of rconsole -n node1.

    Action:
    Verify that all option flags are complete.
  6. Problem:
    The CSM command could not resolve one or more of the specified node groups.

    Description:
    A node group specified with the -N flag could not be resolved.

    Action:
    Verify the node group name was entered correctly, or use the nglist command to verify that the node group exists.
  7. Problem:
    Too many arguments specified.

    Description:
    Flags were specified on the command line that are not valid for the specified command.

    Action:
    Verify the command syntax and ensure that only valid flags are specified.
  8. Problem:
    The rconsole node list environment variable RCONSOLE_LIST is not set.

    Description:
    If a node list or node group list is not specified on the command line, rconsole checks the RCONSOLE_LIST environment variable for the name of the file that contains a list of nodes.

    Action:
    Either enter a node list with the -n option, a node group with the -N option, or create a file with the list of nodes to use and set the RCONSOLE_LIST environment variable to the name of this file.
  9. Problem:
    The rconsole window font size is too small.

    Description:
    Using the rconsole -a command on a system with more than four nodes caused the default console font size to be set too small.

    Action:
    Set the RCONSOLE_FONT environment variable to a fixed or desired value. The exact syntax depends on your shell. For example, enter:
    export RCONSOLE_FONT=fixed
    
  10. Problem:
    Could not open node list file.

    Description:
    The node list file was specified in RCONSOLE_LIST but could not be opened.

    Action:
    Verify that the filename in RCONSOLE_LIST is correct and has read permissions set.
  11. Problem:
    The CSM lsnode command is not installed.

    Description:
    The lsnode command is not available. The rconsole command uses lsnode to acquire node attribute information, and cannot proceed if the command is not available.

    Action:
    lsnode is a program in the csm.server package. Contact your system administrator to verify CSM installation.
  12. Problem:
    CSM lsnode command error.

    Description:
    The lsnode command was run to acquire node attribute information, but did not complete successfully.

    Action:
    Determine and resolve the problem with lsnode. Run lsnode from the command line without arguments to check the error results.
  13. Problem:
    Could not resolve a host name.

    Description:
    One or more of the host names specified could not be resolved.

    Action:
    Verify the host names are specified correctly and can be resolved on the network by the -n flag, the -N flag, or by the file specified by the RCONSOLE_LIST environment variable.
  14. Problem:
    A ConsoleMethod attribute is missing in the CSM database.

    Description:
    The specified node does not have an entry in the CSM database for the ConsoleMethod attribute.

    Action:
    Use the lsnode command with the -l flag to verify the entry for ConsoleMethod for this node. If necessary, use the chnode command to add the ConsoleMethod attribute value to the CSM database.
  15. Problem:
    A console command does not exist.

    Description:
    The rconsole command requires a console command corresponding to the name of the ConsoleMethod in the CSM database. This console command does not exist in the /opt/csm/bin directory.

    Action:
    Verify that the console command exists in the /opt/csm/bin directory.
  16. Problem:
    Running a command resulted in a non-zero return code. The command continued.

    Description:
    The rconsole command invokes a console command for each node. A console command did not complete successfully for one of the nodes. Processing will continue for any other nodes that were specified.

    Action:
    Determine the error being returned by the console command and contact IBM support.
  17. Problem:
    The remote console xinit command did not complete successfully.

    Description:
    The rconsole command attempts to open a console by opening a new xterm session. The xterm session could not be started.

    Action:
    Resolve the problems with xinit based on any additional error messages that were provided.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]