Chapter 8. Postinstallation Steps

When you install the CXFS software, there are some system file considerations you must take into account. The network configuration is critical. Each node in the cluster must be able to communicate with every other node in the cluster by both logical name and IP address without going through any other network routing; proper name resolution is key. SGI recommends static routing.

This section discusses the following:

After completing the steps discussed in this chapter, see Chapter 9, “Initial Setup of the Cluster”. For information about upgrades, see “CXFS Release Versions and Rolling Upgrades” in Chapter 12.

Configuring /etc/exports on All Nodes

The optional /etc/exports file on each node describes the filesystems that are being exported to NFS clients. For optimal performance, use the mountpoint ( mp) option for CXFS filesystems in /etc/exports that are exported with NFS. For more information, see the Linux exports(5) man page.

If the /etc/exports file contains a CXFS mount point, then when the system is booted NFS will export the empty mount point because the exports are done before CXFS is running. When CXFS on the node joins membership and starts mounting filesystems, the clconfd-pre-mount script searches the /etc/exports file looking for the mountpoint that is being mounted. If found, the script unexports the mountpoint directory because if it did not the CXFS mount would fail. After successfully mounting the filesystem, the clconfd-post-mount script will search the /etc/exports file and export the mount point if it is found in the /etc/exports file. For more information, see “CXFS Mount Scripts” in Chapter 12.

Configuring Server-Capable Administration Node System Files

This section discusses system files on administration nodes:

/etc/services on Server-Capable Administration Nodes

The /etc/services file on each CXFS administration contains entries for sgi-cad and sgi-crsd. The port numbers assigned for these processes must be the same in all nodes in the pool.

The following shows an example of /etc/services entries for sgi-cad and sgi-crsd:

sgi-crsd        7500/udp           # Cluster reset services daemon
sgi-cad         5435/tcp           # Cluster Admin daemon

cad.options on Server-Capable Administration Nodes

The cad.options file on each server-capable administration node contains the list of parameters that the cluster administration daemon reads when the cad process (which provides cluster information) is started. The file is located as follows:

/etc/cluster/config/cad.options

You can set the following options in the cad.options file:

--append_log

Appends cad logging information to the cad log file instead of overwriting it.

--log_file file

Specifies the cad log filename. Alternately, this can be specified as -lf file.

--tcp_port

Specifies a TCP port number to be used by cad . The default is port 5435.

-vvvv

Specifies the verbosity level. The number of v characters indicates the level of logging. Setting -v logs the fewest messages; setting -vvvv logs the highest number of messages.

The default file has the following options:

-lf /var/log/cxfs/cad_log --append_log

The following example shows an /etc/config/cad.options file that uses a medium-level of verbosity:

-vv -lf /var/log/cxfs/cad_log --append_log

The default log file is /var/log/cxfs/cad_log. Error and warning messages are appended to the log file if log file is already present.

The contents of the /etc/config/cad.options file cannot be modified using cxfs_admin or the GUI.

If you make a change to the cad.options file at any time other than initial configuration, you must restart the cad processes in order for these changes to take effect. You can do this by rebooting the nodes or by entering the following command:

server-admin# service cxfs_cluster restart

If you execute this command on a running cluster, it will remain up and running. However, the GUI will lose connection with the cad daemon; the GUI will prompt you to reconnect.

fs2d.options on Server-Capable Administration Nodes

The fs2d.options file on each server-capable administration node contains the list of parameters that the fs2d daemon reads when the process is started. (The fs2d daemon manages the distribution of the cluster database (CDB) across the server-capable administration nodes in the pool.) The file is located as follows:

/etc/cluster/config/fs2d.options

Table 8-1 shows the options can that can be set in the fs2d.options file.

Table 8-1. fs2d.options File Options

Option

Description

-logdest log destination

Sets the log destination: all, stdout, stderr, syslog, logfile. If multiple destinations are specified, the log messages are written to all of them. If logfile is specified, it has no effect unless the -logfile option is also specified. The default is logfile.

-logevents event name

Logs selected events: all, internal, args, attach, chandle, node, tree, lock, datacon, trap, notify, access, storage. The default is all.

-logfile filename

Sets the log filename. The default is /var/log/cxfs/fs2d_log .

-logfilemax maximum size

Sets the log file maximum size (in bytes). If the file exceeds the maximum size, any preexisting filename.old will be deleted, the current file will be renamed to filename.old, and a new file will be created. A single message will not be split across files. If -logfile is set, the default is 10000000.

