本节讨论《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的错误和遗漏之处。
在《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的“Resource Type Properties”一节中,对 Failover 资源属性的描述中缺少有关非全局区域中支持可伸缩服务的说明。此项支持适用于符合以下条件的资源:其所属资源类型的 Failover 属性设置为 FALSE 且该资源的 Scalable 属性设置为 TRUE。这样的属性设置组合代表的是使用 SharedAddress 资源进行网络负载平衡的可伸缩服务。在 Sun Cluster 3.2 发行版中,您可以在运行于非全局区域的资源组中配置此类可伸缩服务。但不能将可伸缩服务配置为在同一节点上的多个非全局区域中运行。
缺少对 Sun Cluster 3.2 发行版中方法超时行为更改的描述。现在,如果 RGM 方法回调超时,则系统将使用 SIGABRT 信号而不是 SIGTERM 信号来终止该进程。这会导致进程组的所有成员均生成一个核心转储文件。
请避免编写会创建新进程组的数据服务方法。如果您的数据服务方法确实需要创建新的进程组,则还应为 SIGTERM 和 SIGABRT 信号编写信号处理程序。编写信号处理程序以便在信号处理程序在终止父进程之前,先将 SIGTERM 或 SIGABRT 信号转发给子进程组。这样一来,由该方法所产生的所有进程都正常终止的可能性将会加大。
《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的第 12 章 “Cluster Reconfiguration Notification Protocol”中缺少以下说明:在 Solaris 10 OS 上,群集重新配置通知协议 (Cluster Reconfiguration Notification Protocol, CRNP) 仅会在全局区域中运行。
在《Sun Cluster Data Services Developer’s Guide for Solaris OS》中的“Setting Up the Development Environment for Writing a Data Service”一节中,有一条注释,指出必须具有 Solaris 软件组的开发者分发版本或完整分发版本。此注释适用于开发计算机。但由于此注释之前的一句话是关于在群集上测试数据服务的,因此读者可能会误认为这是对正在运行数据服务的群集的要求。