主权项 |
一种保证服务器管理系统服务可用性的方法, 其特征在于该方法是在HeartBeat 软件的实现基础上加以改进,在提供服务的主服务机上实现了服务检测功能,以及提供一种可量化的服务评估方式是对服务使用的计算资源和存储资源的可用性分别进行评估,最后得出服务的可用与否,增加服务的可靠性,以提供HeartBeat 软件是否进行主从服务器之间的服务切换,具体步骤如下:将检测功能的 shell 嵌入 HeartBeat 的主文件 heartbeat.c 文件中的初始化函数 static int initialize_heartbeat()函数中,伴随着HearBeat服务同时启动,以保证被检测的服务从始至终能够被检测到,只要检测的服务在运行,检测一直循环进行,只有检测的服务停止运行,并且达到重启失败的次数,此时循环才结束,通过 svcs ‑a | grep 检测的服务来检测服务状态,只要检测到服务处于异常状态,就先尝试用enable或clear命令重启服务,重启成功,继续循环 ;达到重启次数失败就会退出循环,让从服务器接管该服务以保证服务的连续性和可用性;通过服务系统提供的系统命令svcs ‑a查找出所有服务系统中运行的服务状态,然后通过脚本查看我们需要检测的服务的状态是否运行正常,如果要检测的服务不是在线状态,则立刻重启或者停止该服务,如成功,则该服务就正常运行了 ;如失败,则主机经过设定次数的重启尝试后便发送消息给集群中的其他备份主机,要求其他主机接管该服务,从而完成服务切换。 |