-loglevel loglevel

Set log level. The following log levels may be used: always, critical, error, warning, info, moreinfo, freq, morefreq, trace, busy. The default is info .

-trace trace_class

Trace selected events. The following trace classes may be used: all, rpcs, updates, transactions, monitor. If you specify this option, you must also specify -tracefile and/or -tracelog. No tracing is done, even if it is requested for one or more classes of events, unless either or both of -tracefile or -tracelog is specified. The default is transactions.

-tracefile filename

Set trace filename. There is no default.

-tracefilemax maximum_size

Sets the trace file maximum size (in bytes). If the file exceeds the maximum size, any preexisting filename.old will be deleted, the current file will be renamed to filename.old, and a new file will be created.

-[no]tracelog

[Does not] trace to the log destination. When this option is set, tracing messages are directed to the log destination or destinations. If there is also a trace file, the tracing messages are written there as well. The default is -tracelog.

-[no]parent_timer

[Does not] exit when the parent exits. The default is -noparent_timer.

-[no]daemonize

[Does not] run as a daemon. The default is -daemonize.

-l

Does not run as a daemon.

-h

Prints usage message.

-o help

Prints usage message.

If you use the default values for these options, the system will be configured so that all log messages of level info or less, and all trace messages for transaction events, are sent to the /var/log/cxfs/fs2d_log file. When the file size reaches 10 MB, this file will be moved to its namesake with the .old extension and logging will roll over to a new file of the same name. A single message will not be split across files.

If you make a change to the fs2d.options file at any time other than the initial configuration time, you must restart the fs2d processes in order for those changes to take effect. You can do this by rebooting the server-capable administration nodes or by entering the following command:

server-admin# service cxfs_cluster restart

If you execute this command on a running cluster, it should remain up and running. However, the GUI will lose connection with the cad daemon; the GUI will prompt you to reconnect.

fs2d.options Example 1

The following example shows an /etc/config/fs2d.options file that directs logging and tracing information as follows:

  • All log events are sent to: /var/log/messages

  • Tracing information for RPCs, updates, and transactions are sent to /var/log/cxfs/fs2d_ops1.

    When the size of this file exceeds 100,000,000 bytes, this file is renamed to /var/log/cxfs/fs2d_ops1.old and a new file /var/log/cxfs/fs2d_ops1 is created. A single message is not split across files.

(Line breaks added for readability.)

-logevents all -loglevel trace -logdest syslog -trace rpcs 
-trace updates -trace transactions -tracefile /var/log/cxfs/fs2d_ops1 
-tracefilemax 100000000

fs2d.options Example 2

The following example shows an /etc/config/fs2d.options file that directs all log and trace messages into one file, /var/log/cxfs/fs2d_chaos6, for which a maximum size of 100,000,000 bytes is specified. -tracelog directs the tracing to the log file.

(Line breaks added for readability.)

-logevents all -loglevel trace -trace rpcs -trace updates 
-trace transactions -tracelog -logfile /var/log/cxfs/fs2d_chaos6 
-logfilemax 100000000 -logdest logfile.

clconfd.options on Server-Capable Administration Nodes

You can use the clconfd.options file on each server-capable administration node to contain a list of nondefault parameters that the clconfd daemon will read when the process is started. To use this feature, create the following file:

/etc/cluster/config/clconfd.options

Table 8-2 shows the options that can be set in the fs2d.options file.

Table 8-2. clconfd.options File Options

Option

Description

-c CDBfile

Reads the cluster database configuration from the specified CDBfile file. The default file is /var/cluster/cdb/cdb.db.

-d debugfile

Enables printing debug information to the specified file debugfile. The default is to print no information.

-h

Prints a help message for clconfd.options.

-l

Runs clconfd in the foreground. (For SGI development debugging purposes only. Do not use this option unless directed to do so by SGI support.) The default is to run clconfd in the background.

-s loglevel

Specifies the log level to use for logging to standard error. The default is 0 (no logging). For information about log levels, see “Configure Log Groups with the GUI” in Chapter 10.

-R

Disables real-time scheduling. By default, real-time scheduling is enabled.

For example, to print hafence debug information to the file /tmp/hafence.log, add the following line to the clconfd.options file:

-d /tmp/hafence.log 

