一种存储系统控制器升级的方法及装置与流程

文档序号:12034394阅读:175来源:国知局
一种存储系统控制器升级的方法及装置与流程

本发明涉及高端存储领域,特别是涉及一种存储系统控制器升级的方法及装置。



背景技术:

在存储领域尤其是高端存储领域,往往追求极高的稳定性、高可用性以及业务的连续性。因而一般存储系统需要时刻连续运行,不允许死机,而在存储系统需要升级、维护时,就需要隔离正在升级的控制器。

现有的存储系统的升级方法是,将某一个控制器隔离,并对该控制器进行升级,然后重启控制器,对于存在多个控制器的存储系统,采用同样的方式逐个进行控制器的升级。采用上述的升级方式,往往整个升级过程所占用的时间十分漫长,从而导致整个存储系统处于非稳定的状态,极容易造成存储系统的崩盘,从而丢失数据。



技术实现要素:

本发明的目的是提供一种存储系统控制器升级的方法,以解决在存储系统维护升级时,整个存储系统长期处于单点状态,稳定性差的问题,本发明还提供一种存储系统控制器升级的装置。

为解决上述技术问题,本发明提供一种存储系统控制器升级的方法,包括:

上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区,其中,所述控制器正在运行所述控制器的第一操作系统;升级所述第二操作系统;将所述控制器引导启动的操作系统,修改为以所述第二操作系统作为启动运行的操作系统;隔离并重启所述控制器,启动运行所述第二操作系统;升级所述第一操作系统。

其中,在上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区之后还包括:

检测所述升级包是否符合要求的,如果是,则执行升级所述第二操作系统的操作。

其中,在升级所述第一操作系统之后还包括:

将所述控制器引导启动的操作系统,修改为以所述第一操作系统作为启动运行的操作系统,以便再次重启所述控制器时,启动运行所述第一操作系统。

其中,所述控制器为多个控制器;

所述隔离并重启所述控制器包括:

在不同时间内进行多个所述控制器的隔离并重启所述控制器。

其中,所述升级所述第二操作系统包括:同步升级多个所述控制器的第二操作系统;所述将所述控制器的引导程序的引导启动项的操作系统,修改为以所述第二操作系统作为启动运行的操作系统包括:同步进行将多个所述控制器的引导程序的引导启动项的操作系统,修改为以所述第二操作系统作为启动运行的操作系统的操作;所述升级所述第一操作系统包括:同步升级多个所述控制器的第一操作系统。

其中,在上传升级包到存储系统的多个待升级的控制器,并存储至所述控制器的第二操作系统所在的分区之后还包括:

检测多个所述控制器是否符合升级条件,如果是,则执行升级所述第二操作系统的操作。

本发明还提供了一种存储系统控制器升级的装置,包括:传送数据模块,用于上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区,其中,所述控制器正在运行所述控制器的第一操作系统;升级模块,用于升级所述第二操作系统,还用于升级所述第一操作系统;启动项模块,用于将所述控制器引导启动的操作系统,修改为以所述第二操作系统作为启动运行的操作系统;重启模块,隔离并重启所述控制器,启动运行所述第二操作系统。

其中,还包括检测模块,用于在上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区之后,检测所述升级包是否符合要求的,如果是,则执行升级所述第二操作系统的操作。

其中,还包括控制升级模块,用于所述控制器包括多个控制器,在不同时间内进行多个所述控制器升级过程中的隔离并重启所述控制器。

其中,所述控制升级模块还用于同步升级多个所述控制器的第二操作系统;同步进行将多个所述控制器引导启动项的操作系统,修改为以所述第二操作系统作为启动运行的操作系统的操作;同步升级多个所述控制器的第一操作系统。

本发明所提供的一种存储系统控制器升级的方法,通过运行控制器的第一操作系统,保持业务不中断的同时,升级该控制器的第二操作系统,第二操作系统升级完成后,隔离重启该控制器,运行第二操作系统,升级第一操作系统,从而完成该控制器的维护升级,整个升级过程中该控制器需要隔离的时间,只是重启控制器这一过程所耗费的时间,而现有技术中整个升级过程都需要隔离该控制器,所以相对于现有技术而言,本发明中升级过程中隔离控制器的时间非常短,且在升级操作系统时,可以执行该控制器的相关业务,从而减小了存储系统升级过程中,系统处于非稳定状态的时间,提高了整个系统的稳定性,进而减小升级过程中系统出现故障的概率,提高了数据的一致性,在一定程度上提高了存储系统的高可用性和业务连续性。

