一种基于RPM包的分布式存储系统软件升级方法技术方案

技术编号:19489022 阅读:21 留言:0更新日期:2018-11-17 12:00
本发明专利技术实施例公开了一种基于RPM包的分布式存储系统软件升级方法,包括:获取分布式存储系统状态信息;判断状态信息是否正常;如果是则停止分布式存储系统的关键服务,否则停止升级;对分布式存储系统的文件进行备份,生成备份文件;将软件升级包以及升级脚本装包发送给其他节点;各节点分别运行软件升级包进行升级。本发明专利技术实施例中通过在主节点中运行升级脚本对整个分布式存储系统的状态信息进行判断,当状态信息表示系统状态正常时关闭系统内的关键服务,从而停止相关业务的进行,对系统的文件进行备份,通过主节点将升级脚本以及升级包发送给其他的节点,然后在各个节点上同时运行升级脚本和升级包而实现各节点同时升级,提高升级效率。

【技术实现步骤摘要】
一种基于RPM包的分布式存储系统软件升级方法
本专利技术涉及分布式存储
,特别是涉及一种基于RPM包的分布式存储系统软件升级方法。
技术介绍
一般情况下软件系统在经过一段时间的使用,就会逐步显现出自身的一些漏洞和缺陷,这些漏洞和缺陷无法满足日益发展软件事业要求,因此软件开发商必须定期或者不定期对软件本身的漏洞和缺陷进行修复和更正,这样就产生了新的软件版本,以满足使用新的要求。版本升级固然带来了新的功能,使部分漏洞及缺陷得以修复,但并不代表升级是好事,需要满足一定的条件,首先,需要对软硬件进行检测,是否符合升级前后的标准;其次,确保数据不丢失;最后,升级后用户仍可继续享受之前的服务,不用再次执行繁琐的命令。然而,对于分布式存储系统来说会包括多个节点,在进行更新时需要对每个节点执行一次软件升级包才能实现对整个分布式存储系统的升级,导致升级实现冗长时间,影响升级效率。
技术实现思路
本专利技术实施例中提供了一种基于RPM包的分布式存储系统软件升级方法,以解决现有技术中的分布式存储系统升级效率低的问题。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:本专利技术提供了一种基于RPM包的分布式存储系统软件升级方法,包括:获取分布式存储系统状态信息;判断所述状态信息是否正常;如果是则停止分布式存储系统的关键服务,否则停止升级;对分布式存储系统的文件进行备份,生成备份文件;将软件升级包以及升级脚本装包发送给其他节点;各节点通过所述升级脚本分别运行所述软件升级包进行升级。优选地,获取分布式存储系统状态信息具体包括:对分布式存储系统的软件升级包版本、集群状态、系统资源、日志分区大小、关键服务以及界面告警分别进行检测;获得各检测项检测结果。优选地,判断所述状态信息是否正常具体包括:分别判断所述各检测项检测结果是否正常。优选地,对所述软件升级包版本进行检测具体包括:获取软件升级包文件;读取所述软件升级包版本信息;根据所述版本信息确定软件升级包hash值;判断所述软件升级包hash值与预设hash值是否一致;如果是则检测结果正常,否则为不正常。优选地,所述方法还包括:用所述备份文件替换历史备份文件。优选地,所述方法还包括:对分布式存储系统的全部服务进行重启。优选地,所述方法还包括:获取硬件升级包;将所述硬件升级包、软件升级包以及升级脚本装包发送给其他节点;各节点分别运行所述硬件升级包以及软件升级包进行升级。优选地,所述方法还包括:对分布式存储系统进行重启。优选地,获取分布式存储系统状态信息之前还包括:在分布式存储系统的主节点运行升级脚本。优选地,所述硬件升级包、软件升级包以及升级脚本由主节点装包发送给其他节点。由以上技术方案可见,本专利技术中通过在主节点中运行升级脚本对整个分布式存储系统的状态信息进行判断,当状态信息表示系统状态正常时关闭系统内的关键服务,从而停止相关业务的进行,对系统的文件进行备份,通过主节点将升级脚本以及升级包发送给其他的节点,然后在各个节点上同时运行升级脚本和升级包而实现各节点同时升级,提高升级效率。附图说明了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种基于RPM包的分布式存储系统软件升级方法的流程示意图;图2为本专利技术实施例提供的软件升级包版本进行检测的方法的流程示意图;图3为本专利技术实施例提供的另一种基于RPM包的分布式存储系统软件升级方法的流程示意图;图4为本专利技术实施例提供的又一种基于RPM包的分布式存储系统软件升级方法的流程示意图;图5为本专利技术实施例提供的又一种基于RPM包的分布式存储系统软件升级方法的流程示意图图6为本专利技术实施例提供的又一种基于RPM包的分布式存储系统软件升级方法的流程示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。参见图1,为本专利技术实施例提供的一种基于RPM包的分布式存储系统软件升级方法的流程示意图,如图1所示,本专利技术实施例提供的基于RPM包的分布式存储系统软件升级方法,包括:S00:获取分布式存储系统状态信息。分布式存储系统结构复杂,在对其节点进行更新前必须保证整个系统中各项功能正常运行,运行环境满足升级要求的前提下才能进行更新,因为分布式存储系统的节点众多,如果其状态不正产则很容易发生更新失败,造成资源浪费。获取分布式存储系统状态信具体为对分布式存储系统的软件升级包版本、集群状态、系统资源、日志分区大小、关键服务以及界面告警分别进行检测,各检测项检测结果组成的集合即为分布式存储系统的状态信息。参见图2,为本专利技术实施例提供的软件升级包版本进行检测的方法的流程示意图如图2所示,对所述软件升级包版本进行检测具体包括:S01:获取软件升级包文件。S02:读取所述软件升级包版本信息。S03:根据所述版本信息确定软件升级包hash值。S04:判断所述软件升级包hash值与预设hash值是否一致。如果是则检测结果正常,否则为不正常。升级包文件保存在分布式存储系统的主节点之下,在读取时可以从指定路径下进行读取。虽然升级包可以从软件升级包发布网站进行获取,但是难以保证在获取或者保存的过程中发生错误,导致实际保存的升级包并非本次升级所需,因此,需要对读取指定路径下的升级包文件,从升级包文件中可以获取该升级包文件对应的软件版本号,而每个软件的每个版本号对应一个hash值,因为已经预先知晓此次更新的是哪个软件以及该软件升级到什么版本,因此可以获取到该软件对应版本的确定hash值,将该确定hash值设定为预设hash值,作为比对标准,通过比对获取的软件升级包hash值与预设hash值是否一致来确定该升级包是否为此次升级所需的升级包。S10:判断所述状态信息是否正常。因为分布式存储系统中只要有一项运行异常就会导致升级失败,因此,对于获取到的各项检测结果需要分别进行判断,只要有一项显示为不正常则不能进行升级,此时执行步骤S60:停止升级,如果各项检测结果均正常,则执行步骤S20:停止分布式存储系统的关键服务。因为分布式存储系统在进行升级前正在运行,为了避免更新过程导致系统运行异常所导致的文件丢失,需要先停止系统中的关键服务,是这些关键服务中的业务停止运行,避免文件丢失,其中,分布式文件系统的关键服务包括ctdb服务、nfs服务、cifs服务以及Samba服务。S30:对分布式存储系统的文件进行备份,生成备份文件。分布式存储系统中保存有众多文件,为了避免在软件更新过程中发生文件丢失,需要将文件进行备份,将保存的备份文件进行保存。参见图3,为本专利技术实施例提供的另一种基于RPM包的分布式存储系统软件升级方法的流程示意图,如图3所示,所述方法还包括:S70:用所述备份文件替换历史备份文件。因为一个分布式存储系统需要经历很多次的软件升级,本文档来自技高网
...

