一种存储集群在线升级方法及系统技术方案

技术编号:16587144 阅读:26 留言:0更新日期:2017-11-18 14:39
本申请公开了一种存储集群在线升级方法,包括:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;升级所述节点的私有状态信息;在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。通过以动态链接库的形式编译存储集群中节点的集群共享信息,实现节点的集群共享信息和私有状态信息互不干扰的升级,从而实现整个存储集群的在线升级。本申请提供的存储集群在线升级方法,升级过程中需要协同的对象较少,升级的过程更加简单。本申请还提供了一种存储集群在线升级系统,具有上述有益效果。

Online upgrade method and system for storage cluster

The invention discloses a method for upgrading, online storage cluster includes the storage nodes in the cluster cluster sharing information compiled by the form of dynamic link library; private state information upgrade the nodes; in the private state information to upgrade all the node corresponding to the completion and upgrade all the nodes the cluster information sharing. Through the dynamic link library to compile and store the cluster share information of nodes in the cluster, the node cluster information sharing and the private state information are not disturbed each other, so as to realize the online upgrade of the whole storage cluster. The online upgrade method of the storage cluster provided by this application needs less collaboration objects in the process of upgrading, and the upgrade process is simpler. The application also provides a storage cluster online upgrade system, which has the above beneficial effects.

【技术实现步骤摘要】
一种存储集群在线升级方法及系统
本申请涉及SAN存储
,特别涉及一种存储集群在线升级方法及系统。
技术介绍
SAN(英文全称:StorageAreaNetwork,中文名称:存储区域网络)采用网状通道技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。存储集群是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,可以充分发挥存储设备的性能和磁盘利用率。数据将会按照一定的规则从多台存储设备上存储和读取,以获得更高的并发访问性能。客户场景下,会遇到业务在线进行升级系统以满足新增特性需求、debug需求等的情况。由于在存储系统中存在多个工作节点,这些工作节点之间在正常运行过程中协同工作,需要共享整个cluster(中文名称:集群)的状态信息,比如当前cluster当中包含多少个node(中文名称:节点)、包含多少个LUN(英文全称:LogicalUnitNumber,英文简称:LUN或Lun,中文名称:逻辑单元)等;同时每个节点又维护各自独有的状态,比如当前node所属cluster的ID、本节点所属的某个LUN的IO负载情况等。综上所述,存储集群系统的在线升级相比单节点系统的在线升级复杂度更高,需要协同的对象更多、需要实现的处理逻辑更复杂。
技术实现思路
本申请的目的是提供一种存储集群在线升级方法及系统,通过隔离cluster状态和node状态的设计思路实现存储集群的在线升级功能,解决了现有存储集群升级过程中处理对象多,处理逻辑复杂的问题。为解决上述技术问题,本申请提供一种存储集群在线升级方法,技术方案如下:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;升级所述节点的私有状态信息;在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。其中,将所述存储集群中节点的集群共享信息以动态链接库的形式编译之前,还包括:构建升级安装包,并将所述升级安装包上传到所述存储集群中与用户交互的配置节点;其中,所述升级安装包中包括所述集群共享信息和所述私有状态信息。其中,所述升级所述节点的私有状态信息之前,还包括:判断所述集群共享信息是否编译完成;若是,则升级所述节点的私有状态信息;若否,则再次将所述存储集群中节点的集群共享信息以动态链接库的形式编译。其中,所述升级所述节点的私有状态信息,包括:将所述存储集群中所有节点按每两个节点一组进行划分并标号;按标号顺序升级每组对应节点的私有状态信息。其中,所述集群共享信息为存储集群中的所有所述节点之间共享的存储集群状态信息;所述私有状态信息为所述节点各自维护的状态信息。本申请还提供一种存储集群在线升级系统,所述系统包括:编译模块,用于将所述存储集群中节点的集群共享信息以动态链接库的形式编译;第一升级模块,用于升级所述节点的私有状态信息;第二升级模块,用于在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。其中,所述系统还包括:升级准备模块,用于构建升级安装包,并将所述升级安装包上传到所述存储集群中与用户交互的配置节点;其中,所述升级安装包中包括所述集群共享信息和所述私有状态信息。其中,所述系统还包括:判断模块,用于判断所述集群共享信息是否编译完成;若是,执行第一升级模块;若否,执行编译模块。其中,所述第一升级模块包括:分组子模块,用于将所述存储集群中所有节点按每两个节点一组进行划分并标号;升级子模块,用于按标号顺序升级每组对应节点的私有状态信息。本申请所提供的一种存储集群在线升级方法,包括:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;升级所述节点的私有状态信息;在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。通过这种存储集群在线升级方法,需要协同的对象更少,实现升级的过程更加简单便捷。本申请还提供一种存储集群在线升级系统,具有上述有益效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供一种存储集群在线升级方法的流程图;图2为本申请实施例所提供另一种存储集群在线升级方法的流程图;图3为本申请实施例所提供又一种存储集群在线升级方法的流程图;图4为本申请实施例所提供的一种存储集群在线升级系统的示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。请参考图1,图1为本申请实施例所提供一种存储集群在线升级方法的流程图,技术方法如下:S101:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;集群共享信息为存储集群中的所有所述节点之间共享的存储集群状态信息,逻辑上可以认为是同一份状态信息。编译后,集群共享信息以动态链接库的形式存在,动态链接库相对独立,在私有状态信息运行时动态加载即可。并且在私有状态信息升级时,集群共享信息作为动态链接库可以继续正常工作。进一步的,在编译集群状态信息之前,可以先构建一个升级安装包,将该升级安装包上传到所述存储集群中负责与用户交互的配置节点,以准备开始升级。升级安装包中可以包括节点的集群共享信息和私有状态信息,还可以有Lun的相关信息等。S102:升级所述节点的私有状态信息;升级过程通常是周围协同工作的节点接替待升级节点的任务,在待升级节点升级完成后返回其任务。在本申请中,任务主要为集群共享信息和私有状态信息,当然也可以是节点中存在的其他信息。在升级节点的私有状态信息之前,可以增加一个判断步骤,用于判断集群共享信息是否编译完成。如果编译未完成,则重新编译或者继续编译集群共享信息。如果编译全部完成,则升级节点的私有状态信息。当然也可以不判断,但如果集群共享信息没有编译完成就升级节点的私有状态信息,容易造成集群状态混乱。此外,因为存储集群中节点的数量相当大,可以对这些节点分组或者分区域升级。例如可以每两个节点或每三个节点一组进行分组并标号,再按标号顺序升级每组对应节点。当然也可以是其他的分组方式,本申请在此对分组形式方法不作限定。对存储集群中的节点进行分组之后,可以按组进行升级。在每组内的节点的私有状态信息全部升级完成之后再进行下一组的节点的私有状态信息升级。S103:在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。在存储集群中的所有节点的私有状态信息全部升级完成后,升级集群共享信息,升级通常是更新集群共享信息,当然也可以有其他形式的升级。其中,在升级过程中需要保证集群状态信息能够被正常访问,所以先升级节点的私有状态信息,且在所有节点的私有状态信息全部升级完本文档来自技高网...
一种存储集群在线升级方法及系统

