一种应用于集群服务器的免安装串行执行方法与系统与流程

专利2022-06-29  74


本发明涉及集群服务器技术领域,特别是一种应用于集群服务器的免安装串行执行方法与系统。



背景技术:

随着信息化社会的飞速发展,人类对信息处理能力的要求越来越高,不仅石油勘探、气象预报、航天国防、科学研究等需求高性能计算机,而且金融、政府信息化、教育、企业以及网络游戏等更广泛的领域对高性能计算的需求迅猛增长。由于hpc高性能集群环境涉及众多的服务器单元,在实施或者运维过程中,需要对集群中各个处理单元进行执行同一条指令时会耗费工作人员大量的时间及精力来登录每一个计算单元进行操作。

在实际应用场景中,实施人员或运维人员在登录集群的每一个节点执行指令时,由于节点数量庞大无序,很容易造成工作人员疲劳,以致输入了危害节点健康的命令,并且即使工作人员仔细,也会造成不必要的开销和时间上的浪费。



技术实现要素:

本发明的目的是提供一种应用于集群服务器的免安装串行执行方法与系统,旨在解决现有技术中集群服务器依靠人工部署所造成的人力成本高的问题,实现有效缩短配置时间,提高工作效率。

为达到上述技术目的,本发明提供了一种应用于集群服务器的免安装串行执行方法,所述方法包括以下步骤:

s1、将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

s2、利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

s3、实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

优选地,所述hostlists文件与操作脚本存放于同一目录中。

优选地,所述预设操作命令包括:

检查根目录的空间、检查所有节点的ypbind服务、将命令写入所有节点的启动项中、挂载集群所有节点的sdb磁盘至data目录中以及重启所有节点的ntp服务。

本发明还提供了一种应用于集群服务器的免安装串行执行系统,所述系统包括:

节点分组模块,用于将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

串行执行模块,用于利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

实时输出模块,用于实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

优选地,所述hostlists文件与操作脚本存放于同一目录中。

优选地,所述预设操作命令包括:

检查根目录的空间、检查所有节点的ypbind服务、将命令写入所有节点的启动项中、挂载集群所有节点的sdb磁盘至data目录中以及重启所有节点的ntp服务。

本发明还提供了一种应用于集群服务器的免安装串行执行设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现所述的应用于集群服务器的免安装串行执行方法。

本发明还提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的应用于集群服务器的免安装串行执行方法。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

与现有技术相比,本发明通过将集群中所有节点进行分组,并通过免安装串行执行命令工具serialcmd,在hpc集群环境中以免安装串行执行命令的方式,使得分组中所有节点按照顺序执行批量操作,且实时输出执行结果,从而可以在不改变集群现有软件安装环境下,有效缩短配置时间,快速定位和解决集群软件部署问题,且其操作方便,配置简单,对于集群的初级管理员来说,可大大提高工作效率。

附图说明

图1为本发明实施例中所提供的一种应用于集群服务器的免安装串行执行方法流程图;

图2为本发明实施例中所提供的一种应用于集群服务器的免安装串行执行系统框图。

具体实施方式

为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

下面结合附图对本发明实施例所提供的一种应用于集群服务器的免安装串行执行方法与系统进行详细说明。

如图1所示,本发明公开了一种应用于集群服务器的免安装串行执行方法,所述方法包括以下步骤:

s1、将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

s2、利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

s3、实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

本发明实施例通过免安装串行执行命令工具serialcmd,通过在hpc集群环境中,以免安装串行执行命令的方式,可以在不改变集群现有软件安装环境下,有效缩短配置时间,快速定位和解决集群软件部署问题。

将集群中所有节点进行分组,以分组的形式对节点进行资源分组,对于相同类型的节点或所需执行操作相同的节点划分为一个分组,如此便可在执行某一指令或操作时,选择相应分组即可。通过下述命令即可将节点进行分组:

groupname=”nodename01nodename02nodename03……”

节点与节点之间以空格进行分隔,并将节点设置于分组名之下,可以for循环的方式将节点写入分组名中。分组完成后,将所有分组存放在hostlists文件中。

对集群进行批量操作时,利用串行执行命令工具serialcmd读取hostlists文件,操作脚本与hostlists文件默认存放于同一目录中。

执行脚本时,可通过以下指令执行相应操作:

./serialcmd-g<group>"cmd"

第一个输入参数为模式选项,如果在模式选项参数之后没有其他输入参数,将会把所有的组名进行打印,第二个输入参数为为组名,会搜索hostlists文件中是否存在输入的组名,如果错误则终止脚本运行并输出错误信息,如无误则会按照组内节点的顺序对节点执行第三个输入参数并返回执行结果。第三个参数为要执行的命令,如果没有输入第三个输入参数会将所选组包含的所有节点依次打印出来。

所述第三个参数可以为任意的执行命令,可根据需要设置该命令所要执行的操作内容,例如第三个参数“cmd”可以为“df-ht|grep-w/”检查根目录的空间、“systemctlstatusypbind|grep-iactive”检查所有节点的ypbind服务、“echonvidia-smi-pm1>>/etc/rc.d/rc.local”将命令写入所有节点的启动项中、“mount/dev/sdb/data”挂载集群所有节点的sdb磁盘至data目录中、“systemctlrestartntpd”重启所有节点的ntp服务以及其他操作命令。

