Chapter 15. Troubleshooting

Configuring and administering a CXFS cluster can be a complex task. In general, most problems can be solved by rebooting a node. However, the topics in this chapter may help you avoid rebooting:

You must connect the GUI to a node that has the cluster_admin software package installed. You can perform administrative tasks with cxfs_admin from any host with the appropriate access and network connection. See the CXFS 5 Client-Only Guide for SGI InfiniteStorage for additional troubleshooting information.

Troubleshooting Strategy

To troubleshoot CXFS problems, do the following:

To avoid problems in the first place, follow the recommendations in Chapter 2, “Best Practices”.

Know the Troubleshooting Tools

This section provides an overview of the tools required to troubleshoot CXFS:


Caution: Many of the commands listed are beyond the scope of this book and are provided here for quick reference only. See the other guides and man pages referenced for complete information before using these commands.


Physical Storage Tools

Understand the following physical storage tools:

  • To display the hardware inventory:

    hwinfo --short

    If the output is not what you expected, do a probe for devices and perform a SCSI bus reset, using the following commands:

    • QLogic SCSI or Fibre Channel: use the following to probe the LUN on the specified hostname:

      echo "- - -" > /sys/class/scsi_host/hostname/scan

      Each "-" character is a wildcard for bus, target, and LUN, respectively. Newer SCSI and all FC controllers have a single bus per function, but two functions in the dual-port controllers. For example, if you added a new LUN to a RAID (and the RAID is target 3) for a host named host3:

      # echo "0 3 -" > /sys/class/scsi_host/host3/scan

      QLogic Fibre Channel: use the following to discover and build a new table for the LUN, where 3 is the host number:

      # echo "scsi-qlascan" >/proc/scsi/qla2xxx/3

    • LSI: use the lsiutil tool to scan the HBA, selecting option 8 to scan for devices:

      # lsiutil
      
      LSI Logic MPT Configuration Utility, Version 1.41, November 23, 2005
      
      4 MPT Ports found
      
           Port Name         Chip Vendor/Type/Rev    MPT Rev  Firmware Rev
       1.  /proc/mpt/ioc0    LSI Logic 53C1030 B2      102      01032710
       2.  /proc/mpt/ioc1    LSI Logic 53C1030 B2      102      01032710
       3.  /proc/mpt/ioc2    LSI Logic FC949X A1       105      01030300
       4.  /proc/mpt/ioc3    LSI Logic FC949X A1       105      01030300
      
      Select a device:  [1-4 or 0 to quit] 3 
      
       1.  Identify firmware, BIOS, and/or FCode
       2.  Download firmware (update the FLASH)
       4.  Download/erase BIOS and/or FCode (update the FLASH)
       8.  Scan for devices
      10.  Change IOC settings (interrupt coalescing)
      13.  Change FC Port settings
      16.  Display logged-in devices
      20.  Diagnostics
      21.  RAID actions
      22.  Reset bus
      23.  Reset target
      30.  Beacon on
      31.  Beacon off
      60.  Show non-default settings
      61.  Restore default settings
      98.  Reset FC link
      99.  Reset port
      
      Main menu, select an option:  [1-99 or e for expert or 0 to quit] 8
       
      FC949X's link is online, type is fabric direct attach, speed is 2 Gbaud
      
       B___T___L  Type       Vendor   Product          Rev         WWPN       PortId
       0 127   0  Disk       SGI      TP9300           0612  200d00a0b8131841 021500
       0 127   1  Disk       SGI      TP9300           0612  
       0 127   2  Disk       SGI      TP9300           0612  
       0 127  31  Disk       SGI      Universal Xport  0612  
       0 128   0  Disk       SGI      TP9300           0612  200c00a0b8131841 021400
       0 128   1  Disk       SGI      TP9300           0612  
       0 128   2  Disk       SGI      TP9300           0612  
      
       0 128  31  Disk       SGI      Universal Xport  0612  
      
       0 129   0  Disk       SGI      TP9100 F PSEUDO  5903  23000050cc007d2c 021300
      
       0 130   0  Disk       SGI      TP9100 F PSEUDO  5903  22000050cc007d2c 021200
                  FC949X Port                                100000062b0e4248 021700
                  FCP Initiator                              210000e08b1058d4 021000
                  FCP Initiator                              210100e08b3058d4 021100
                  FCP Initiator                              100000062b0e4249 021600
                  Non-FCP                                    20fc006069c021b6 fffffc
                  Non-FCP                                    2007006069c021b6 fffffe

    You can run the cxfs-reprobe script look for devices and perform a SCSI bus reset if necessary. cxfs-reprobe will also issue an XVM probe to tell XVM that there may be new devices available:

    • On server-capable administration nodes:

      server-admin# /var/cluster/clconfd-scripts/cxfs-reprobe

    • On client-only nodes:

      client# /var/cluster/cxfs_client-scripts/cxfs-reprobe

  • To show the physical volumes, use the xvm command. For example, from a Linux node:

    linux# /sbin/xvm show -v phys/

    The path to the xvm command varies by platform. For more information, see the appendix in CXFS 5 Client-Only Guide for SGI InfiniteStorage. For details about XVM, see the XVM Volume Manager Administrator's Guide.

Cluster Configuration Tools

Understand the following cluster configuration tools:

Cluster Control Tools

Understand the cluster control tools:

Networking Tools

Understand the following networking tools:

  • Send packets to network hosts using the ping(1) command

  • Show network status using the netstat(1) command

Cluster/Node Status Tools

Understand the following cluster/node status tools:

Performance Monitoring Tools

Understand the following performance monitoring tools:

  • To monitor system activity:

    /usr/bin/sar

  • To monitor system input/output device loading on a Linux node, use the iostat (1) command. For example, to monitor at 2-second intervals for 10000000 times:

    linux# iostat 2 1000000

  • To monitor process status, memory consumption, paging activity, block I/O operations, interrupts, context switches, and processor usage on a Linux node, use the vmstat(8) command. For example, to monitor at 1-second intervals for 1000 times:

    linux# vmstat -a -n 1 1000

  • To monitor the statistics for an XVM volume, use the xvm command:

    # /sbin/xvm change stat on {concatname|stripename|physname}

    See the XVM Volume Manager Administrator's Guide.

  • To monitor system performance, use Performance Co-Pilot (PCP). See the PCP documentation and the pmie (1) and pmieconf(1) man pages.

lcrash Kernel Status Tools

:Use the appropriate version of lcrash and load the CXFS kerntypes:

# lcrash -x /boot/sgi-cxfs-kerntypes-kernelversion-architecturetype


Note: Do not use the version of lcrash that is shipped with SLES. Use the version of lcrash that is available from Supportfolio.


Log Files

Understand the log files discussed in “Status in Log Files” in Chapter 14.

Gather Cluster Configuration with cxfsdump

Before reporting a problem to SGI, you should use the cxfsdump command to gather configuration information about the CXFS cluster, such as network interfaces, CXFS registry information, I/O, and cluster database contents. This will allow SGI support to solve the problem more quickly.


Note: In cluster mode (the default when run on a server-capable administration node), the cxfsdump command requires rsh/ssh and rcp/ scp access across all nodes in the cluster. You can use the -secure option to use secure remote connections.

You should run cxfsdump from a server-capable administration node in the cluster:

server-admin# /usr/cluster/bin/cxfsdump

The output will be placed in a file in the directory /var/cluster/cxfsdump-data directory on the server-capable administration node on which the cxfsdump command was run. The cxfsdump command will report the name and location of the file when it is finished.

To gather information about just the local node, use the cxfsdump -local option.

You can configure the location of the dump by selecting the directory from a browse for folder dialog or type in the path in the edit field.

For more information about client-only nodes, see CXFS 5 Client-Only Guide for SGI InfiniteStorage.

Identify the Cluster Status

