Index Index for
Section 8
Index Alphabetical
listing for C
Bottom of page Bottom of
page

cfsd(8)

NAME

cfsd - The CFS load monitoring daemon

SYNOPSIS

/usr/sbin/cfsd

DESCRIPTION

The CFS load monitoring daemon can monitor, report, and respond to file system-related node and cluster activity. You can use cfsd to better understand and manage the cluster's file systems. The cfsd daemon can perform the following functions: · Collect a variety of statistics on file system usage and system load. You can use this data to understand how the cluster's file systems are being used. · Analyze the statistics that it collects and recommend file system relocations that may improve system performance or balance the file system load across the cluster. · Monitor memory usage on cluster nodes and generate an alert when a member is approaching the CFS memory usage limit. · Assist in managing file systems by locating file systems based on your preferences and storage connectivity. You can configure cfsd to automatically relocate file systems when members join or leave the cluster, when storage connectivity changes, or as a result of CFS memory usage. An instance of the cfsd daemon runs on each member of the cluster. If cfsd runs in the cluster it must run on each member; cfsd depends on a daemon running on each member for proper behavior. If you do not want cfsd to be running in the cluster, no member should run it. Each instance of the daemon collects statistics on its member and monitors member-specific events such as low memory. One daemon from the cluster automatically serves as the "leader" daemon and is responsible for analyzing all of the collected statistics, making recommendations, and initiating automatic relocations. The daemons are configured via a clusterwide /etc/cfsd.conf configuration file. cfsd monitors file system performance and resource utilization by periodically polling the member for information, as deteremined by the polling_schedule attributes of the /etc/cfsd.conf configuration file for a given policy. Based on the contents of the /etc/cfsd.conf configuration file, cfsd collects information on each member's usage of each file system, on the memory demands of each file system, on the system memory demand on each member, and on member-to-physical storage connectivity. cfsd also subscribes to EVM events to monitor information on general cluster and cluster file system state, such as cluster membership, mounted file systems, and device connectivity. Gathering cfsd Statistics When configured to gather statistics in /etc/cfsd.conf, each cfsd daemon accumulates the statistics in the member-specific binary file /var/cluster/cfs/stats.member. The data in this file is in a format specific to cfsd and is not intended for direct user access. cfsd updates and maintains these files; you do not need to periodically delete or maintain them. The following data is collected for each cluster member: · svrcfstok structure count limit. (See the Cluster Administration guide for information.) · Number of active svrcfstok structures · Total number of bytes · Number of wired bytes The following data is collected per file system per member: · Number of read operations · Number of write operations · Number of lookup operations · Number of getattr operations · Number of readlink operations · Number of access operations · Number of other operations · Bytes read · Bytes written · Number of active svrcfstok structures Analyzing cfsd Statistics After analyzing these collected statistics, cfsd places the results in the /var/cluster/cfs/analysis.log file. /var/cluster/cfs/analysis.log is actually a symbolic link to the most recent /var/cluster/cfs/analysis.log.dated file. When a /var/cluster/cfs/analysis.log.dated file becomes 24 hours old, a new version is created and the symlink is updated. Prior versions of the /var/cluster/cfs/analysis.log.dated file are purged. The cfsd daemon posts an EVM event to alert you that the latest analysis contains interesting results. /var/cluster/cfs/analysis.log contains plain text, in a format similar to the following: Cluster File System (CFS) Analysis Report (generated by cfsd[525485] at Friday Nov 30 19:02:30 2001) Recommended relocations: none Filesystem usage summary: cluster reads writes req'd svr mem 24 KB/s 0 KB/s 4190 KB node reads writes req'd svr mem rye 4 KB/s 0 KB/s 14 KB swiss 19 KB/s 0 KB/s 4176 KB filesystem node reads writes req'd svr mem test_one# 2 KB/s 0 KB/s 622 KB rye 0 KB/s 0 KB/s @swiss 2 KB/s 0 KB/s test_two# 4 KB/s 0 KB/s 2424 KB rye 1 KB/s 0 KB/s @swiss 3 KB/s 0 KB/s : : Filesystem placement evaluation results: filesystem node conclusion observations test_one# rye considered (hi conn, hi pref, lo use) @swiss recommended (hi conn, hi pref, hi use) test_two# rye considered (hi conn, hi pref, lo use) @swiss recommended (hi conn, hi pref, hi use) : : The Recommended relocations section of the /var/cluster/cfs/analysis.log file contains any recommended relocations, or indicates that no recommendations were made. In the example, no relocations are recommended. The Filesystem usage summary section summarizes cluster file system usage with average byte read and write rates and approximate CFS server memory requirements. The summary data is listed in finer granularity: first for the entire cluster, then for each member, and finally on a per-file system and a per-file system, per-member basis. The current CFS server of each file system is indicated by an "at" symbol (@). The Filesystem placement evaluation results section summarizes the file system placement evaluation results. For each file system, /var/cluster/cfs/analysis.log lists each member, its observations about the file system-member pair, and the conclusion it reached regarding the member acting as the server for the file system. The current CFS server of each file system is indicated by an "at" symbol (@). Possible conclusions (one per file system-member pair): recommended The cfsd daemon recommends that the member be the server for the file system. The current server of a file system is recommended if the file system cannot be relocated. considered The cfsd daemon considered the member as a potential server based on administrator preference and device connectivity. A member may have been considered but not recommended based on its usage of the file system, its inability to meet the file system's memory demands, or in an effort to balance the file system load across the cluster nodes. not considered The cfsd daemon did not consider the member as a potential server for the file system. This can be due to a variety of factors: the member is not a preferred server, the member has limited device connectivity, or the file system cannot be relocated. Possible observations (one or more per file system-member pair): no relo The file system cannot be relocated. This may be because relocation is not supported for the file system type, the file system is a member's boot partition, the file system is server-only (partitioned), or the file system is managed by the hierarchical storage manager (HSM), as described in dmapi(3). bootpart Indicates that the file system is a member's boot partition and cannot be relocated. dmapi The file system is mananged by the hierarchical storage manager (HSM), as described in dmapi(3). no conn, lo conn, hi conn How well a member is connected to the file system's devices relative to the other members in the cluster. Only members that have high connectivity ratings are considered potential servers for a file system. no pref, lo pref, hi pref A member's preference rating as a server for the file system relative to the other members in the cluster. Only members that have high preference ratings are considered potential servers for a file system. lo use, hi use A member's use of a file system relative to the other members in the cluster. Only members that have high use ratings are considered potential servers for a file system. A member might not have a use rating if it has a low connectivity and or a low preference rating. no mem A member was qualified to serve a file system based on its use of the file system, its preference as a server, and its device connectivity, but that svrcfstok limit constraints prevented it from being recommended as the server for the file system. The cfsd daemon posts an EVM sys.unix.clu.cfsd.anlys.relocsuggested event to alert you that the latest analysis contains interesting results. You can use the results of this analyses to determine whether a different cluster member should be the CFS server for a given file system. If the current CFS server is not the recommended server for this file system based on the cfsd analyses, you can use the cfsmgr command to relocate the file system to the recommended server. cfsd logs info to the syslog daemon log, /var/adm/syslog.dated/current/daemon.log. You can check this file for cfsd configuration file errors: # cat /var/adm/syslog.dated/current/daemon.log | grep cfsd Dec 12 17:13:16 rye cfsd[1065058]: performing filesystem analysis... Dec 12 17:13:16 rye cfsd[1065058]: filesystem analysis complete Dec 12 17:13:16 rye cfsd[1065058]: logging analysis results to "/var/cluster/cfs/analysis.log" Notes The cdfs daemon considers an AdvFS domain to be an indivisible entity. Relocating a file system of type AdvFS affects not only the selected fileset, but all filesets in the same domain. The entire domain is relocated. File systems of type NFS client and Memory File System (MFS) cannot be relocated. In addition, member boot partitions, server-only file systems (such as UFS file systems mounted for read-write access), and file systems that are under hierarchical storage manager (HSM) management cannot be relocated. Direct-access I/O devices on a shared bus are served by all cluster members on that bus. A single-server device, whether on a shared bus or directly connected to a cluster member, is served by a single member. If two or more file systems use the same single-server device, cfsd does not relocate them due to performance issues that would arise if the file systems were not served by the same node. Starting and Stopping cfsd The /sbin/init.d/cfsd file starts an instance of the cfsd daemon on each cluster member. However, starting the daemon does not by itself make cfsd active: the cfsd daemon's behavior is controlled via the active field of the stanza-formatted file /etc/cfsd.conf. The active field enables cfsd if set to 1. cfsd is disabled by default (set to 0) and you must explicitly enable it to use it. cfsd reads the clusterwide /etc/cfsd.conf file at startup. You can force cfsd to reread the configuration file by sending it a SIGHUP signal, in a manner similar to the following: # kill -HUP `cat /var/run/cfsd.pid` If you modify /etc/cfsd.conf, send any cfsd the SIGHUP signal to force it to reread the file. When you send SIGHUP to any cfsd daemon process in the cluster, all cfsd daemons in the cluster reread the the file; there is no need to issue multiple SIGHUP signals.

