Agents
Agents are VCS processes that manage resources of predefined resource types according to commands received from the VCS engine, HAD. A system has one agent per resource type that monitors all resources of that type; for example, a single IP agent manages all IP resources.
When the agent is started, it obtains the necessary configuration information from VCS. It then periodically monitors the resources, and updates VCS with the resource status.
The agent provides the type-specific logic to control resources. The action required to bring a resource online or take it offline differs significantly for each resource type. VCS employs agents to handle this functional disparity between resource types. For example, bringing a disk group online requires importing the disk group, but bringing a database online requires starting the database manager process and issuing the appropriate startup commands.
VCS agents are multithreaded, meaning a single VCS agent monitors multiple resources of the same resource type on one host. For example, the IP agent monitors all IP resources. VCS monitors resources when they are online and offline to ensure they are not started on systems on which they are not supposed to run. For this reason, VCS starts the agent for any resource configured to run on a system when the cluster is started. If no resources of a particular type are configured, the agent is not started. For example, if there are no Oracle resources in your configuration, the Oracle agent is not started on the system.
The Agent Framework
VCS agents provide the capability to control a wide array of hardware and software resources. The agent abstraction makes it simple for a developer to support new and changing applications in the VCS control framework.
The VCS agent framework is a set of common, predefined functions compiled into each agent. These functions include the ability to connect to the VCS engine (HAD) and to understand common configuration attributes. The agent framework frees the developer from developing support functions required by the cluster, and instead focus on controlling a specific resource type. For more information on developing agents, see the VERITAS Cluster Server Agent Developer's Guide.
Agent Operations
Agents carry out specific operations on resources on behalf of the cluster engine. The functions an agent performs are entry points, code sections that carry out specific functions, such as online, offline, and monitor. Entry points can be compiled into the agent itself or can be implemented as individual Perl scripts. For details on any of the following entry points, see the VERITAS Cluster Server Agent Developer's Guide.
- Online---Brings a specific resource ONLINE from an OFFLINE state.
- Offline---Takes a resource from an ONLINE state to an OFFLINE state.
- Monitor---Tests the status of a resource to determine if the resource is online or offline.
During initial node startup, the monitor entry point probes and determines the status of all resources on the system. The monitor entry point runs after every online and offline operation to verify the operation was successful.
The monitor entry point is also run periodically to verify that the resource remains in its correct state. Under normal circumstances, the monitor is run every 60 seconds when a resource is online, and every 300 seconds when a resource is expected to be offline.
- Clean---Cleans up after a resource fails to come online, fails to go offline, or fails while in an ONLINE state. The clean entry point is designed to "clean up" after an application, and ensures the host system is returned to a valid state. For example, the clean function may remove shared memory segments or IPC resources left behind by a database.
- Action---Performs actions that can be completed in a short time (typically, a few seconds), and which are outside the scope of traditional activities such as online and offline.
- Info---Retrieves specific information for an online resource.
The retrieved information is stored in the resource attribute ResourceInfo. This entry point is invoked periodically by the agent framework when the resource type attribute InfoInterval is set to a non-zero value. The InfoInterval attribute indicates the period after which the info entry point must be invoked. For example, the Mount agent may use this entry point to indicate the space available on the file system.
Agent Classifications
Bundled Agents
Bundled agents are packaged with VCS. They include agents for Disk, Mount, IP, and various other resource types. See the VERITAS Bundled Agents Reference Guide for a complete list.
Enterprise Agents
Enterprise agents control third-party applications and are licensed separately. These include agents for Oracle, NetBackup, and Sybase. Each enterprise agent includes instructions on installing and configuring the agent. Contact your VERITAS sales representative for more information.
Custom Agents
Custom agents can be developed by you or by VERITAS consultants. Typically, agents are developed because the user requires control of an application that is not covered by current bundled or enterprise agents. See the VERITAS Cluster Server Agent Developer's Guide for information on developing a custom agent, or contact VERITAS Enterprise Consulting Services.
|