以下几节描述如何显示、启用、禁用、修改、重新安置和删除服务;以及如何处理启动失败的服务。本章还提供了设置特定类型的服务范例。
设置了磁盘贮存区,并安装了要被群集管理的应用程序后,你就可以通过使用群集配置工具来管理这些应用程序和资源。
要配置服务,请遵循这些步骤:
若适用,创建一个脚本来启动、停止该服务中使用的应用程序,或检查其状态。详情请参阅第 3.1.2 节。
收集有关服务资源和属性的信息。详情请参阅第 3.1.1 节。
设置服务使用的文件系统或原始设备。详情请参阅第 3.1.3 节。
确保应用程序软件可以在每个成员上运行(在相关的失效转移域或在群集中),以及服务脚本(若有)能够启动和停止服务应用程序。关于升级的说明,请参阅第 3.1.4 节。
若从现存群集中升级,请备份 /etc/cluster.conf 文件。关于升级的说明,请参阅第 2.2 节。
启动群集配置工具,然后添加服务,指定在步骤2中获得的关于服务资源和属性的信息。
保存你的配置。保存一个群集成员上的设置会自动延伸到其它成员上。
关于添加群集服务的详情请参阅以下资料:
在配置服务前,收集所有关于服务资源和属性的可用信息。在某些情况下,还可能为一个服务指定多个资源(例如,多个 IP 地址和磁盘设备)。
表 3-1中描述了你可以使用群集配置工具来指定的服务属性和资源。
属性 | 描述 | ||||
---|---|---|---|---|---|
服务名称 | 每个服务必须有一个独特的名称。服务名称可以包含1到63个字符,必须包含字母(大小写)、数字、下划线、点和短横线(连线)的组合。服务名称必须以字母或下划线开头。 | ||||
失效转移域 |
| ||||
检查间隔 | 指定成员检查和服务相关的应用程序的健康状况的频繁程度(以秒为单位)。例如,当你为 NFS 或 Samba 服务指定了非零的检查间隔时,红帽群集管理器会校验必要的 NFS 或 Samba 服务是否在运行。对于其它类型的服务,红帽群集管理器会在调用了服务脚本的 status 从句之后检查其返回状态。按照默认设置,检查间隔为零就表明服务监视被禁用。 | ||||
用户脚本 | 若适用,指定用于启动和停止该服务的脚本的完整路径名。详情请参阅第 3.1.2 节。 | ||||
IP 地址 |
| ||||
设备特殊文件 | 指定用在服务中的每个共享磁盘分区。 | ||||
文件系统和共享选项 |
|
表 3-1. 服务属性和资源信息
群集通过运行服务特有的脚本来启动和停止指定的应用程序。对于 NFS 和 Samba 服务而言,相关脚本被建入群集服务体系中。因此,在运行群集配置工具来配置 NFS 和 Samba 服务时,你就需要把「用户脚本」字段留为空白。对于其它应用程序类型,你有必要使用专用的服务脚本。例如,在配置数据库程序时,指定相应的数据库启动脚本的完整路径名称。
服务脚本的格式服从 System V init 脚本的约定。这种约定要求脚本有一个 start、stop、和 status 从句。这些脚本在成功完成时应该返回的退出状态为 0。
当某服务在一个群集成员上启动失败时,红帽群集管理器会试图在另一个群集成员上启动这个服务。如果另一个群集成员也无法启动这个服务,红帽群集管理器就会试图在所有成员上停止该服务。如果由于某种原因,服务无法被停止,群集就会把这个服务的状态标为「失效」。然后,管理员就必须重新启动群集状态工具,突出显示失效的服务,然后在启用该服务前点击「禁用」。
除了执行停止和启动功能外,脚本还被用来监视应用程序服务的状态。这是通过调用服务脚本的 status 从句来进行的。要启用服务监视,在使用群集配置工具来指定服务属性的时候,在「检查间隔」字段中指定一个非零的值。如果状态检查请求给服务脚本返回的退出状态是一个非零的值,那么群集就会首先试图重新启动最先运行这个应用程序的成员上的应用程序。状态功能在服务脚本中还没有被完全实现。如果脚本不执行任何真正的监视工作,那么返回成功的 status 从句就应该存在。
在应用程序的状态(status)从句中执行的操作可以被定制来满足其需要和站点特有的参数需要。例如,一个简单的数据库状态检查可以包括校验该数据库进程是否仍在运行。更完整的检查可以包括数据库表格查询。
除了脚本范例外,/usr/share/cluster/doc/services/examples/ 目录还包含一个能够被用来创建服务脚本的模板。关于脚本范例,请参考第 4.1 节、第 4.3 节、和第6章 。
在创建服务前,设置服务要使用的共享文件系统和原始设备。详情请参阅第 1.4.4 节。
若在群集服务中使用了原始设备,你有可能使用 /etc/sysconfig/rawdevices 文件来在引导时绑定这些设备。编辑该文件,指定要在每次成员引导时都绑定的原始字符设备和块设备。详情请参阅第 2.5 节。
注意,软件 RAID 和基于主机的 RAID 不能被用于共享磁盘贮存区。只有基于被认证的 SCSI 适配器的 RAID 卡才能够被用于共享磁盘贮存区。
你应该遵守以下推荐的服务磁盘贮存区:
要优化性能,在创建文件系统时使用4KB的块大小。注意,某些 mkfs 文件系统建构系统使用默认的1KB块大小,它可能会导致较长的 fsck 时间。
要获得较快的失效转移时间,推荐你使用 ext3 文件系统。详情请参阅第 1.4.4.6 节。
对于大文件系统而言,使用 nocheck 选项来绕过会检查分区上所有块组群的代码。指定 nocheck 选项能够大大降低挂载大文件系统所需的时间。
在设置服务前,请安装群集中每个成员(或失效转移域中的每个成员)的服务中都使用的应用程序。在这些成员上安装了应用程序后,校验应用程序是否能够运行和存取共享磁盘贮存区。要防止数据损坏,不要在多个成员上同时运行这个应用程序。
若使用脚本来启动和停止服务程序,请安装和测试所有群集成员上的脚本,然后校验它是否能够被用来启动和停止这些程序。详情请参阅第 3.1.2 节。