When you encounter a problem, identify the cluster status by answering the following questions:

  • Are the cluster daemons running? See “Verify that the Cluster Daemons are Running” in Chapter 9.

  • Is the cluster state consistent on each node? Run the GUI or cxfs_admin command on each server-capable administration node and compare.

  • Which nodes are in the CXFS kernel membership? Check the cluster status and the /var/log/messages file on server-capable administration nodes.

  • Which nodes are in the cluster database (fs2d ) membership? See the /var/cluster/ha/log/fs2d_log files on each server-capable administration node.

  • Is the database consistent on all server-capable administration nodes? Determine this logging in to each server-capable administration node and examining the /var/cluster/ha/log/fs2d_log file and database checksum.

  • Log onto the various CXFS client nodes or use the GUI view area display with details showing to answer the following:

    • Are the devices available on all nodes? Use the following:

      • The xvm command to show the physical volumes:

        xvm:cluster> show -v phys/

      • Is the client-only node in the cluster? Use the cxfs_info command.

      • List the contents of the /dev/cxvm directory with the ls command:

        # ls /dev/cxvm

      • Use the hinv command to display the hardware inventory. See “Physical Storage Tools”.

    • Are the filesystems mounted on all nodes? Use mount, the GUI, and the cxfs_admin and clconf_info commands.

    • Which node is the metadata server for each filesystem? Use the GUI or the cxfs_admin command to determine. See “Discovering the Active Metadata Server” in Chapter 12.

  • Is the metadata server in the process of recovery? Look at the following file: /var/log/messages

    Messages such as the following indicate that recovery status:

    • In process:

      Mar 13 11:31:02 1A:p2 unix: ALERT: CXFS Recovery: Cell 1: Client Cell 0 Died, Recovering </scratch/p9/local>

    • Completed:

      Mar 13 11:31:04 5A:p2 unix: NOTICE: Signaling end of recovery cell 1

  • If filesystems are not mounting, do they appear online in XVM? You can use the following xvm command:

    xvm:cluster> show vol/*

Eliminate a Residual Cluster

Before you start configuring another new cluster, make sure no nodes are still in a CXFS membership from a previous cluster. Enter the following to check for a cmsd kernel thread:

server-admin# ps -ef | grep cmsd

If the output shows a cmsd kernel thread, perform a forced CXFS shutdown by entering the following:

server-admin# service cxfs stop

Then check for a cmsd kernel thread again.

After waiting a few moments, if the cmsd kernel thread still exists, you must reboot the machine or leave it out of the new cluster definition. It will not be able to join a new cluster in this state and it may prevent the rest of the cluster from forming a new CXFS membership.

Determine If a Node Is Fenced

To determine if a node is fenced, log in to a server-capable administration node and use the cxfs_admin status command or the hafence(1M) command.

The following messages are logged when fencing changes:

Raising fence on cell cellID (nodename)

Lowering fence on cell cellID (nodename)

Determine the Quorum Master

The quorum master is the server-capable administration node with the lowest node ID number (not cell ID) . To confirm which node is the quorum master, look in the var/cluster/ha/log/fs2d_log file for the most recent quorum message, such as the following example, which shows that node3 is the quorum master:

Tue Jul  7 12:52:41.490 cxfsopus4 fs2d  - Checking quorum with 4 members for any unknown members.
Tue Jul  7 12:52:41.490 cxfsopus4 fs2d  -  All quorum member machines known, master is node3

Locate the Problem

To locate the problem, do the following:

  • Examine the log files (see “Log Files”):

    • Search for errors in all log files. See “Status in Log Files” in Chapter 14. Examine all messages within the timeframe in question.

    • Trace errors to the source. Try to find an event that triggered the error.

  • Use detailed information from the view area in the GUI to drill down to specific configuration information.

  • Run the Test Connectivity task in the GUI. See “Test Node Connectivity with the GUI” in Chapter 10.

  • Determine how the nodes of the cluster see the current CXFS kernel membership by entering the following command on each server-capable administration node:

    /usr/cluster/bin/clconf_info

  • Check the /var/log/messages file on each server-capable administration node to make sure the CXFS filesystems have been successfully mounted or unmounted.

    If a mount/unmount fails, the error will be logged and the operation will be retried after a short delay.

  • Get a dump of the cluster database. You can extract such a dump with the following command:

    /usr/cluster/bin/cdbutil -c 'gettree #' > dumpfile

Redirect Switch Logs

Brocade switch problems can cause CXFS to behave abnormally. For easier troubleshooting, use the syslogdipadd function on the switch to redirect its syslogd information to up to six potential metadata servers in the cluster. SGI recommends logging to at least two potential metadata servers on which you troubleshoot issues and look for error messages. The syslogd information is the same as that given by errshow command on the switch.

For example, on each switch, define the metadata server nodes MDS1 and MDS2 to which the switch can redirect its syslogd output:

switch:admin > syslogdipadd ipaddress_MDS1
switch:admin > syslogdipadd ipaddress_MDS2

The entries from the switch can be sorted because they are prefixed by the switch name, which is standard syslogd behavior.

Common Problems

The following are common problems and solutions:

Client Membership Loss

The following messages indicate that a client has lost membership (line breaks added here for readability):

Mar 15 10:55:35 5A:mvcxfs2 kernel: Error -1 reading mesg header channel 0 cell 4 (mvcxfs17) 
  [priority 1 at 192.168.17.173 via 192.168.17.48]
Mar 15 10:55:35 4A:mvcxfs2 kernel: Error receiving messages from cell 4 (mvcxfs17) tcpchannel 0 
  [priority 1 at 192.168.17.173 via 192.168.17.48]
Mar 15 10:55:36 5A:mvcxfs2 kernel: Error -1 reading mesg header channel 1 cell 4 (mvcxfs17) 
  [priority 1 at 192.168.17.173 via 192.168.17.48]
Mar 15 10:55:36 4A:mvcxfs2 kernel: Error receiving messages from cell 4 (mvcxfs17) tcpchannel 1 
  [priority 1 at 192.168.17.173 via 192.168.17.48]
Mar 15 10:55:36 5A:mvcxfs2 kernel: Error -1 reading mesg header channel 1 cell 4 (mvcxfs17) 
  [priority 2 at 163.154.17.173 via 163.154.17.48]
Mar 15 10:55:36 4A:mvcxfs2 kernel: Error receiving messages from cell 4 (mvcxfs17) tcpchannel 1 
  [priority 2 at 163.154.17.173 via 163.154.17.48]
Mar 15 10:55:36 4A:mvcxfs2 kernel: Transport failure cell 4 
  [priority 2 at 163.154.17.173 via 163.154.17.48] 0 of 2 interfaces up
Mar 15 10:55:36 6A:mvcxfs2 kernel: Heartbeat Monitor:Failure time-stamp 295789 ticks:Last heartbeat 
  time-stamp 289940 ticks:Time-stamp delta 5849 ticks (5 seconds):Heartbeat timeout 5120 ticks (5 seconds)

The Error receiving and Error reading messages indicate that the message channel went down. The last message, which includes the Heartbeat Monitor string, contains other strings that give a clues as to why the channel was disconnected. Table 15-1 lists all of the possible strings that may be included.

Table 15-1. Error Strings

String

Description

Aggregate Recover Transport

Failover has forced the transport down because the remote node has detected an error on the transport.

Aggregate Send

An error has occurred while attempting to send a message on the underlying socket. The most likely reason is that the message channel has been disconnected by the remote end.

Cell Up

An error occurred while attempting to establish a connection with the remote node.

disable heartbeat

A configuration change has eliminated the node from the cluster or the local node is shutting down CXFS.

Failure time-stamp

The time-stamp in ticks of when the error was detected.

Heartbeat Processing

A CXFS kernel heartbeat has been received from the node that indicates it has dropped the local node from its set of known nodes.

Heartbeat Monitor

A CXFS kernel heartbeat timeout has been detected.

Heartbeat timeout

The configured timeout in ticks and in seconds for the CXFS kernel heartbeat.

Last heartbeat time-stamp

The time-stamp in ticks when the last CXFS kernel heartbeat from the remote node was received.

Message Failure

One of the following:

  • An internal messaging error (for example, a corrupt header has been received) . This brings down all transports connected to the remote node. This is a serious error that indicates a problem in the local node, the remote node, or the network that is causing corruption.

  • A socket error has occurred while attempting to send a message. The most likely reason is that the message channel has been disconnected by the remote end.

Receive Thread

A socket error has occurred when attempting to receive a message. The most likely reason is that the message channel has been disconnected by the remote end.

Time-stamp delta

The difference in ticks and in seconds. If this delta is greater than the configured CXFS kernel heartbeat timeout, then it is definitively a heartbeat timeout.

In the above example, the last message indicates that there is a heartbeat timeout because the string Heartbeat Monitor is included. The message also indicates that the error was detected at 295789 ticks (Failure time-stamp string) and that the configured timeout is 5120 ticks or 5 seconds (the Heartbeat timeout string). The delta is 5849 ticks or 5 seconds (the Time-stamp delta string), therefore it is a heartbeat timeout because the delta is greater than the configured heartbeat timeout.

Node is Permanently Fenced

If you are unable to raise the fence on a node, it may be that the switch ports are unable to determine the WWPN. See “Hardware Changes and I/O Fencing” in Chapter 12.

Cannot Access Filesystem

If you cannot access a filesystem, check the following:

  • Is the filesystem enabled? Check the GUI and the cxfs_admin status command.

  • Were there mount errors?

Log Files Consume Too Much Disk Space

If the log files are consuming too much disk space, you should rotate them; see “Log File Management” in Chapter 12. You may also want to consider choosing a less-verbose log level; see the following:

Unable to Define a Node

If you are unable to define a node, it may be that there are hostname resolution problems. See “Hostname Resolution and Network Configuration Rules” in Chapter 6.

System is Hung

The following may cause the system to hang:

  • Overrun disk drives.

  • CXFS kernel heartbeat was lost. In this case, you will see a message that mentions withdrawl of node.

  • As a last resort, do a non-maskable interrupt (NMI) of the system and contact SGI. (The NMI tells the kernel to panic the node so that an image of memory is saved and can be analyzed later.) For more information, see the owner's guide for the node. Make available the /var/log/messages system log file on server-capable administration nodes.

Node is Detected but Never Joins Membership

If a node is detected in the system log file but it never receives a Membership delivered message, it is likely that there is a network problem.

See Chapter 8, “Postinstallation Steps”.

Cell ID Count and Membership delivered Messages

The Membership delivered messages in the system log file include a bitmask with a bit set for the cell IDs of nodes that are members of the new CXFS membership. The Membership delivered messages are followed by one or more messages starting with Cell(age): that print the individual cell IDs and the ages of their membership. 0xXXX is a binary bitmask of cells included in the membership. In the following example, cell 0 has been in the last 21 CXFS memberships:

NOTICE: Membership delivered for cells 0x3.
Cell(age): 0(21) 1(12)

If the Membership delivered messages are appearing frequently in the system log file, it may indicate a network problem:

  • Nodes that are stable and remain in the membership will have a large membership version number.

  • Nodes that are having problems will be missing from the messages or have a small membership version number.

See Chapter 8, “Postinstallation Steps”.

You Cannot Log In

If you cannot log in to a server-capable administration node, you can use one of the following commands, assuming the node you are on is listed in the other nodes' .rhosts files:

rsh hostname ksh -i
rsh hostname csh -i

I/O Error in Filesystem

The following message indicates a problem (output lines wrapped here for readability):

ALERT: I/O error in filesystem ("/mnt") metadata dev 0xbd block 0x41df03 ("xlog_iodone")
ALERT:     b_error 0 b_bcount 32768 b_resid 0
NOTICE: xfs_force_shutdown(/mnt,0x2) called from line 966 of file ../fs/xfs/xfs_log.c. 
  Return address = 0xc0000000008626e8
ALERT: I/O Error Detected.  Shutting down filesystem: /mnt
ALERT: Please umount the filesystem, and rectify the problem(s)

You can fix this problem using xfs_repair only if there is no metadata in the XFS log. See “Forced Filesystem Shutdown Messages and XFS File Corruption”, for the appropriate procedure.

I/O errors can also appear if the node is unable to access the storage. This can happen for several reasons:

  • The node has been physically disconnected from the SAN

  • A filesystem shutdown due to loss of membership

  • A filesystem shutdown due to lost of the metadata server

  • The node has been fenced out of the SAN

Cannot Mount Filesystems

If you are unable to raise the fence on a node, it may be that the switch ports are unable to determine the WWPN. See “Hardware Changes and I/O Fencing” in Chapter 12.

If you have defined filesystems and then rename your cluster (by deleting the old cluster and defining a new cluster), CXFS will not be able to mount the existing filesystems. This happens because the clustered XVM volume on which your CXFS filesystem resides is not accessible to the new cluster, and the volumes are therefore considered as foreign.

In order to mount the filesystem on the new cluster, you must use the XVM steal command to bring the clustered XVM volume into the domain of the new cluster. For more information, see the XVM Volume Manager Administrator's Guide .

GUI Displays Invalid Filesystems

If you create new slices on a previously sliced disk that have the same starting blocks as slices already existing on the disk, and if the old slices had filesystems, then the GUI will display those old filesystems even though they may not be valid.

Multiple client_timeout Values

A client_timeout value is set by the clconfd and cxfs_client daemons. The value depends on the order in which filesystems are mounted on the various nodes. The value adapts to help ensure that all filesystems get mounted in a timely manner. The value has no effect on the filesystem operation after it is mounted.

The value for client_timeout may differ among nodes, and therefore having multiple values is not really a problem.

The retry value is forced to be 0 and you cannot change it.


Caution: You should not attempt to change the client_timeout value. Improperly setting the values for client_timeout and retry could cause the mount command to keep waiting for a server and could delay the availability of the CXFS filesystems.


No HBA WWPNs are Detected

On most platforms, the cxfs_client software automatically detects the world wide port names (WWPNs) of any supported host bus adapters (HBAs) in the system that are connected to a switch that is configured in the cluster database. These HBAs will then be available for fencing.

However, if no WWPNs are detected, there will be messages logged to the cxfs_client file.

If no WWPNs are detected, you can manually specify the WWPNs in the /etc/fencing.conf fencing file for the Linux platform. This method does not work if the WWPNs are partially discovered.

The fencing file enumerates the worldwide port name for all of the HBAs that will be used to mount a CXFS filesystem. There must be a line for the HBA WWPN as a 64-bit hexadecimal number.


Note: The WWPN is that of the HBA itself, not any of the devices that are visible to that HBA in the fabric.

If used, the fencing file must contain a simple list of WWPNs, one per line.

If you use the fencing file, you must update it whenever the HBA configuration changes, including the replacement of an HBA.

Do the following:

  1. Set up the switch and HBA.

  2. Follow the Fibre Channel cable on the back of the node to determine the port to which it is connected in the switch. Ports are numbered beginning with 0. (For example, if there are 8 ports, they will be numbered 0 through 7.)

  3. Use the telnet command to connect to the switch and log in as user admin (the password is password by default).

  4. Execute the switchshow command to display the switches and their WWPN numbers.

    For example:

    brocade04:admin> switchshow
    switchName:     brocade04
    switchType:     2.4
    switchState:    Online   
    switchRole:     Principal
    switchDomain:   6
    switchId:       fffc06
    switchWwn:      10:00:00:60:69:12:11:9e
    switchBeacon:   OFF
    port  0: sw  Online        F-Port  20:00:00:01:73:00:2c:0b
    port  1: cu  Online        F-Port  21:00:00:e0:8b:02:36:49
    port  2: cu  Online        F-Port  21:00:00:e0:8b:02:12:49
    port  3: sw  Online        F-Port  20:00:00:01:73:00:2d:3e
    port  4: cu  Online        F-Port  21:00:00:e0:8b:02:18:96
    port  5: cu  Online        F-Port  21:00:00:e0:8b:00:90:8e
    port  6: sw  Online        F-Port  20:00:00:01:73:00:3b:5f
    port  7: sw  Online        F-Port  20:00:00:01:73:00:33:76
    port  8: sw  Online        F-Port  21:00:00:e0:8b:01:d2:57
    port  9: sw  Online        F-Port  21:00:00:e0:8b:01:0c:57
    port 10: sw  Online        F-Port  20:08:00:a0:b8:0c:13:c9
    port 11: sw  Online        F-Port  20:0a:00:a0:b8:0c:04:5a
    port 12: sw  Online        F-Port  20:0c:00:a0:b8:0c:24:76
    port 13: sw  Online        L-Port  1 public
    port 14: sw  No_Light      
    port 15: cu  Online        F-Port  21:00:00:e0:8b:00:42:d8

    The WWPN is the hexadecimal string to the right of the port number. For example, the WWPN for port 0 is 2000000173002c0b (you must remove the colons from the WWPN reported in the switchshow output to produce the string to be used in the fencing file).

  5. Create the /etc/fencing.conf fencing file and add the WWPN for the port determined in step 2. (Comment lines begin with #.)

    For dual-ported HBAs, you must include the WWPNs of any ports that are used to access cluster disks. This may result in multiple WWPNs per HBA in the file; the numbers will probably differ by a single digit.

    For example, if you determined that port 0 is the port connected to the switch, your fencing file should contain the following:

    # WWPN of the HBA installed on this system
    #
    2000000173002c0b

  6. After the node is added to the cluster, enable the fencing feature by using the CXFS GUI, hafence, or cxfs_admin on a server-capable administration node.

XFS Internal Errors in System Log File

After a filesystem has been defined in CXFS, running mkfs on it (or using “Make Filesystems with the GUI” in Chapter 10) will cause XFS internal errors to appear in the system log file. For example (line breaks added for readability):

Aug 17 09:25:52 1A:yokohama-mds1 unix: ALERT: Filesystem "(NULL)": XFS internal error
xfs_mount_validate_sb(4) at line 237 of file ../fs/xfs/xfs_mount.c.
Caller 0xc000000000326ef4

Aug 17 09:14:52 6X:yokohama-mds1 clconfd[360]: < E clconf 11> CI_FAILURE, fsinfo_update(/dev/cxvm/work)
kernel returned 1010 (Filesystem is corrupted)

To avoid these errors, run mkfs before defining the filesystem in CXFS, or delete the CXFS filesystem before running mkfs.

Multiple Ethernet Interfaces on Altix Systems

In Altix systems with multiple Ethernet interfaces, the default behavior of the operating system is to dynamically assign interface names (such as eth0, eth1, and so on) at boot time. Therefore, the physical interface associated with the eth0 device may change after a system reboot; if this occurs, it will cause a networking problem for CXFS. To avoid this problem, provide persistent device naming by using the /etc/sysconfig/networking/eth0_persist file to map specific Ethernet device names to specific MAC addresses. Adding lines of the format to the eth0_persist file:

ethN MAC_ID

For example:

eth0 08:00:69:13:dc:ec
eth1 08:00:69:13:72:e8

Clients Unable to Remount Filesystems

If you have multiple metadata servers in the cluster but only one potential metadata server defined for a given filesystem and that server goes down, the now server-less filesystem goes into a shutdown state. Although the clients maintain membership in the cluster, they will not remount the filesystem automatically when the potential metadata server comes back up. You must manually unmount the filesystem.

If there had been only one potential metadata server in the cluster, the filesystem's clients would have lost membership and gone through a forced shutdown, which automatically unmounts the filesystems.

Forced Filesystem Shutdown Messages and XFS File Corruption

Forced filesystem shutdown messages do not necessarily imply that xfs_repair should be run. Following is an example of a message that does indicate an XFS file corruption:

XFS read error in file system metadata block 106412416

When a filesystem is forcibly shut down, the log is not empty -- it contains valuable metadata. You must replay it by mounting the filesystem. The log is only empty if the filesystem is unmounted cleanly (that is, not a forced CXFS shutdown, not a crash). You can use the following command line to see an example of the transactions captured in the log file:

xfs_logprint -t device

If you run xfs_repair before mounting the filesystem, xfs_repair will delete all of this valuable metadata.

You should run xfs_ncheck and capture the output to a file before running xfs_repair. If running xfs_repair results in files being placed in the lost+found directory, the saved output from xfs_ncheck may help you to identify the original names of the files.


Caution: Always contact SGI technical support before using xfs_repair on CXFS filesystems. See“Repair Filesystems with Care” in Chapter 2.

If you think you have a filesystem with real corruption, do the following:

  1. Mount the device in order to replay the log:

    mount device  any_mount_point

  2. Unmount the filesystem:

    unmount device

  3. Check the filesystem:

    xfs_check device

  4. View the repairs that could be made, using xfs_repair in no-modify mode:

    xfs_repair -n device

  5. Capture filesystem file name and inode pairs:

    xfs_ncheck device > xfs_ncheck.out

  6. If you are certain that the repairs are appropriate, complete them:

    xfs_repair device

GUI Will Not Run

If the GUI will not run, check the following:

  • Is the license key properly installed on the server-capable administration node? See the following:

  • Are the cluster daemons running? See “Verify that the Cluster Daemons are Running” in Chapter 9.

  • Are the tcpmux and tcpmux/sgi_sysadm services enabled in the /etc/xinetd.d/tcpmux and /etc/tcpmux.conf files?

  • Are the inetd or tcp wrappers interfering? This may be indicated by connection refused or login failed messages.

  • Are you connecting to a server-capable administration node? The cxfsmgr command can only be executed on a server-capable administration node. The GUI may be run from another system via the Web if you connect the GUI to a server-capable administration node.

IPMI Issues

This section discusses the following IPMI issues:

BMC Does Not Respond to a ping Command

If the baseboard management controller (BMC) does not respond to a ping(8) command from a remote node, verify that the BMC has a valid IP address assigned. See step 4 in “BMC System Controller” in Appendix D.


Note: The BMC will not respond to the ping command when issued from the local node (the node containing the BMC).


ipmitool Command Fails

If an ipmitool(1) command issued to a local BMC device (the node containing the BMC) fails, check the following:

  • Are the IPMI modules loaded? See step 2 in “BMC System Controller” in Appendix D.

  • Does the IPMI device exist? The default device name is /dev/ipmi0.

  • Has the admin user name and password been set on the BMC with the required ADMINISTRATOR privileges? See step 3 in “BMC System Controller” in Appendix D.

  • Does the BMC have a valid IP address assigned? See step 4 in “BMC System Controller” in Appendix D.

  • Does the ipmitool command line contain all of the required arguments, including the OEM identifier and the device path? The basic command line used for a local node is as follows:

    ipmitool -o intelplus -d /dev/ipmi0 command

    For example:

    [root@linux root] ipmitool -o intelplus -d /dev/ipmi0 power status
    Chassis Power is on

    For more information, see the ipmitool(1) man page.

If an ipmitool(1) command issued to the BMC from a remote node fails, check the following:

  • Does the BMC respond to the ping(8) command? See “BMC Does Not Respond to a ping Command”.

  • Is the correct version of ipmitool installed? See step 1 in “BMC System Controller” in Appendix D.

  • Have the admin user name and password been set on the BMC with the required ADMINISTRATOR privileges? See step 3 in “BMC System Controller” in Appendix D.

  • Does the ipmitool command contain all of the required arguments, including the lanplus interface, the OEM identifier, and the IP address (or alias) for the BMC? The basic command line used from a remote node is as follows:

    ipmitool -I lanplus -o intelplus -H bmc-nodename -U admin -P admin_password command

    For example:

    [root@linux root] ipmitool -I lanplus -o intelplus -H my-bmc-node \
    -U admin -P mypassword power status
    Chassis Power is on

    For more information, see the ipmitool(1) man page.

  • Does the BMC IP address (or alias) specified with the ipmitool -H command respond to a ping(8)?

  • Does the BMC have address resolution protocol (ARP) and gratuitous ARP configured, with the ARP interval set to 5 seconds? (An interval of 5 seconds is supported for CXFS.) See step 4 in “BMC System Controller” in Appendix D.

Node is Not Reset

If a node is not properly reset by CXFS, check the following:

cxfs_admin Output is Not Current

If the cxfs_admin output appears to be stale (such as after you manually change the port status, in which case the CXFS database is not informed), you can update the CXFS database by running the following command:

# hafence -U

clconfd Is Not Running

Sending clconfd a SIGTERM signal, the default signal sent by the kill(1) command, will cause the clconfd process to terminate. When the clconfd process terminates on a SIGTERM signal, it is not restarted by cmond and the node will remain in the CXFS cluster membership. All filesystem activity will continue without interruption. However, if clconfd is not running on one or more server-capable administration nodes in the cluster, configuration changes cannot be made in the cluster and CXFS recovery may hang, preventing nodes from joining the cluster membership.

The clconfd process will not run if there is a licensing problem. See “clconfd Daemon Death”.

Inappropriate Node Membership Loss

If you experience problems involving a node being inappropriately taken out of the cluster membership (reset, fenced, or shut down, depending upon how the node fail policy is set), it may be that the CXFS kernel heartbeat timeout setting is inappropriate, especially if your cluster includes a large SGI Altix system (one with more than 64 processors). If you suspect this problem, you should examine the SYSLOG messages to determine the current kernel heartbeat timeout. Membership issues can involve either:

  • Heartbeats sent from server-capable administration nodes to all other nodes in the cluster

  • Heartbeats sent from client-only nodes to server-capable administration nodes (more likely to have problems)

Every kernel heartbeat multicast packet includes a counter value that monotonically increases with every heartbeat sent by the system. You can use a snoop/tcpdump of the private network to look at the counter and determine if the issue is a missing heartbeat or a late heartbeat. A nonconsecutive heartbeat count indicates that the heartbeat was issued by the client-only node but never received by the server-capable administration node. It generally indicates a problem somewhere in the network stack or physical network layer.

Most client-only node heartbeat timeouts are caused by late heartbeats. This is a heartbeat multicast that is not sent out by the client-only node in a timely fashion. It is a strong indicator that the client-only node is suffering from some sort of resource constraint issue. Many common resources are subject to this problem, and detailed system performance analysis is usually required to determine the exact nature of the failure. The following are common problem areas:

  • Kernel locks can be held for very long periods of time and prevent a client-only node from issuing a heartbeat multicast packet in a timely fashion.

  • The CPU servicing interrupts for a CXFS private network interface may be too busy with other activities to service the CXFS heartbeat kernel thread.

  • Memory thrashing and the associated high-priority kernel threads attempting to relieve the memory pressure may prevent the CXFS kernel heartbeat thread from being serviced or prevent the thread from allocating the memory it requires.

  • Buffered I/O uses page cache and therefore contends for the same memory resources as user applications. Applications that have high I/O requirements can put intense pressure on system memory management functions and cause memory thrashing when dealing with a large amount of dirty page cache pages.

  • A poorly configured or over-stressed CXFS private network can cause dropped heartbeat packets. This can be a problem with any node and can effect multiple client-only nodes at the same time.

To avoid these problems, see “Avoid CXFS Kernel Heartbeat Issues on Large SGI Altix Systems” in Chapter 2.

Slow Access to Files

If file access is slow, it could be due to one of the following problems:

  • Ownership changes for a LUN between RAID controllers (LUN flipping ) can result in poor disk performance. To determine if LUN flipping is a problem, compare the contents of the /etc/failover2.conf file and the output of the following command (which shows the LUNs designated as preferred):

    # xvm show -v phys | grep preferred

    If the preferred LUNs do not also show current path, there is a problem with ownership changes.

  • File fragmentation can also decrease performance. Run the following command on the metadata server for the file with suspected fragmentation:

    xfs_bmap -v filename

CXFS Cannot Access the Switch

There is only a single active admin login permitted to Fibre Channel switches that are properly configured for CXFS. If there is a defunct admin login remaining, CXFS may be unable to access the switch.

To solve this problem, do the following:

  1. Log in to the Fibre Channel switch as root.

  2. Determine the process IDs of the inactive admin logins. For example:

    brocade:root> ps -ef | grep defunct
    root      9179  9173  0 Apr12 ?        00:00:00 [login] <defunct>
    root     18311 18308  0 May13 ?        00:00:00 [login] <defunct>

  3. Kill the defunct login process IDs. For example:

    brocade:root> kill -9 9179 18311

  4. Remove the contents of the login records file:

    brocade:root> cat /dev/null > /var/run/utmp

Altix NMI System Reset Hangs

On SGI Altix machines, an NMI system reset will not proceed until there is human intervention. See “System Reset” in Chapter 2.

Metadata Server Panics After Reboot

Rebooting the metadata server without first shutting down CXFS services can cause the metadata server to panic. You must use the proper procedures for shutting down nodes. See “Shut Down Nodes Unobtrusively” in Chapter 2.

Portmapper Issues

The dynamic TCP port assignment used by the fs2d daemon may result in a collision with another service that is already using a fixed port number.

One example that has been observed is Samba hanging during startup when trying to query the CUPS printing system for printer information. Other applications that expect to connect on a well-known port may be affected.

To see which ports fs2d is using, use the following command:

# lsof -i TCP | grep fs2d

If you encounter this problem, restart fs2d with a SIGHUP signal so that it will move to another port:

# /usr/bin/killall -HUP fs2d

You may have to repeat this command until fs2d is assigned to a port that is not in contention.

Brocade telnet Session is Hung

The Brocade telnet login session can become hung for Brocade switches running firmware version V5* and later. To clear the situation, do the following:

  1. Log in to the switch as root.

  2. Kill the defunct telnet login process IDs.

  3. Execute the following command:

    # cat /dev/null > /var/run/utmp

Clients Cannot Join the Cluster After Relocation

If a CXFS client fails or exits the cluster during the metadata server relocation process, the relocation process and the client recovery are likely to hang. This prevents any clients, including the failed client, from joining the cluster.

Once in this state, it may be possible to resolve the deadlock by resetting or power-cycling the fs2d quorum master. See “Determine the Quorum Master”.

Understanding Error Messages

This section describes some of the error messages you may see. In general, the example messages are listed first by type and then in alphabetical order, starting with the message identifier or text.


Note: The /var/log/messages file may contain spurious error messages. This problem occurs in clusters with multiple private networks when one of the active network interfaces is downed using the ifconfig command. This problem may also happen when the network is interrupted for other reasons.

Some of the transport failure messages generated may have cell IDs that are different from the cell ID of the node with the downed interface. The spurious error messages do not appear to affect the continued operation of the cluster.

Sections are as follows:

Normal Messages

You can expect to see the following messages. They are normal and do not indicate a problem.

NOTICE: Error reading mesg header 4 channel 1 cell 2
 

Error number 4 (EINTR) on MEMBERSHIP message channel (channel 1; channel 0 is the main channel for CXFS and XVM data) for connection with node 2. The EINTR indicates that this message channel is purposely being torn down and does not indicate an error in itself. (Any other error number is a real error that will cause the local node to declare the other node failed.) This is an informative message; no corrective action is required.

NOTICE: Membership delivered for cells 0x2
 

Membership has been delivered for the specified node. 0xXXX is a binary bitmask of cell numbers for which membership has been delivered; 0x2 equates to cell 1.

Cell(age): 0(4) 1(2) 2(9)
 

Shows the cell and its age (the number of memberships it has been part of). One or more of these messages always follows a Membership delivered message.

NOTICE: Cell 3 (client) has joined the membership
 

The node with the specified cell ID has joined the membership. This message precedes a Membership delivered message if a node joined the membership.

NOTICE: Cell 3 (client) has left the membership
 

This message precedes a Membership delivered message if a node has left the membership.

NOTICE: Resetting cells 0x4
 

The number here is a bitmask of node numbers on which a reset is being requested. 0xXXX is a binary bitmask of cells being reset. In this case, 0x4 equates to cell 2. This is an informative message; no corrective action is required.

CI_FAILURE, Cell 1 Machine cxfs1: server has no information about a machine that has reset capabilities for this machine
 

A reset mechanism was not provided for this node. The node will not be automatically reset if it fails. If you do not have reset capability, this message can be ignored. System reset configuration is recommended for all potential metadata servers.

NOTICE: Error reading mesg header 4 channel 1 cell 2
 

The mesg header 4 text indicates that this is just an informative message.

CI_CLCONFERR_INIT in ep_name() not binding socket
 

This message appears before the daemons start.

clconfd[16574]: <<CI> E clconf 0> CI_CLCONFERR_INIT, in ep_name(): not binding socket
 

This clconfd message appears when daemons are starting up.

date <I0 clconfd clconf 610:0 clconfd_client.c:84> client registration: clconfinfo, id 9119 , date<I0 clconfd clconf 610:0 clconfd_service.c:781> sending reply configuration and membership msg to client: clconfinfo, id 9119, date <I0 clconfd clconf 610:0 clconfd_client.c:96> client un-registration: clconfinfo, id 9119
 

These messages are issued if you run the clconf_info command. The clconf_info command first registers as a CXFS client with clconfd; it then gets a reply message to its request for configuration and membership status; finally, it unregisters when it is done.

date <I0 clconfd clconf 610:0 clconfd_service.c:781 sending reply configuration and membership msg to client: cad, id 602
 

This message indicates that the cad daemon is polling clconfd for status regularly. cad does not register and unregister each time like clconf_info because it is a daemon and it does not exit after each request. You will see register/unregister messages for cad only when cad or clconfd restarts.

dcvn_import_force: error 1502 from invk_dsvn_obtain_exist
 

This is a normal message sent during the recovery process.

kernel: cxfs_cconnect_loop: cxfs_connect_find returns error = 110
 

This message will be produced if a filesystem is not successfully mounted within the designated timeout period. The mount will be retried.

Relocation Error

If you try to relocate a filesystem and see an error similar to the following cxfs_admin example, it means that relocation has not been enabled:

Error returned from server: feature not enabled (12)
Command "relocate slice1C server=server1" failed during commit: feature not enabled

To allow the relocation to occur, you must enable relocation as specified in “Relocation” in Chapter 1.

If you see an error message such as the following when trying to shut down a node, it means that the node which is the active metadata server for one or more filesystems and was unable to unmount the filesystems, and therefore was unable to shutdown gracefully:

Aug 31 10:06:18 cc-xe kernel: Filesystem "xvm-2": relocation from this host is disabled

Also see “Shutdown Failure”.

Shutdown Failure

If a node is unable to shutdown gracefully, it may be because it was unable to unmount the filesystems for which it is the active metadata server. See “Relocation Error”

Controller Disable Messages

If you see messages such as the following on the console or in a message log, it means that the Fibre Channel switch is misconfigured:

controller disable is not supported on loop

CXFS fencing recovery operations do not support loop mode. Verify that all Fibre Channel switches are configured correctly. See the switch documentation for configuration information.

CMS Error Messages

The following messages may be logged by CMS.

CMS excluded cells 0xXXX with incomplete connectivity

Generated when CMS delivers a membership that excluded some new cells that had not established connections with enough cells yet to be admitted. 0xXXX is a binary bitmask of excluded cells.

CMS calculation limited to last membership:configuration change incomplete on cells 0xXXX

Generated when the leader is attempting to make a configuration change current (that is, actually use the change on all nodes), but some cells in the cluster have not yet gotten the configuration change staged (uploaded and ready to be made current). 0xXXX is a binary bitmask of cells that do not yet have the change in their configuration. Changes make their way through the cluster asynchronously, so this situation is expected. It can take a few attempts by the CMS leader before all nodes have the change staged. As long as this situation resolves eventually, there is no problem.

CMS calculation limited to last membership:recovery incomplete

Generated when new members were disallowed due to recovery from the last cell failure that is still being processed.

clconfd Daemon Death

If the clconfd daemon exits immediately after it starts up, it usually means that the CXFS license key has not been properly installed. Check the end of the clconfd log file (/var/cluster/ha/log/clconfd_nodename) for error messages. For information about licensing error messages, see “License Key Error”.

You must properly install the license keys before you can use CXFS. If you increase the number of CPUs in your system, you may need a new license key. See Chapter 5, “CXFS License Keys”.

Out of Logical Swap Space

The following example system log file message indicates an oversubscribed system:

ALERT: inetd [164] - out of logical swap space during fork while
allocating uarea - see swap(1M)
Availsmem 8207 availrmem 427 rlx freemem 10, real freemem 9

See “Use System Capacity Wisely” in Chapter 2.

Daemons could also be leaking memory in this case. You may need to restart them:

  • On server-capable administration nodes:

    server-admin# service cxfs_cluster restart

  • On client-only nodes:

    client# killall cxfs_client
    client# service cxfs_client start

Lost CXFS Membership

The following message in the system log file indicates a kernel-triggered revocation of CXFS membership:

Membership lost - withdrawing from cluster

You must allow CXFS membership for the local node in this situation. See “Allow Membership of the Local Node with the GUI” in Chapter 10 or “Enable a Node with cxfs_admin” in Chapter 11.

License Key Error

You will see the following error if you try to install CXFS on a server-capable administration node without a valid license key already in place:

Preparing...                ###########################################
[100%]
   1:cxfs_cluster           ###########################################
[100%]
cxfs                      0:off  1:off  2:off  3:on   4:off  5:on   6:off
cluster_cx-exitop: Added CXFS keys to /var/cluster/cdb/cdb.db
cluster_cx-exitop: Added CXFS administration access keys to
/var/cluster/cdb/cdb.db
cxfs license check failed - use '/usr/cluster/bin/cxfslicense -d' for
details

         * * * * * * * * * * I M P O R T A N T * * * * * * * * * * * * *

        CXFS is not properly licensed for this host.  Run
                '/usr/cluster/bin/cxfslicense -d'
        for more detailed license information.
        After fixing the license, please run
                '/bin/true; /etc/init.d/cxfs_cluster restart'.

cluster_cx-exitop: success

If you see the following message in the /var/cluster/ha/log/clconfd_nodename logfile, it means that the CXFS license key was not properly installed:

CXFS not properly licensed for this host.  Run
               '/usr/cluster/bin/cxfslicense -d'
       for detailed failure information. 

If you do not have the CXFS license key properly installed, you will see an error on the console when trying to run CXFS. For example, on a Linux node:

Cluster services:CXFS not properly licensed for this host.  Run
        '/usr/cluster/bin/cxfslicense -d'
for detailed failure information.  After fixing the
license, please run '/etc/init.d/cxfs_cluster restart'.

An error such as the following example will appear in the system log file:

Mar  4 12:58:05 6X:typhoon-q32 crsd[533]: <<CI> N crs 0> Crsd restarted.
Mar  4 12:58:05 6X:typhoon-q32 clconfd[537]: <<CI> N clconf 0> 
Mar  4 12:58:05 5B:typhoon-q32 CLCONFD failed the CXFS license check.Use the 
Mar  4 12:58:05 5B:typhoon-q32    '/usr/cluster/bin/cxfslicense -d'
Mar  4 12:58:05 5B:typhoon-q32 command to diagnose the license problem.

If the clconfd daemon dies right after it starts up, this error may be present.

You must properly install the license key before you can use CXFS. See Chapter 5, “CXFS License Keys”.

IP Address Error

If you have conflicting cluster ID numbers at your site, you will see errors such as the following:

WARNING: mtcp ignoring  alive message from 1 with wrong ip addr 128.162.89.34
WARNING: mtcp ignoring  alive message from 0 with wrong ip addr 128.162.89.33

A cluster ID number must be unique. To solve this problem, make the cluster ID numbers unique.

This error can occur if you redefine the cluster configuration and start CXFS services while some nodes have stale information from a previous configuration.

To solve the problem, first try the steps in “Eliminate a Residual Cluster”. If that does not work, reboot the nodes that have stale information. You can determine which nodes have stale information as follows: stale nodes will complain about all of the nodes, but the up-to-date nodes will complain only about the stale nodes. The /var/cluster/ha/log/clconfd_ log file on the stale nodes will also show error messages about SGI_CMS_CONFIG_ID failures.

If there are too many error messages to recognize the stale nodes, reboot every node.

System Log File Errors

CXFS logs both normal operations and critical errors to the system log file, as well as to individual log files for each log group.

The system log file on server-capable administration nodes is in /var/log/messages.

In general, errors in the system log file file take the following form:

timestamp priority_&_facility : hostname process[ID]: <internal_info> CODE message_text 

For example:

Sep  7 11:12:59 6X:cxfs0 cli[5830]: < E clconf 0> CI_IPCERR_NOSERVER, clconf
ipc: ipcclnt_connect() failed, file /var/cluster/ha/comm/clconfd-ipc_cxfs0

Table 15-2 shows the parts of the preceding message.

Table 15-2. System Log File Error Message Format

Content

Part

Meaning

Sep 7 11:12:59

Time Stamp

September 7 at 11:12 AM.

6X

Facility and level

6X indicates an informational message. See syslogd and the file /usr/include/sys/syslog.h .

cxfs0

Node name

The node whose logical name is cxfs0 is the node on which the process is running.

cli[5830]

Process[ID]

The process sending the message is cli and its process ID number is 5830.

<CI>E clconf 0

Internal information: message source, logging subsystem, and thread ID

The message is from the cluster infrastructure (CI). E indicates that it is an error. The clconf command is the logging subsystem. 0 indicates that it is not multithreaded.

CI_IPCERR_NOSERVER, clconf ipc

Internal error code

Information about the type of message; in this case, a message indicating that the server is missing. No error code is printed if it is a normal message.

ipcclnt_connect() failed, file /var/cluster/ha/comm/clconfd-ipc_cxfs0

Message text

A connection failed for the clconfd-ipc_cxfs0 file.

The following sections present only the message identifiers and text:

General System Log File Messages

CI_CONFERR_NOTFOUND, Logging configuration error: could not read cluster database /var/cluster/cdb/cdb.db, cdb error = 3.
 

The cluster database has not been initialized. See “Recreating the Cluster Database”.

WARNING: Error receiving messages from cell 2 tcpchannel 1
 

There has been an error on the CXFS membership channel (channel 1; channel 0 is the main message channel for CXFS and XVM data). This may be a result of tearing down the channel or may be an error of the node (node with an ID of 2 in this case). There is no corrective action.

cli System Log File Error Messages

For all cli messages, only the last message from the command (which begins with CLI private command failed) is meaningful. You can ignore all other cli messages.

The following are example errors from the cli daemon.

CI_ERR_INVAL, CLI private command: failed (Machine (cxfs0) exists.)
 

You tried to create a new node definition with logical name cxfs0; however, that node name already exists in the cluster database. Choose a different name.

CI_ERR_INVAL, CLI private command: failed (IP address (128.162.89.33) specified for control network is cxfs0 is assigned to control network of machine (cxfs0).)
 

You specified the same IP address for two different private networks of node cxfs0. Use a different IP address.

CI_FAILURE, CLI private command: failed (Unable to validate hostname of machine (cxfs0) being modified.)
 

The DNS resolution of the cxfs0 name failed. To solve this problem, add an entry for cxfs0 in /etc/hosts on all nodes.

CI_IPCERR_NOPULSE, CLI private command: failed (Cluster state is UNKNOWN.)
 

The command could not complete. This is a transient error. However, if it persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

clconfd System Log File Error Messages

The following errors are sent by the clconfd daemon.

CI_CONFERR_NOTFOUND, Could not access root node.
 

The cluster database is either non-existent or corrupted, or the database daemons are not responding. Check that the database does exist.

If you get an error or the dump is empty, re-create the database; for more information, see “Clearing the Cluster Database”. If the database exists, restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

CI_ERR_NOTFOUND, Could not get Cellular status for local machine (cxfs1)
 

The database is corrupted or cannot be accessed. Same actions as above.

CI_FAILURE, Call to open cdb for logging configuration when it is already open.
 

This indicates a software problem requiring you to restart the daemons; see “Stopping and Restarting Cluster Administration Daemons”.

CI_FAILURE, Cell 1 Machine cxfs1: server has no information about a machine that has reset capabilities for this machine
 

A reset mechanism was not provided for this node. The node will not be automatically reset if it fails. To ensure proper failure handling, use the CXFS GUI or cxfs_admin to modify the node's definition and add reset information. System reset configuration is recommended for all potential metadata servers. See “Define a Node with the GUI” in Chapter 10, or “Create or Modify a Node with cxfs_admin” in Chapter 11.

CI_FAILURE, CMD(/sbin/umount -k /dev/xvm/bob1): exited with status 1 (0x1)
 

An error occurred when trying to unmount the /dev/xvm/bob1 filesystem. Messages from the umount command are usually issued just before this message and provide more information about the reason for the failure.

CI_FAILURE, CMD(/sbin/clmount -o 'server_list=(cxfs0,cxfs1)' /dev/xvm/bob2 /bob2): exited with status 1 (0x1)
 

An error occurred when trying to mount the /dev/xvm/bob2 filesystem. Messages from the mount command are usually issued just before this message and provide more information about the reason of the failure.

CI_FAILURE, CMD(/sbin/clmount -o 'server_list=(cxfs2,cxfs0)' /dev/xvm/stripe4 /xvm/stripe4): exited with status 1 (0x1)
 

You have tried to mount a filesystem without first running mkfs. You must use mkfs to construct the filesystem before mounting it. For more information, see the mkfs(8) man page.

CI_FAILURE, Could not write newincarnation number to CDB, error = 9.
 

There was a problem accessing the cluster database. Retry the operation. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

If the problem persists, clear the database, reboot, and re-create the database. See “Clearing the Cluster Database”.

CI_FAILURE, Exiting, monitoring agent should revive me.
 

The daemon requires fresh data. It will be automatically restarted.

CI_FAILURE, No node for client (3) of filesystem (/dev/xvm/bob1) on (/bob1).
 

(There may be many repetitions of this message.) The filesystem appears to still be mounted on a CXFS client node that is no longer in the cluster database. If you can identify the CXFS client node that used to be in the cluster and still has the filesystem mounted, reboot that node. Otherwise, reboot the entire cluster.

CI_FAILURE, No node for server (-1) of filesystem (/dev/xvm/bob1) on (/bob1).
 

(There may be many repetitions of this message.) The filesystem appears to still be mounted on a server node that is no longer in the cluster database. If you can identify the server node that used to be in the cluster and still has the filesystem mounted, reboot that node. Otherwise, reboot the entire cluster.

CI_ FAILURE, Node cxfs0: SGI_CMS_HOST_ID(tcp,128.162.8 >9.33) error 149 (Operation already in progress)
 

The kernel already had this information; you can ignore this message.

CI_FAILURE, Unregistered from crs.
 

The clconfd daemon is no longer connected to the reset daemon and will not be able to handle resets of failed nodes. There is no corrective action.

CI_IPCERR_NOSERVER, Crs_register failed,will retry later. Resetting not possible yet.
 

The clconfd daemon cannot connect to the reset daemon. It will not be able to handle resets of failed nodes. Check the reset daemon's log file (/var/cluster/ha/log/crsd_ ) for more error messages.

CI_FAILURE, | > > SGI_CMS_CONFIG_ID_AUX_V2 error 22 (Invalid argument) , CI_FAILURE, | > > clconfd_kernel_config_thread: failed to update kernel config - retrying in 1 | > > second(s)
 

The previous configuration change has not fully propagated across the cluster and clconfd keeps trying until it succeeds. Possible causes include the following:

  • The cxfs_client daemon is hung or is no longer running on one or more client-only nodes

  • The clconfd daemon is hung or is no longer running on one or more server-capable administration nodes

  • The cluster recovery is hung

  • The local node is currently trying to join the cluster

  • Other membership problems

If problems continue, you could try restarting cluster services.

Clconfd is out of membership, will restart after notifying clients.
 

The clconfd daemon does not have enough information about the current state of the cluster. It will exit and be automatically restarted with fresh data.

CMD(/sbin/clmount -o 'server_list=(cxfs2,cxfs0)' /dev/xvm/stripe4 /xvm/stripe4): /dev/xvm/stripe4: Invalid argument
 

You have tried to mount a filesystem without first running mkfs. You must use mkfs to construct the filesystem before mounting it. For more information, see the mkfs(8) man page.

CMD(/sbin/clmount -o 'server_list=(cxfs0,cxfs1)' /dev/xvm/bob2 /bob2): /dev/xvm/bob2: Invalid argumentSep 9 14:12:43 6X:cxfs0 clconfd[345]: < E clconf 3> CI_FAILURE, CMD(/sbin/clmount -o 'server_list=(cxfs0,cxfs1)' /dev/xvm/bob2 /bob2): exited with status 1 (0x1)
 

The first message comes from the clmount command (the internal CXFS mount command) and explains the error (an invalid argument was issued). The second message says that the mount failed.

CI_FAILURE, clconfd_status_init: Failed to open status comm module Wed Jan 2 15:06:40.128 EXITING.
 

This error message might indicate that there is a problem with CXFS multicast. You should also examine the fs2d log to see if a line such as the following specifies a valid multicast address for IPaddress:

fs2d  - CIS config: multi:IPaddress:5449, delay=1s, incarnation=0x41cc5f0bcdb1c235, flags=

If the address is not valid, there may be a problem with DNS or other name service. In this case, you must explicitly define the cluster_mcast value to the normal CXFS multicast default value of 224.0.0.250 in the /etc/hosts file and ensure that etc/nsswitch.conf is configured so that files are read first. For more information, see “Verifying Connectivity in a Multicast Environment”.

CI_CRFERR_NOLCK, failed to lock switch for fencing update
 

The CXFS I/O fencing facility is unable to lock access to one or more Fibre Channel switches, perhaps due to defunct admin login processes. See “CXFS Cannot Access the Switch”.

CI_FAILURE, CXFS filesystem (/dev/cxvm/tp95) on (/cxfs/tp95) already mounted with different options
 

A server-capable administration node was added to or deleted from the cluster while the filesystems for which it is a potential metadata server remained mounted, causing confusion. See “Unmount Filesystems Before Adding or Deleting Server-Capable Administration Nodes” in Chapter 2.

crsd System Log File Error Messages

The following errors are sent by the crsd daemon.

CI_ERR_NOTFOUND, No logging entries found for group crsd, no logging will take place - Database entry #global#logging#crsd not found.
 

No crsd logging definition was found in the cluster database. This can happen if you start cluster processes without creating the database. See “Recreating the Cluster Database”.

CI_ERR_RETRY, Could not find machine listing.
 

The crsd daemon could not find the local node in the cluster database. You can ignore this message if the local node definition has not yet been created.

CI_ERR_SYS:125, bind() failed.
 

The sgi-crsd port number in the /etc/services file is not unique, or there is no sgi-crsd entry in the file. For information about adding this entry, see “/etc/services on Server-Capable Administration Nodes” in Chapter 8.

CI_FAILURE, Entry for sgi-crsd is missing in /etc/services.
 

The sgi-crsd entry is missing from the /etc/services file. For information about adding this entry, see “/etc/services on Server-Capable Administration Nodes” in Chapter 8.

CI_FAILURE, Initialization failed, exiting.
 

A sequence of messages will be ended with this message; see the messages prior to this one in order to determine the cause of the failure.

CI_ERR_INTR, BMC is busy, delaying 5 seconds. Attempt 1 of 5.
 

The crsd daemon was unable to contact the baseboard management controller (BMC) of the system being reset. There will be 5 attempts to connect. You can ignore this message if the connection is successful upon a subsequent attempt. If the reset is not successful after all 5 attempts, see “IPMI Issues”.

CI_CONFERR_NOTFOUND, Error reading and storing port info. CI_CONFERR_NOTFOUND, Initialization failed, exiting.
 

This error may indicate that the node that is responsible for resetting another node has not been defined in the cluster database. If you use the reset policy, you must define the owner node before starting CXFS. See “Define a Node with the GUI” in Chapter 10 or “Create or Modify a Node with cxfs_admin” in Chapter 11.

cmond System Log File Error Messages

The following errors are sent by the cmond daemon.

Could not register for notification.cdb_error = 7
 

An error number of 7 indicates that the cluster database was not initialized when the cluster process was started.

This may be caused if you execute the cdbreinit on one server-capable administration node while some other server-capable administration nodes in the pool are still running fs2d and already have the node listed in the database.

Do the following:

  1. Execute the following command on the nodes that show the error:

    errornode# /usr/cluster/bin/cdb-init-std-nodes

    This command will recreate the missing nodes without disrupting the rest of the database.

  2. If the error persists, force the daemons to restart by executing the following command on a server-capable administration node:

    server-admin# service cxfs_cluster restart

    Verify that cmond is restarted.

  3. If the error persists, reinitialize the database on just the node that is having problems.

  4. If the error still persists, reinitialize all nodes in the cluster.

See “Recreating the Cluster Database”.

Process clconfd:343 of group cluster_cx exited, status = 3.
 

The clconfd process exited with status 3, meaning that the process will not be restarted by cmond. No corrective action is needed.

Process crsd:1790 of group cluster_control exited, status = 127
 

The crsd process exited with an error (nonzero) status. Look at the corresponding daemon logs for error messages.

cxfslicense System Log File Error Message

The following message will be output by the cxfslicense -d command if you execute it before rebooting the system:

error reading kernel XVM cluster mirror status. Check if XVM module is
started.

After you reboot the system and therefore load the XVM module, this message will no longer appear when you run cxfslicense -d.

fs2d System Log File Error Messages

The following errors are sent by the fs2d daemon.

Error 9 writing CDB info attribute for node #cluster#elaine#machines#cxfs2#Cellular#status
 

An internal error occurred when writing to the cluster database. Retry the operation. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”. If the problem persists, clear the database, reboot, and re-create the database. See “Clearing the Cluster Database”.

Error 9 writing CDB string value for node #cluster#elaine#machines#cxfs2#Cellular#status
 

An internal error occurred when writing to the cluster database. Retry the operation. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”. If the problem persists, clear the database, reboot, and re-create the database. See “Clearing the Cluster Database”.

Failed to update CDB for node #cluster#elaine#Cellular#FileSystems#fs1#FSStatus
 

An internal error occurred when writing to the cluster database. Retry the operation. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”. If the problem persists, clear the database, reboot, and re-create the database. See “Clearing the Cluster Database”.

Failed to update CDB for node #cluster#elaine#machines#cxfs2#Cellular#status
 

An internal error occurred when writing to the cluster database. Retry the operation. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”. If the problem persists, clear the database, reboot, and re-create the database. See “Clearing the Cluster Database”.

Machine 101 machine_sync failed with lock_timeout error
 

The fs2d daemon was not able to synchronize the cluster database and the sync process timed out. This operation will be retried automatically by fs2d.

ALERT: CXFS Recovery: Cell 0: Server Cell 2 Died, Recovering
 

The server (cell 2) died and the system is now recovering a filesystem.

Log File Error Messages

CXFS maintains logs for each of the CXFS daemons. For information about customizing these logs, see “Set Log Configuration with the GUI” in Chapter 10.

Log file messages take the following form:

daemon_log timestamp internal_process: message_text

For example:

cad_log:Thu Sep  2 17:25:06.092  cclconf_poll_clconfd: clconf_poll failed with error CI_IPCERR_NOPULSE

Table 15-3, shows the parts in the preceding message.

Table 15-3. Log File Error Message Format

Content

Part

Meaning

cad_log

Daemon identifier

The message pertains to the cad daemon

Sep 2 17:25:06.092

Time stamp and process ID

September 2 at 5:25 PM, process ID 92.

cclconf_poll_clconfd

Internal process information

Internal process information

clconf_poll failed with error CI_IPCERR_NOPULSE

Message text

The clconfd daemon could not be contacted to get an update on the cluster's status.

This section discusses the following:

cad Log File Error Messages

The following are examples of messages from /var/cluster/ha/log/cad_log :

ccacdb_cam_open: failed to open connection to CAM server error 4
 

Internal message that can be ignored because the cad operation is automatically retried.

ccamail_cam_open: failed to open connection to CAM server error 4
 

Internal message that can be ignored because the cad operation is automatically retried.

ccicdb_cam_open: failed to open connection to CAM server error 4
 

Internal message that can be ignored because the cad operation is automatically retried.

cclconf_cam_open: failed to open connection to CAM server error 4
 

Internal message that can be ignored because the cad operation is automatically retried.

cclconf_poll_clconfd: clconf_poll failed with error CI_IPCERR_NOCONN
 

The clconfd daemon is not running or is not responding to external requests. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

cclconf_poll_clconfd: clconf_poll failed with error CI_IPCERR_NOPULSE
 

The clconfd daemon could not be contacted to get an update on the cluster's status. If the error persists, stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

cclconf_poll_clconfd: clconf_poll failed with error CI_CLCONFERR_LONELY
 

The clconfd daemon does not have enough information to provide an accurate status of the cluster. It will automatically restart with fresh data and resume its service.

csrm_cam_open: failed to open connection to CAM server error 4
 

Internal message that can be ignored because the cad operation is automatically retried.

Could not execute notification cmd. system() failed. Error: No child processes
 

No mail message was sent because cad could not fork processes. Stop and restart the cluster daemons; see “Stopping and Restarting Cluster Administration Daemons”.

error 3 sending event notification to client [counter: 7 info: 0x000000021010f078]"
 

GUI process exited without cleaning up. (The counter and info numbers are internal data structures.)

cli Log File Error Messages

The following are examples of messages from /var/cluster/ha/log/cli_ hostname:

CI_CONFERR_NOTFOUND, No machines found in the CDB.
 

The local node is not defined in the cluster database.

CI_ERR_INVAL, Cluster (bob) not defined
 

The cluster called bob is not present in the cluster database.

CI_ERR_INVAL, CLI private command: failed (Cluster (bob) not defined)
 

The cluster called bob is not present in the cluster database.

CI_IPCERR_NOPULSE, CLI private command: failed (Cluster state is UNKNOWN.)
 

The cluster state could not be determined. Check if the clconfd daemon is running.

CI_IPCERR_NOPULSE, ipcclnt_pulse_internal(): server failed to pulse
 

The cluster state could not be determined. Check if the clconfd daemon is running.

CI_IPCERR_NOSERVER, clconf ipc: ipcclnt_connect() failed, file /var/cluster/ha/comm/clconfd-ipc_cxfs0
 

The local node (cxfs0) is not defined in the cluster database.

CI_IPCERR_NOSERVER, Connection file /var/cluster/ha/comm/clconfd-ipc_cxfs0 not present.
 

The local node (cxfs0) is not defined in the cluster database.

crsd Log File Error Messages

The following are examples of messages from /var/cluster/ha/log/crsd_hostname:

CI_CONFERR_INVAL, Nodeid -1 is invalid., I_CONFERR_INVAL, Error from ci_security_init()., CI_ERR_SYS:125, bind() failed., CI_ERR_SYS:125, Initialization failed, exiting., CI_ERR_NOTFOUND, Nodeid does not have a value., CI_CONFERR_INVAL, Nodeid -1 is invalid.
 

For each of these messages, either the node ID was not provided in the node definition or the cluster processes were not running in that node when node definition was created in the cluster database. This is a warning that optional information is not available when expected.

CI_ERR_NOTFOUND, SystemController information for node cxfs2 not found, requests will be ignored.
 

System controller information (optional information) was not provided for node cxfs2. Provide system controller information for node cxfs2 by modifying node definition. This is a warning that optional information is not available when expected. Without this information, the node will not be reset if it fails, which might prevent the cluster from properly recovering from the failure.

CI_ERR_NOTFOUND, SystemController information for node cxfs0 not found, requests will be ignored.
 

The owner node specified in the node definition for the node with a node ID of 101 has not been defined. You must define the owner node.

CI_CRSERR_NOTFOUND, Reset request 0x10087d48 received for node 101, but its owner node does not exist.
 

The owner node specified in the node definition for the node with a node ID of 101 has not been defined. You must define the owner node. 0x10087d48 is a pointer to an internal datastructure that uniquely identifies the request while it is being handled.

fs2d Log File Error Messages

The following are examples of messages from /var/cluster/ha/log/fs2d_log:

Failed to copy global CDB to node cxfs1 (1), error 4
 

There are communication problems between the local node and node cxfs1. Check the private networks of the two nodes.

Communication failure send new quorum to machine cxfs2 (102) (error 6003)
 

There are communication problems between the local node and node cxfs2. Check the private networks of the two nodes.

Failed to copy CDB transaction to node cxfs2 (1)
 

There are communication problems between the local node and node cxfs2. Check the private networks of the two nodes.

Outgoing RPC to hostname : NULL
 

If you see this message, check your Remote Procedure Call (RPC) setup. For more information, see the rpcinfo (8) and portmap(8) man pages.

fs2d - RPC machine register: rejecting quorum from machine hostname due to that machine not responding to our poll attempts
 

This message might indicate that the NIC for the private network has not been configured or has been configured incorrectly. It also might indicate that the cable has been unplugged.

cdbreinit Error Messages

Thu Jun 3 16:20:45.431 cxfsopus1.example.com cbe_fs2 - cbe_create_node: cannot create new node (RPC error = 9)
  libcdb       - cdb_create_node: error 9 creating child of node 0x60000000000135c0 with subkey "ifd1"

This error means that some nodes have not been created in the cluster database. Error 9 usually means that fs2d is has encountered an internal error while creating that node. To fix the problem, make sure that fs2d is not running on any server-capable administration node and rerun cdbreinit.

cxfs_admin Errors

Following are common cxfs_admin errors.

Connecting to the local CXFS server...
receiving conflicting bootstrap packets from cluster(s) - cannot identify
server to connect to
gave up trying to connect to server
FATAL: exiting on fatal error

The cxfs_admin command can see multiple clusters. Reconfigure your network so that each cluster's private network subnet is independent of the private network subnet of other clusters. If you have multiple clusters connected to the same public network, use the -i option to identify the cluster name. See “Accessing the Correct Cluster at a Multiple-Cluster Site” in Chapter 11.

Connecting to the CXFS server for the "mycluster" cluster...
Error returned from server: authorization error (8)
Inappropriate privileges to connect to the CXFS server

The host can see the cluster, but does not have permission to connect to it. Use cxfs_admin on another node that does have permission and use the access command to give permission to the first node.

Connecting to the CXFS server for the "mycluster" cluster...
Error returned from server: permissions error (9)
Insufficient privileges to acquire the administration lock

The host only has monitoring privileges and no administration privileges. Use the permission=admin attribute with the access command to grant the host administration rights, or use -r on the cxfs_admin command line.

Connecting to the CXFS server for the "mycluster" cluster...
not receiving bootstrap packets from any cluster - cannot identify server to connect to
gave up trying to connect to server
FATAL: exiting on fatal error

The host is not on the CXFS metadata private network and has not been granted explicit access to the cluster. Grant the host access by using the access command from a server-capable administration node or another host with admin access to the cluster.

Mount Errors

The following error indicates that one of the LUNs in this volume is inaccessible. A GPT-labeled LUN in the volume may cause this if GPT labels are not supported on the system:

# /sbin/mount -t cxfs -o 'client_timeout=30s,retry=0,server_list=(server1,server2)' \
/dev/cxvm/stripe93 /mnt/stripe93
 cxfs.util get_subvol_stripe: open(/dev/rcxvm/stripe93) returned -1, errno 19 (Operation not supported by device)
 cxfs.util get_subvol_stripe: Some of the volumes needed for /dev/rcxvm/stripe93 may have a main path that 
   runs through a controller to which this machine is not connected.
 cxfs.util set_xfs_args: get_subvol_stripe failed
 cxfs.util mount_main: set_xfs_args failed

For information about what platforms support GPT labels, see the release notes.

Authorization Errors

If a node is not allowed to be configured automatically by the cxfs_admin command, errors such as the following will appear in the cxfs_client log:

Aug 06 10:36:51 cxfs_client: cis_cdb_go ERROR: Error returned from server: authorization
error (8)
Aug 06 10:36:51 cxfs_client: cis_autoconf client is not in an autoconf "allowed" policy

For more information about automatic configuration, see “Automatically Configure a Client-Only Node” in Chapter 11.

The cxfs_admin command will also display errors if the node running cxfs_admin does not have administration or monitor access to the cluster. See “Setting cxfs_admin Access Permissions” in Chapter 11.

Connection Error

The following message indicates that the system is unable to open UDP socket connection to another system (in this case, cell ID 4) because the connection attempt is refused:

mesg_connect:cell 4:channel 0:transport 2:connect error -111

Frequently repeated occurrences of this message may indicate an incorrect network configuration or may require reinstalling the CXFS software on either the CXFS client-only node or the server-capable administration node. This message may also occur occasionally when a node is started or shut down.

node is downrev Error

All server-capable administration nodes in the cluster must run the same version of CXFS except during a rolling upgrade. The following types of errors indicate that the server-capable administration nodes are running different versions of CXFS software:

CXFS cell C (name) mount refused: node is downrev (tag X, has N, need M)
CXFS cell C (name) relocation refused: node is downrev (tag X, has N, need M)

An operation may be forbidden because of a version mismatch between the metadata server and the other node involved. The following operations may fail:

  • An attempt by a client-only node running a newer version (such as CXFS 5.5) to mount a filesystem served by a metadata server running an older version (such as CXFS 5.4)

  • An attempt to relocate a filesystem to between nodes with different versions (for example, from a CXFS 5.4 metadata server to a CXFS 5.5 server-capable administration node)

For example, the following message indicates that a client-only node tried to mount a filesystem served by a metadata server that is running an older version of CXFS:

CXFS cell 0 (xo-xe1) mount refused: node is downrev (tag 30, has -1, need 0)

During a rolling upgrade, relocation of a filesystem between server-capable administration nodes running different versions of CXFS may be disabled. Recovery rather than relocation is used to move filesystems to an upgraded server-capable node. See “CXFS Release Versions and Rolling Upgrades” in Chapter 12.

EXTENT Errors

If you see messages like the following on the console or in the system log file, turn off CXFS extents deltas:

EXTENT: a8000002c9e60600 bno 10 not at boundary (got = 9+5)

This is best done on the metadata server by setting the fs.cxfs.cxfs_extents_delta system tunable parameter to 0. A reboot is not required. For more information, see “cxfs_extents_delta” in Appendix E.

Corrective Actions

This section covers the following corrective actions:

Restarting CXFS Services

If CXFS services to do not restart after a reboot, it may be that the node was marked as INACTIVE in the cluster data base using the Stop CXFS Services function of the GUI, or a disable node:nodename function of cxfs_admin . In this case, issuing a service cxfs_cluster start or service cxfs start will not restart the services.

You must manually start CXFS services. If you use the GUI to restart the services, or enable with cxfs_admin, the configuration will be set so that future reboots will also restart CXFS services.

For information, see “Start CXFS Services with the GUI” in Chapter 10 or “Enable a Node with cxfs_admin” in Chapter 11.

Clearing the Cluster Database

To clear the cluster database on all of the server-capable administration nodes of the cluster, do the following, completing each step on each server-capable administration node before moving to the next step:


Caution: This procedure deletes all configuration information.


  1. Enter the following on all server-capable administration nodes:

    server-admin# service cxfs stop

  2. Enter the following on all server-capable administration nodes:

    server-admin# service cxfs_cluster stop


    Caution: Complete steps 1 and 2 on each node before moving to step 3 for any node.


  3. Enter the following on all server-capable administration nodes:

    server-admin# /usr/cluster/bin/cdbreinit 

    See also “Reboot Before Changing Node ID or Cluster ID” in Chapter 2.

  4. Enter the following on all server-capable administration nodes:

    server-admin# service cxfs_cluster start

  5. Enter the following on all server-capable administration nodes:

    server-admin# service cxfs start 

See “Eliminate a Residual Cluster”, to get rid of possible stale cluster configuration in the kernel. If needed, reboot the nodes.

Rebooting

Enter the following individually on every node to reboot the cluster (other than Windows, which uses a different reboot mechanism) :

node# reboot

For information about client-only nodes, see the CXFS 5 Client-Only Guide for SGI InfiniteStorage.

If you want CXFS services to restart whenever the node is rebooted, use the CXFS GUI to start CXFS services or cxfs_admin to enable the node. For information, see “Start CXFS Services with the GUI” in Chapter 10 and “Enable a Node with cxfs_admin” in Chapter 11.

The following are situations that may require a rebooting:

  • If some CXFS clients are unable to unmount a filesystem because of a busy vnode and a reset of the node does not fix the problem, you may need to reboot every node in the cluster

  • If there is no recovery activity within 10 minutes, you may need to reboot the node

Rebooting without Rejoining the Cluster

The cxfs_cluster argument to chkconfig controls the other cluster administration daemons and the replicated cluster database:

If turned off, the database daemons will not be started at the next reboot and the local copy of the database will not be updated if you make changes to the cluster configuration on the other nodes. This could cause problems later, especially if a majority of nodes are not running the database daemons.

If the cluster daemons are causing serious trouble and prevent the machine from booting, you can recover the node by booting in single-user mode, turning the argument off and booting in multiuser mode. For example, for an Altix 350:

ELILO boot: linux single
Uncompressing Linux... done
 ...
Skipped services in runlevel S:                   splash
Give root password for login: *****

(none)# /sbin/chkconfig grio2 off (if running GRIOv2)
(none)# /sbin/chkconfig cxfs off
(none)# /sbin/chkconfig cxfs_cluster off
(none)# reboot

For more information, see “chkconfig Arguments” in Chapter 12.

Recovering a Cluster with Two Server-Capable Administration Nodes

Suppose the following:

  1. You have cluster named clusterA that has two server-capable administration nodes, any number of client-only nodes, and no CXFS tiebreaker:

    • node1

    • node2

  2. node1 goes down and will remain down for a while.

  3. node2 recovers and clusterA remains up.


    Note: An existing cluster can drop down to 50% of the remaining server-capable administration nodes after the initial CXFS kernel membership is formed.


  4. node2 goes down and therefore clusterA fails.

  5. node2 comes back up. However, clusterA cannot form because the initialization of a cluster requires either:

    • More than 50% of the server-capable administration nodes

    • 50% of the server-capable administration nodes, one of which is the CXFS tiebreaker

To allow node2 to form a cluster by itself, you must do the following:

  1. Set node2 to be the CXFS tiebreaker node, using the GUI or cxfs_admin:

  2. Revoke the CXFS kernel membership of node2:

  3. Allow CXFS kernel membership of node2:

  4. Unset the CXFS tiebreaker node capability.


    Caution: All two-server-capable administration node clusters without a tiebreaker set must have fencing or reset configured. SGI recommends reset.


    See:

The cluster will attempt to communicate with the node1 because it is still configured in the cluster, even though it is down. Therefore, it may take some time for the CXFS kernel membership to form and for filesystems to mount.

Stopping and Restarting Cluster Administration Daemons

The commands to stop and restart cluster administration daemons depends upon the platform. See also “Restarting CXFS Services”. For general information about the daemons, see “Kernel Threads” in Appendix A.

To stop and restart cluster administration daemons, enter the following:

  • On server-capable administration nodes:

    server-admin# service cxfs_cluster stop 
    server-admin# service cxfs_cluster start

  • On client-only nodes:

    client# killall cxfs_client 
    client# service cxfs_client start


Note: You could also use the restart option to stop and start.

These commands affect the cluster administration daemons only.


Caution: When the cluster administration daemons are stopped, the node will not receive database updates and will not update the kernel configuration. This can have very unpleasant side effects. Under most circumstances, the administration daemons should remain running at all times. Use these commands only as directed.


Recreating the Cluster Database

See Chapter 13, “Cluster Database Management”. If a node will not join cluster membership, you must reboot it.

Verifying Connectivity in a Multicast Environment

To verify general connectivity in a multicast environment, you can execute a ping command on the 224.0.0.1 IP address; 224.0.0.1 is the address for all systems on this subnet multicast.

To verify the CXFS kernel heartbeat, use the 224.0.0.250 IP address. (SGI uses 224.0.0.250 by default; you may need to explicitly set this if you are having problems with name resolution involving cluster_mcast, see below).


Note: A node is capable of responding only when the administration daemons (fs2d, cmond, cad, and crsd) or the cxfs_client daemon is running.


For example, to see the response for two packets sent from IP address 163.154.17.49 to the multicast address for CXFS kernel heartbeat and ignore loopback, enter the following:

nodeA# ping -c 2 -I 163.154.17.49 -L 224.0.0.250
PING 224.0.0.250 (224.0.0.250): 56 data bytes
64 bytes from 163.154.17.140: icmp_seq=0 ttl=64 time=1.146 ms
64 bytes from 163.154.17.55: icmp_seq=0 DUP! ttl=255 time=1.460 ms
64 bytes from 163.154.17.52: icmp_seq=0 DUP! ttl=255 time=4.607 ms
64 bytes from 163.154.17.50: icmp_seq=0 DUP! ttl=255 time=4.942 ms
64 bytes from 163.154.17.140: icmp_seq=1 ttl=64 time=2.692 ms

----224.0.0.250 PING Statistics----
2 packets transmitted, 2 packets received, +3 duplicates, 0.0% packet
loss
round-trip min/avg/max = 1.146/2.969/4.942 ms

The above output indicates that there is a response from the following addresses:

163.154.17.140
163.154.17.55
163.154.17.52
163.154.17.50

To override the default address, you can use the -c and -m options on client-only nodes; for more information, see the cxfs_client man page.

To override or explicitly set the CXFS multicast address, do the following:

  1. Set cluster_mcast to an IP address in the range 224.0.0.0 through 239.255.255.255 in the /etc/hosts file and make it resolvable on all nodes in the cluster. If you want to use DNS or another name service, you should avoid using a registered number. For a list of registered numbers, see:

    http://www.iana.org/assignments/multicast-addresses

  2. Verify that the /etc/nsswitch.conf file is configured so that local files are accessed before either NIS or DNS. That is, the hosts line in /etc/nsswitch.conf must list files first. For example:

    hosts:      files nis dns

    For more information, see “Adding a Private Network” in Chapter 6.

Performing a Power Cycle on a Node with cmgr

When CXFS is running, you can perform a powercycle on a node with the following cmgr command:

admin powerCycle node nodename

This command uses the CXFS daemons to shut off power to the node and then restart it.

You can perform a powercycle on a node in a cluster even when the CXFS daemons are not running by using the standalone option:

admin powerCycle standalone node nodename

The above command does not go through the crsd daemon.

If the node has not been defined in the cluster database, you can use the following command line (line breaks added here for readability, but it should be all on one line):

admin powerCycle dev_name port|IP_address_or_hostname_of_device of dev_type tty|network|ipmi 
   with sysctrl_type msc|mmsc|l2|l1|bmc

Reseting a Node with cmgr

When CXFS is running, you can reset a node with a system controller by using the following cmgr command:

admin reset node hostname  

This command uses the CXFS daemons to reset the specified node.

Even when the CXFS daemons are not running, you can reset a node with a system controller by using the standalone option of the admin reset command:

admin reset standalone node hostname

If you have defined the node but have not defined system controller information for it, you could use the following cmgr commands to connect to the system controller or reset the node:

admin ping dev_name port|IP_address_or_hostname_of_device of dev_type tty|network|ipmi with sysctrl_type msc|mmsc|l2|l1|bmc

admin reset dev_name port|IP_address_or_hostname_of_device of dev_type tty|network|ipmi with sysctrl_type msc|mmsc|l2|l1|bmc

The above command does not go through the crsd daemon.

Using SGI Knowledgebase

If you encounter problems and have an SGI support contract, you can log on to Supportfolio and access the Knowledgebase tool to help find answers.

To log in to Supportfolio Online, see:

https://support.sgi.com/login

Then click on Search the SGI Knowledgebase and select the type of search you want to perform.

If you need further assistance, contact SGI Support.

Reporting Problems to SGI

Before reporting a problem to SGI, you should retain the information by using the cxfsdump utility. See “Gather Cluster Configuration with cxfsdump”.

Also retain the following:

  • Any messages that appeared in the system logs immediately before the system exhibited the problem.

  • After a system kernel panic, the debugger information from the KDB built-in kernel debugger. See “lcrash Kernel Status Tools”.

  • When a CXFS daemon or command aborts and creates core files, provide the core files and the following associated information:

    • The application that created the core file:

      file core_filename

    • The binaries listed by the following command:

      ldd application_path