在执行过程中为串行执行,实时输出执行结果,由此可清楚知悉在执行命令时出现问题的节点,无需再等脚本执行完成之后再查找和定位,且脚本配置简单,使用方便,执行过程一目了然,在实施部署过程中和检查相应服务和挂载以及网络通信时尤其便捷。

本发明实施例通过将集群中所有节点进行分组,并通过免安装串行执行命令工具serialcmd,在hpc集群环境中以免安装串行执行命令的方式,使得分组中所有节点按照顺序执行批量操作,且实时输出执行结果,从而可以在不改变集群现有软件安装环境下,有效缩短配置时间,快速定位和解决集群软件部署问题,且其操作方便,配置简单,对于集群的初级管理员来说,可大大提高工作效率。

如图2所示,本发明实施例还公开了一种应用于集群服务器的免安装串行执行系统,所述系统包括:

节点分组模块,用于将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

串行执行模块,用于利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

实时输出模块,用于实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

将集群中所有节点进行分组,以分组的形式对节点进行资源分组,对于相同类型的节点或所需执行操作相同的节点划分为一个分组,如此便可在执行某一指令或操作时,选择相应分组即可。节点与节点之间以空格进行分隔,并将节点设置于分组名之下,可以for循环的方式将节点写入分组名中。分组完成后,将所有分组存放在hostlists文件中。

对集群进行批量操作时,利用串行执行命令工具serialcmd读取hostlists文件,操作脚本与hostlists文件默认存放于同一目录中。

执行脚本时,可通过以下指令执行相应操作:

./serialcmd-g<group>"cmd"

第一个输入参数为模式选项,如果在模式选项参数之后没有其他输入参数,将会把所有的组名进行打印,第二个输入参数为为组名,会搜索hostlists文件中是否存在输入的组名,如果错误则终止脚本运行并输出错误信息,如无误则会按照组内节点的顺序对节点执行第三个输入参数并返回执行结果。第三个参数为要执行的命令,如果没有输入第三个输入参数会将所选组包含的所有节点依次打印出来。

所述第三个参数可以为任意的执行命令,可根据需要设置该命令所要执行的操作内容,例如第三个参数“cmd”可以为“df-ht|grep-w/”检查根目录的空间、“systemctlstatusypbind|grep-iactive”检查所有节点的ypbind服务、“echonvidia-smi-pm1>>/etc/rc.d/rc.local”将命令写入所有节点的启动项中、“mount/dev/sdb/data”挂载集群所有节点的sdb磁盘至data目录中、“systemctlrestartntpd”重启所有节点的ntp服务以及其他操作命令。

在执行过程中为串行执行,实时输出执行结果,由此可清楚知悉在执行命令时出现问题的节点,无需再等脚本执行完成之后再查找和定位,且脚本配置简单,使用方便,执行过程一目了然,在实施部署过程中和检查相应服务和挂载以及网络通信时尤其便捷。

本发明实施例还公开了一种应用于集群服务器的免安装串行执行设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现所述的应用于集群服务器的免安装串行执行方法。

本发明实施例还公开了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的应用于集群服务器的免安装串行执行方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。


技术特征:

1.一种应用于集群服务器的免安装串行执行方法,其特征在于,所述方法包括以下步骤:

s1、将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

s2、利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

s3、实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

2.根据权利要求1所述的一种应用于集群服务器的免安装串行执行方法,其特征在于,所述hostlists文件与操作脚本存放于同一目录中。

3.根据权利要求1所述的一种应用于集群服务器的免安装串行执行方法,其特征在于,所述预设操作命令包括:

检查根目录的空间、检查所有节点的ypbind服务、将命令写入所有节点的启动项中、挂载集群所有节点的sdb磁盘至data目录中以及重启所有节点的ntp服务。

4.一种应用于集群服务器的免安装串行执行系统,其特征在于,所述系统包括:

节点分组模块,用于将集群中所有节点进行分组,将相同类型的节点或所需执行操作相同的节点划分为同一分组,并将所有分组存储至hostlists文件中;

串行执行模块,用于利用serialcmd读取hostlists文件,以命令行的方式,选取需要执行操作的分组,将分组中所有节点按照顺序以串行执行的方式执行预设操作命令;

实时输出模块,用于实时显示每个节点的输出结果,并根据输出结果判定执行是否异常。

5.根据权利要求4所述的一种应用于集群服务器的免安装串行执行系统,其特征在于,所述hostlists文件与操作脚本存放于同一目录中。

6.根据权利要求4所述的一种应用于集群服务器的免安装串行执行系统,其特征在于,所述预设操作命令包括:

检查根目录的空间、检查所有节点的ypbind服务、将命令写入所有节点的启动项中、挂载集群所有节点的sdb磁盘至data目录中以及重启所有节点的ntp服务。

7.一种应用于集群服务器的免安装串行执行设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现根据权利要求1至3任一项所述的应用于集群服务器的免安装串行执行方法。

8.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现根据权利要求1至3任一项所述的应用于集群服务器的免安装串行执行方法。

技术总结
本发明提供了一种应用于集群服务器的免安装串行执行方法与系统,本发明通过将集群中所有节点进行分组,并通过免安装串行执行命令工具serialcmd,在HPC集群环境中以免安装串行执行命令的方式,使得分组中所有节点按照顺序执行批量操作,且实时输出执行结果,从而可以在不改变集群现有软件安装环境下,有效缩短配置时间,快速定位和解决集群软件部署问题,且其操作方便,配置简单,对于集群的初级管理员来说,可大大提高工作效率。

技术研发人员:马志伟
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.20
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-29424.html

最新回复(0)