If you make a change to the clconfd.options file at any time other than the initial configuration time, you must restart the clconfd processes in order for those changes to take effect. You can do this by rebooting the server-capable administration nodes or by entering the following command:

server-admin# service cxfs restart

Enabling GRIOv2 (Optional)

This section discusses enabling and disabling GRIOv2 the following for server-capable administration nodes:


Note: GRIOv2 requires a license key on the server-capable administration nodes.


Enabling GRIOv2 After Reboot

To enable GRIOv2 on a server-capable administration node, do the following:

  1. Turn the grio2 flag on with the chkconfig(8) command:

    server# chkconfig grio2 on

  2. Reboot the system.

Enabling GRIOv2 for the Current Session

To enable GRIOv2 for the current session, enter the following:

server# services grio2 start

Disabling GRIOv2 After Reboot

To prevent GRIOv2 from being enabled after reboot on server-capable administration node, do the following:

  1. Turn the grio2 flag on with the chkconfig(8) command:

    server# chkconfig grio2 on

  2. Reboot the system.

Disabling GRIOv2 for the Current Session

To disable GRIOv2 for the current session, enter the following:

server# services grio2 stop

Configuring XVM Path Failover

This section discusses the following:

XVM Path Failover Overview

XVM path failover creates an infrastructure for the definition and management of multiple paths to a single disk device or logical unit (LUN). XVM selects a path for I/O from the host through the fabric to the RAID, using a particular HBA at the host end and a particular controller at the RAID end. XVM can be controlled to select paths that result in the best I/O performance. The key choices are:

  • RAID controller selection

  • HBA selection

Unnecessary switching between RAID controllers to access a LUN can degrade performance considerably. If more selected paths go through one HBA than through another, resource contention in the first HBA will slow down I/O while the other one is underused.

To avoid these problems, XVM uses path failover and the path manager feature. You must specify appropriate controller groupings, preferred controller paths, and/or HBA usage in the /etc/failover2.conf file on each node in the CXFS cluster as needed.


Note: SGI requires SGIAVT or ALUA mode. See “Changing SGIRDAC Mode to SGIAVT Mode for SGI RAID” in Appendix F.


Creating the /etc/failover2.conf File

To create the failover2.conf file for each node in the cluster, do the following:

  1. Create the preliminary file on the active CXFS metadata server:

    mds# mk_failover2.pl -C preliminary

  2. Edit the preliminary file to make any desired affinity changes.

  3. Copy the edited preliminary file to each of the other Linux server-capable administration nodes, Linux client-only nodes, and Mac OS client-only nodes.

  4. Using the edited preliminary file as a base, create a node-specific file on each node and rename it:

    1. Run the script on the node to create its unique file:

      node# mk_failover2.pl preliminary node-specific

    2. Review the content of node-specific .

    3. Rename node-specific :

      node# mv node-specific /etc/failover2.conf

  5. Manually configure the failover2.conf file for Windows, as directed in CXFS 7 Client-Only Guide for SGI InfiniteStorage.

Also see:

  • The example file installed in /etc/failover2.conf.example

  • The comments in the failover2.conf file

xvm Commands Related to XVM Failover


Note: The xvm command is provided on all CXFS platforms. You can use xvm on a client-only node to display configuration information. To make administrative changes, you must run xvm as root on a server-capable administration node.

The following are useful xvm commands related to XVM failover:

  • Get information about a command:

    # xvm help -verbose foconfig
    # xvm help -verbose foswitch
    # xvm help -verbose show

  • Display information about physical volumes ( physvols):

    # xvm show -verbose physvol
    # xvm show -verbose physvol | fgrep affinity > templatefile

  • Push the information in the /etc/failover2.conf file to the kernel:

    # xvm foconfig -init

  • Switch paths for physical volumes:

    # xvm foswitch -cluster -preferred phys 
    # xvm foswitch -cluster -preferred phys/physvolname
    # xvm foswitch -cluster -affinity affinityvalue phys 
    # xvm foswitch -cluster -setaffinity affinityvalue phys/physvolname 

  • Show current paths for physical volumes not on preferred paths:

    # xvm show -verbose physvol | fgrep current | fgrep -v preferred

  • Switch to the specified device number for the local node:

    # xvm foswitch -dev newdevice

For details, see the XVM Volume Manager Administrator Guide and the xvm(8) man page.

RAID Units and XVM Failover

For considerations regarding specific models of SGI RAID hardware, see XVM Volume Manager Administrator Guide.