【技术保护点】
一种存储集群在线升级方法,其特征在于,所述方法包括:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;升级所述节点的私有状态信息;在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。

【技术特征摘要】
1.一种存储集群在线升级方法,其特征在于,所述方法包括:将所述存储集群中节点的集群共享信息以动态链接库的形式编译;升级所述节点的私有状态信息;在所有所述节点对应的所述私有状态信息升级完成后,同时升级所有所述节点的所述集群共享信息。2.根据权利要求1所述的方法,其特征在于,将所述存储集群中节点的集群共享信息以动态链接库的形式编译之前,还包括:构建升级安装包,并将所述升级安装包上传到所述存储集群中与用户交互的配置节点;其中,所述升级安装包中包括所述集群共享信息和所述私有状态信息。3.根据权利要求1所述的方法,其特征在于,所述升级所述节点的私有状态信息之前,还包括:判断所述集群共享信息是否编译完成;若是,则升级所述节点的私有状态信息;若否,则再次将所述存储集群中节点的集群共享信息以动态链接库的形式编译。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述升级所述节点的私有状态信息,包括:将所述存储集群中所有节点按每两个节点一组进行划分并标号;按标号顺序升级每组对应节点的私有状态信息。5.根据权利要求4所述的方法,其特征在于,所述集群...

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

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

1