Defined start, stop, and monitor procedures

The application to be clustered must have defined procedures for starting, stopping, and monitoring.

Start procedure
The application must have a command to start it and all resources it may require. VCS brings up the required resources in a specific order, then brings up the application using the defined start procedure.
For example, to start an Oracle database, VCS must know which Oracle utility to call, such as sqlplus. VCS must also know the Oracle user, instance ID, Oracle home directory, and the pfile.
Stop procedure
An individual instance of the application must be capable of being stopped without affecting other instances.
For example, killing all HTTPd processes on a Web server is unacceptable because it would also stop other Web servers.
If VCS cannot stop an application cleanly, it may call for a more forceful method, like a kill signal. After a forced stop, a clean-up procedure may be required for various process- and application-specific items that may be left behind. These items include shared memory segments or semaphores.
Monitor procedure
The application must have a monitor procedure that determines if the specified application instance is healthy. The application must allow individual monitoring of unique instances.
For example, the monitor procedure for a Web server connects to the specified server and verifies that it is serves Web pages. In a database environment, the monitoring application can connect to the database server and perform SQL commands to verify read and write access to the database.
The closer a test comes to matching what a user does, the better the test is in discovering problems. You should balance the level of monitoring between ensuring that the application is up and minimizing monitor overhead.