An application is capable of being cluster-aware if it has the following characteristics:
- It uses TCP/IP as a network protocol.
- It maintains data in a configurable location.
- It supports transaction processing.
Most database applications, transaction processing applications, file and print server applications, and other groupware applications are capable of being made cluster-aware.
There are two types of cluster-aware applications:
- Applications that are managed as highly available cluster resources by a custom resource type. If you want your application to be highly available, to fail over, to benefit from customized failure detection policies, or to be made available to clients on a failover cluster instance, your application needs to be managed as a cluster resource. This means that in addition to any cluster-awareness you want to add to the application, you will need to create a custom resource type to manage the application. For more information, see Creating Resource Types
- Applications that interact with the cluster but are not cluster resources. Cluster Administrator is an example of such an application. This category also includes cluster-aware performance monitors, configuration tools, setup applications, event handlers, and cluster management applications.
To create a cluster-aware application, review the following tasks and determine what kinds of interactions your application needs to implement:
The following table presents examples of different kinds of cluster-aware applications and the event, information, and configuration tasks you may want to implement for such applications.
|Cluster-aware application||Event tasks||Information tasks||Configuration tasks|
|A cluster-aware setup application.||None.||Detect the cluster version, list the nodes in the cluster, and list the available disks.||Create and configure a test group.|
|A remote failover monitor and performance tracker||Any events involving group or resource state changes or movement||List the nodes in the cluster, the groups on each node, and the resources in each group. Retrieve group and resource properties, especially those relating to times and intervals.||None (a read-only interface).|
|A resource configuration wizard||None.||Be able to provide feedback and verification on the changes the user is making.||Back up the cluster database, create a group, create resources, change properties, create dependencies, change owner node lists, create registry and crypto checkpoints, and change states.|