优选的,本发明中的控制器为多个控制器;且在不同时间内进行各个所述控制器的隔离并重启所述控制器,而对各个控制器的第一操作系统和第二操作系统的升级可以分别同步进行。

对于高端存储且具有多个控制器的存储系统而言,因为存储系统对系统稳定性的要求比较高,所以不能同时隔离一个以上的控制器,所以可以依次进行各个控制器的隔离重启,因为每个控制器有两个操作系统交替运行和升级,所以同一个存储系统的多个控制器之间的升级互不干扰,也不影响整个业务的连续性,相对于现有技术中逐个隔离各个控制器,再进行被隔离的控制器的升级,大大缩短了整个存储系统多个控制器的升级过程所耗费的时间,也缩短了存储系统升级时,多个控制器隔离的时长,减小了存储系统在整个升级过程中处于单点状态的时间,提高了整个存储系统的稳定性,保证了存储系统的高性能。

本发明还提供了一种具有上述有益效果的存储系统控制器升级的装置。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的存储系统控制器升级的一种具体实施方式的流程图;

图2为本发明提供的存储系统控制器升级的另一种具体实施方式的流程图;

图3为本发明实施例提供的存储系统控制器升级装置的结构框图。

具体实施方式

对于现有具有多个控制器的存储系统在线升级的过程中,需要先将待升级的控制器进行隔离,对该控制器升级完成以后,再重启控制器,并以此方式对所有控制器依次逐个升级。隔离控制器后,整个存储系统处于单点状态,由于每个控制器的升级时间比较长,还需要对每个控制器逐个隔离升级,就会使得存储系统长时间处于单点状态,而时间越长存储系统出现单点故障的概率就会越大,出现单点故障后,会导致存储系统死机、数据丢失。

在存储领域,用户数据的安全性至关重要,且对于高端存储追求极高的稳定性、高可用性和业务连续性,由此如何缩短存储系统处于单点状态的时间,是解决问题的关键。

又因为控制器的升级主要是对操作系统的升级,为了解决上述问题本发明提供的存储系统每个控制器的系统盘中设置有两个可实现相同功能的操作系统,在无需长时间隔离控制器的情况下,轮流进行操作系统的升级操作,从而缩短了存储系统处于单点状态的时间。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的存储系统控制器升级的一种具体实施方式的流程图,如图1所示,该方法包括:

步骤s101:上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区。

需要说明的是,为了避免在控制器升级过程中,长时间隔离控制器,本发明中每个控制器的系统盘上在原有的操作系统上增加了另一个操作系统,两个操作系统中的文件可以是完全相同,也可以是不同,只要新增加的操作系统能够对系统盘其他所有分区进行和原有操作系统所进行的相同的业务操作即可。

另外,由于控制器不需要同时运行两个操作系统,且升级过程中,需要一个操作系统升级,一个操作系统运行业务,所以在上述步骤中可以认为此时正在运行的操作系统为第一操作系统,未运行的操作系统为第二操作系统,因此,该步骤中,第一操作系统和第二操作系统仅用于区分正在运行的操作系统和正在升级的操作系统,或者认为是在升级该控制器时,两个操作系统中先进行升级的认为是第二操作系统,后升级的为第一操作系统,并不认为是特定的某一个操作系统,而对原有的操作系统和新增的操作系统,也并没有升级先后顺序的限定。

步骤s102:升级所述第二操作系统。

因为有第一操作系统运行该控制器的业务,所以该步骤中并不需要隔离控制器,可以在运行业务的同时进行升级操作。

步骤s103:将所述控制器引导启动的操作系统,修改为以所述第二操作系统作为启动运行的操作系统。

在第二操作系统升级完成之后,要对第一操作系统进行升级,就需要第二操作系统运行服务业务,所以就要修改控制器的引导程序,例如grub,将引导程序的启动选项修改为引导运行第二操作系统。