EVM EVENTS

cfsd posts an EVM sys.unix.clu.cfsd.anlys.relocsuggested event to alert you that the latest analysis contains interesting results. You can use the evmwatch and evmshow commands to monitor these events. # evmget | evmshow -t "@name [@priority]" | grep cfsd sys.unix.clu.cfsd.anlys.relocsuggested [200] The following command provides additional information on cfsd EVM events. # evmwatch -i -f "[name sys.unix.clu.cfsd.*]" | evmshow -d | more

EXIT STATUS

0 Success. 1 An error occurred. cfsd did not start.

EXAMPLES

1. You can force cfsd to reread the configuration file by sending it a SIGHUP signal, in a manner similar to the following: # ps agx | grep cfsd 1049924 ?? I 0:02.68 /usr/sbin/cfsd 1146714 pts/5 S + 0:00.01 grep cfsd # kill -HUP `cat /var/run/cfsd.pid` 2. Assume that member swiss is the current CFS server of the test_two domain and cfsd recommends that member rye be the CFS server: test_two# rye recommended (hi conn, hi pref, hi use) @swiss considered (hi conn, hi pref, lo use) If you agree with this analyses and want to implement the recommendation, enter the following cfsmgr command to change the CFS server to rye: # cfsmgr -a server=rye -d test_two # cfsmgr -d test_two Domain or filesystem name = test_two Server Name = rye Server Status : OK

FILES

/etc/cfsd.conf Clusterwide configuration file read by cfsd. /var/cluster/cfs/stats.member Member-specific binary data file. /var/cluster/cfs/analysis.log Clusterwide data analysis log file.

SEE ALSO

Commands: cfsmgr(8) Additional Documentation: Cluster Administration guide

Index Index for
Section 8
Index Alphabetical
listing for C
Top of page Top of
page