驱动组件的配置方法和装置
技术领域
本发明涉及计算机领域,并且特别地,涉及一种驱动组件的配置方法和装置。
背景技术
InfiniBand是一种高速网络技术和标准,由于InfiniBand具有高带宽、低延迟等优点,因此,在高性能计算、大数据处理等领域应用广泛,并且高性能计算集群通常使用InfiniBand作为高速计算网络或存储网络。在InfiniBand硬件安装到位之后,需要为集群中的每个节点安装InfiniBand驱动库,通常使用The OpenFabrics Alliance(OFA)组织提供的The OpenFabrics EnterpriseDistribution(OFED)驱动组件手动安装到每个节点上。
通常,对OFED驱动组件进行安装的方式是在集群中的每个节点上进行手动执行安装过程,手动安装方式操作繁琐、效率低、易出错,主要表现在:
1.OFED驱动组件没有提供批量安装功能,因此,每个节点均需要分别手动安装,手动安装方式重复劳动多、费时、效率低下,并且容易出现人为操作失误。因此,当集群规模很大时,这种安装方式工作量巨大,不宜采用这样的安装方式。
2.OFED驱动组件与集群节点操作系统存在兼容性问题,因此,需要根据集群节点操作系统版本选择OFED驱动组件版本。当集群中各个节点操作系统不一致时,如果手动安装OFED驱动组件,操作将更加繁琐。
针对相关技术中需要手动进行驱动组件的配置,导致配置过程复杂化并出错率高的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中需要手动进行驱动组件的配置,导致配置过程复杂化并出错率高的问题,本发明提出一种驱动组件的配置方法和装置,能够自动配置驱动组件,从而改善配置驱动组件的良率。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种驱动组件的配置方法。
该驱动组件的配置方法包括:
确定系统中需要配置驱动组件的多个节点和多个节点中每个节点的配置参数;
根据多个节点对应的配置参数确定每个节点的地址,将配置驱动组件的命令分发至多个节点;
对多个节点的驱动组件版本进行同步配置,其中,对于每个节点,根据该节点的系统信息调用对应的驱动组件对该节点进行同步配置。
其中,确定系统中需要配置驱动组件的多个节点和多个节点中每个节点的配置参数包括:
生成配置文件,在配置文件中保存多个节点的列表以及每个节点的配置参数;
并且,在发送配置驱动组件的命令时,根据配置文件进行发送。
此外,在对多个节点的驱动组件版本进行同步配置之后,配置方法进一步包括:
对于每个节点,根据配置文件中的配置参数对该节点的驱动组件的参数进行设置。
并且,每个节点中保存有多个版本的驱动组件,在对每个节点的驱动组件版本进行同步配置时,根据每个节点的系统信息,从该节点保存的多个版本的驱动组件中选择相应版本的驱动组件进行同步配置。
可选地,对多个节点的驱动组件版本进行同步配置进一步包括以下:
删除节点中已存在的原驱动组件;和/或
实时提示配置进度。
而且,上述系统信息包括以下至少之一:
操作系统的版本信息、用于进行驱动组件配置的工具信息。
根据本发明的另一个方面,提供了一种驱动组件的配置装置。
上述驱动组件的配置装置包括:
确定模块,用于确定系统中需要配置驱动组件的多个节点和多个节点中每个节点的配置参数;
分发模块,用于根据多个节点对应的配置参数确定每个节点的地址,将配置驱动组件的命令分发至多个节点;
同步配置模块,用于对多个节点的驱动组件版本进行同步配置,其中,对于每个节点,根据该节点的系统信息调用对应的驱动组件对该节点进行同步配置。
其中,上述确定模块用于生成配置文件,在配置文件中保存多个节点的列表以及每个节点的配置参数;并且,确定模块用于在发送配置驱动组件的命令时,根据配置文件进行发送。
此外,在同步配置模块对多个节点的驱动组件版本进行同步配置之后,上述配置装置进一步包括:
设置模块,用于对于每个节点,根据配置文件中的配置参数对该节点的驱动组件的参数进行设置。
本发明通过调用与需要配置驱动组件的各个节点相应的驱动组件版本进行配置,简化了驱动组件的配置操作步骤,提高了驱动组件配置的自动化程度,从而改善了配置驱动组件的良率。
附图说明
图1是根据本发明实施例的驱动组件的配置方法的流程图;
图2是根据本发明实施例的驱动组件的配置装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种驱动组件的配置方法。
如图1所示,根据本发明实施例的驱动组件的配置方法可以包括:
步骤S101,确定系统中需要配置驱动组件的多个节点和多个节点中每个节点的配置参数,其中,可以生成配置文件,在配置文件中保存多个节点的列表以及每个节点的配置参数,并且,在发送配置驱动组件的命令时,根据配置文件进行发送;
步骤S103,根据多个节点对应的配置参数确定每个节点的地址,将配置驱动组件的命令分发至多个节点;
步骤S105,对多个节点的驱动组件版本进行同步配置,此时,可以删除节点中已存在的原驱动组件,并且实时提示配置进度,其中,对于每个节点,根据该节点的系统信息调用对应的驱动组件对该节点进行同步配置。
此外,在对多个节点的驱动组件版本进行同步配置之后,对于每个节点,根据本发明实施例的配置方法可以进一步根据配置文件中的配置参数对该节点的驱动组件的参数进行设置。
并且,每个节点中保存有多个版本的驱动组件,在对每个节点的驱动组件版本进行同步配置时,根据每个节点的系统信息,从该节点保存的多个版本的驱动组件中选择相应版本的驱动组件进行同步配置。
而且,本申请中描述的系统信息可以包括操作系统的版本信息和/或用于进行驱动组件配置的工具信息。
根据本发明的一个实施例,在实际应用中,高性能计算集群OFED驱动组件可以按照本申请描述的驱动组件进行配置。可以通过以下步骤配置OFED驱动组件:
步骤一、采集需要配置InfiniBand驱动组件的节点列表存储到配置文件中,并在配置文件中存储采集的节点列表对应的网络地址、IP地址、子网、掩码等配置参数,通过这些配置参数可以寻址到每个需要配置InfiniBand驱动组件的节点,其中,该配置文件位于每个节点均可共享的位置,;
步骤二、通过网络分发的方式启动所有节点的OFED组件包批量同步配置,实现了OFED组件的配置过程全自动化,无人值守的效果;
步骤三、可以根据不同节点的硬件环境、操作系统版本自动选择OFED驱动组件的版本,自动选择需要配置的组件,自动完成网络地址配置等,其中,在一个节点中,已预先存储有不同版本的OFED驱动组件的多个版本,该OFED驱动组件可以以压缩的形式存在。
此外,如果节点中已配置有其它版本的InfiniBand驱动组件,根据本发明实施例的配置方法可以自动解析节点与已配置的InfiniBand驱动组件的依赖关系,然后删除已配置的InfiniBand驱动组件,完成智能清理后再执行InfiniBand驱动组件的配置。这样可以自动地更新本点中的OFED驱动组件版本。
进一步地,在配置过程中,根据本发明实施例的配置方法可以实时更新每个节点的配置进度和状态,并且在出现不可恢复的错误时给出相应提示。不可恢复的错误可以是系统中缺少配置驱动组件的工具,或者这些工具不能实施。此外,不论配置成功与否,均将结果反馈到主控程序,主控程序位于主控机(可以是任意一节点)上。
根据本发明的实施例,提供了一种驱动组件的配置装置。
如图2所示,根据本发明实施例的驱动组件的配置装置包括:
确定模块21,用于确定系统中需要配置驱动组件的多个节点和多个节点中每个节点的配置参数,可以包括生成配置文件,在配置文件中保存多个节点的列表以及每个节点的配置参数;并且,在发送配置驱动组件的命令时,根据配置文件进行发送;
分发模块22,用于根据多个节点对应的配置参数确定每个节点的地址,将配置驱动组件的命令分发至多个节点;
同步配置模块23,用于对多个节点的驱动组件版本进行同步配置,其中,对于每个节点,根据该节点的系统信息调用对应的驱动组件对该节点进行同步配置。在进行同步配置时,同步配置模块23还可以用于删除节点中已存在的原驱动组件,并且实时提示配置进度。
此外,在同步配置模块23对多个节点的驱动组件版本进行同步配置之后,根据本发明实施例的配置装置进一步包括:
设置模块(未示出),用于对于每个节点,根据配置文件中的配置参数对该节点的驱动组件的参数进行设置。
综上所述,借助于本发明的上述技术方案,本发明通过调用与需要配置驱动组件的各个节点相应的驱动组件版本进行配置,简化了驱动组件的配置操作步骤,提高了驱动组件配置的自动化程度,从而改善了配置驱动组件的良率。本发明通过自动化的方式大大简化了驱动组件的配置流程,降低了配置难度;通过自动选择、容错性判断、标准化配置等方式提高了配置驱动组件的成功率和配置质量,避免了人为操作失误;通过批量化的配置方式大大提高了驱动组件的配置效率,节省了配置时间及人力成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。