需要说明的是,该步骤并不一定是在升级所述第二操作系统完成之后进行的,可以是第二操作系统升级完成之前进行,还可以是在控制器升级之前进行,都只是执行上述步骤操作的顺序的一种具体实施方式,并不是本发明的必要技术特征,修改启动选项顺序的一个基本原则是,在控制器运行第一操作系统之后,在控制器重新启动之前即可。

步骤s104:隔离并重启所述控制器,启动运行所述第二操作系统。

为了启动运行第二操作系统,需要重启控制器,也就需要将控制器先隔离,再重启,控制器重启后,会运行启动选项选择引导运行的第二操作系统,而整个隔离重启过程大概在5分钟左右,相较于现有技术大概1个小时的隔离升级时间而言,存储系统处于单点状态的时间非常短,差不多可以忽略不计,采用本发明的技术方案实现的控制器的升级方法,提高了升级过程中存储系统的稳定性。

步骤s105:升级所述第一操作系统。

升级第一操作系统同样是在第二操作系统运行业务的情况下进行的,也不需要隔离控制器,第一操作系统完成后,整个控制器的升级完成。

基于上述实施例,考虑到升级包数据在通过网络上传过程中,可能存在数据传输错误的情况,从而导致升级中途升级失败,本发明还可以进一步改进。

本发明提供了的存储系统控制器升级的另一种具体实施方式,该方法包括:

在上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区之后,检测所述升级包是否符合要求的,如果是,则执行升级所述第二操作系统的操作,如果否,则升级失败。

在对第二操作系统之前进行升级包的检测,如果升级包不符合要求,则升级失败,可以要求重新上传符合要求的升级包。在对第二操作系统升级之前不进行升级包的检测,第二操作系统升级到一定程度之后,才发现数据错误,例如某种极端情况,在第二操作系统快要升级完成,才发现升级包不符合要求,则升级失败,整个的升级过程所耗费的时间也没有产生任何贡献,而整个操作系统升级本身所需要耗费的时间就比较长,这就会造成大量是时间浪费,这对整个存储系统时不利的,所以在升级第二操作系统之前对升级包的检测,可以有利于节省整个控制器升级所占用的时间,提高升级效率。

基于上述实施例,本发明提供了存储系统控制器升级的另一种具体实施方式,该方法包括:

在升级所述第一操作系统之后,将所述控制器引导启动的操作系统,修改为以所述第一操作系统作为启动运行的操作系统,以便再次重启所述控制器时,启动运行所述第一操作系统。

在第一操作系统升级完成之后,可以修改控制器的引导程序,将引导程序的启动选项修改为引导运行第二操作系统,如果第二操作系统在运行时突然发生故障,只需要重新启动控制器,第一操作系统运行服务业务,可以避免由于第二操作系统故障而发生的业务中断,有利于提高存储系统的稳定性和高可用性。

另外,还可以在下一次的控制器升级过程中省略修改控制器引导程序的步骤,简化升级过程。

基于上述任一实施例,本发明中的控制器可以是一个控制器可以是多个控制器,也即是对具有多个控制器的存储系统中每个控制器都采用上述实施方式升级,可以是多个控制器逐个升级,也可以是多个控制器同步升级,都可以实现本发明的技术方案,升级具有多个控制器的存储系统的一个原则是,在不同时间点执行多个所述控制器的隔离并重启所述控制器的操作。在此就以一种具体实施例进行说明。

本发明提供的存储系统控制器升级的另一种具体实施方式的流程图如图2所示,该方法包括:

步骤s201:上传升级包到多个待升级的控制器,并存储在每个控制器的第二操作系统所在的分区。

步骤s202:检测多个所述控制器是否均符合升级条件,如果是,则进入步骤s203,如果否,则升级失败。

需要说明的是,考虑到某些控制器可能存在故障,而不能正常升级,所以在升级前,对各个控制器进行检测,但步骤s202并不是实现本发明的必要技术特征,没有该步骤,也能实现本发明的技术方案。

而检测多个所述控制器是否符合升级条件,可以是所有控制器均符合升级条件,然后对所有控制器同时升级,也可以是先将符合升级条件的控制器同时升级,而不符合升级条件的控制器不进行升级,直到不符合升级条件的控制器调整正常后,符合升级条件,再进行升级。该步骤仅仅以所有控制器都符合升级条件的情况作为一种具体实施例进行说明,这并不是实现本发明技术方案的必要技术特征。