【技术保护点】
1.一种基于RPM包的分布式存储系统软件升级方法,其特征在于,包括:获取分布式存储系统状态信息;判断所述状态信息是否正常;如果是则停止分布式存储系统的关键服务,否则停止升级;对分布式存储系统的文件进行备份,生成备份文件;将软件升级包以及升级脚本装包发送给其他节点;各节点通过所述升级脚本分别运行所述软件升级包进行升级。

【技术特征摘要】
1.一种基于RPM包的分布式存储系统软件升级方法,其特征在于,包括:获取分布式存储系统状态信息;判断所述状态信息是否正常;如果是则停止分布式存储系统的关键服务,否则停止升级;对分布式存储系统的文件进行备份,生成备份文件;将软件升级包以及升级脚本装包发送给其他节点;各节点通过所述升级脚本分别运行所述软件升级包进行升级。2.根据权利要求1所述的方法,其特征在于,获取分布式存储系统状态信息具体包括:对分布式存储系统的软件升级包版本、集群状态、系统资源、日志分区大小、关键服务以及界面告警分别进行检测;获得各检测项检测结果。3.根据权利要求2所述的方法,其特征在于,判断所述状态信息是否正常具体包括:分别判断所述各检测项检测结果是否正常。4.根据权利要求2所述的方法,其特征在于,对所述软件升级包版本进行检测具体包括:获取软件升级包文件;读取所述软件升级包版本信息;根据所述版本信息确定软件升级包hash...

【专利技术属性】
技术研发人员:李婷婷
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1