Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

Stop 概述

当尝试停止数据服务时,需要考虑以下两个主要方面。 第一方面是进行顺序停机。 完成顺序停机的最佳方法是通过 pmfadm 发送 SIGTERM 信号。

第二方面是要确保数据服务确实已停止,以避免使其处于 Stop_failed 状态。 完成此项操作最好的方法是通过 pmfadm 发送 SIGKILL 信号。

数据服务样例中的 Stop 方法已考虑到了这两方面。 该方法首先会发送 SIGTERM 信号。 如果此信号无法停止该数据服务,该方法将发送 SIGKILL 信号。

在尝试停止 DNS 之前,此 Stop 方法将检验该进程是否确实正在运行。 如果该进程正在运行,Stop 将使用进程监视工具 (pmfadm) 停止该进程。

确保此 Stop 方法具有幂等性。 虽然如果不先通过调用数据服务的 Start 方法来启动该数据服务,RGM 不应对 Stop 方法进行两次调用,但是即使是在资源从未启动或主动停止运行的情况下,也可以对该资源调用 Stop 方法。 因此,即使 DNS 未运行,此 Stop 方法也可以在成功状态下退出。