步骤s203:同步升级各个控制器的第二操作系统。

因为各个控制器均有两个操作系统,在操作系统升级过程中不需要隔离控制器,所以各个控制器的操作系统的升级,相互之间并没有影响,考虑到减小整个存储系统升级程序总的时长,比较优选的实施方式是将各个控制器的第二操作系统同时升级,但同时升级各个控制器的第二操作系统,并不是实现本发明的必要技术特征,逐个升级各个控制器的第二操作系统,或者同时升级两个控制器的第二操作系统,以及与此相类似的实施方式,也能实现本发明的技术方案,在此不一一赘述。

步骤s204:将各个控制器引导启动的操作系统,均修改为以第二操作系统作为启动运行的操作系统。

与上述任一实施例相同,步骤s204并不是一定要以该顺序执行,理由和上述第一个具体实施例相同,在此不再赘述。

步骤s205:依次隔离重启各个控制器,启动运行各个控制器的第二操作系统。

因为存储系统尤其是高端存储,对系统的稳定性要求特别高,不允许同时对一个以上的控制器同时隔离,所以需要对多个控制器进行依次隔离重启,而各个控制器隔离重启的顺序本发明中并没有必然的要求。

步骤s206:同步升级各个控制器的第一操作系统。

需要说明的是,各个控制器的第一操作系统之间的升级并不相互影响,因为第二操作系统的升级是在对应的控制器隔离重启之后进行的,所以只有各个控制器隔离重启的时间会影响对应的第二操作系统的升级,因为各个控制器依次进行,所以各个控制器的第二操作系统的升级可以是在对应的控制器隔离重启之后立即执行升级操作,也可以是在各个控制器均进行了隔离重启之后,所有控制器的第二操作系统同时升级,这两种升级第二操作系统的方式是缩短整个存储系统控制器升级时长的优选的实施例中的两种实施方式,但这并不是实现本发明技术方案的必要技术特征,与此相类似的实施方式在此不一一赘述。

下面对本发明实施例提供的存储系统控制器升级装置进行介绍,下文描述的存储系统控制器升级装置与上文描述的存储系统控制器升级方法可相互对应参照。

图3为本发明实施例提供的存储系统控制器升级装置的结构框图,参照图3存储系统控制器升级装置可以包括:

传送数据模块100,用于上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区,其中,所述控制器正在运行所述控制器的第一操作系统;

升级模块200,用于升级所述第二操作系统,还用于升级所述第一操作系统;

启动项模块300,用于将所述控制器引导启动的操作系统,修改为以所述第二操作系统作为启动运行的操作系统;

重启模块400,隔离并重启所述控制器,启动运行所述第二操作系统。

作为一种具体实施方式,本发明所提供的存储系统控制器升级装置还可以进一步包括:

检测模块,用于在上传升级包到待升级的控制器,并存储至所述控制器的第二操作系统所在的分区之后,检测所述升级包是否符合要求的,如果是,则执行升级所述第二操作系统的操作。

基于上述实施例,本发明所提供的存储系统控制器升级装置还可以进一步包括:

控制升级模块,用于所述控制器包括多个控制器,在不同时间内进行多个所述控制器升级过程中的隔离并重启所述控制器。

优选的,所述控制升级模块还用于同步升级多个所述控制器的第二操作系统;同步进行将多个所述控制器的引导程序的引导启动项的操作系统,修改为以所述第二操作系统作为启动运行的操作系统的操作;同步升级多个所述控制器的第一操作系统。

本实施例的存储系统控制器升级装置用于实现前述的存储系统控制器升级方法,因此存储系统控制器升级装置中的具体实施方式可见前文中的存储系统控制器升级方法的实施例部分,例如,传送数据模块100,用于实现上述存储系统控制器升级方法中步骤s101,升级模块200,用于实现上述方法中步骤s102和步骤s105,启动项模块300用于实现上述方法中步骤s103,重启模块400,用于实现上述方法中步骤s104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的存储系统控制器升级方法以及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1