双控制器磁盘存储阵列,及其升级固件方法和控制器技术

技术编号:4250670 阅读:312 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种双控制器磁盘存储阵列的固件升级方法,在任一控制器进行固件升级之前,将该磁盘存储阵列的主控制权以及所有的数据应用服务转交到另一个控制器,在固件升级过程中可以通过一个控制器继续提供数据应用服务,从而可以实现不停机的固件升级。本发明专利技术还公开了一种可以实现上述方法的双控制器磁盘存储阵列以及一种控制器。

【技术实现步骤摘要】

本专利技术涉及计算机存储
,特别涉及一种双控制器磁盘存储阵列,及其升 级固件方法和控制器。
技术介绍
磁盘存储阵列是把多个磁盘组成一个阵列当作单一磁盘使用,它将数据以条带 (striping)的方式储存在不同的磁盘中。存取数据时,阵列中的相关磁盘一起动作,大幅减 低数据的存取时间,同时有更佳的空间利用率。磁盘存储阵列通常用于作为计算机系统中 各种重要数据的存放处,要求能够提供极高的可靠性,保证数据的安全和稳定,同时,要求 磁盘存储阵列能够提供常年全天24小时的不中断数据服务。磁盘存储阵列为了达到高可靠和不中断服务的特性,通常采用了双控制器架构。 图1为现有技术的双控制器磁盘存储阵列的基本架构示意图。双控制器磁盘存储阵列包括 一台主机101,两台交换机(分别是交换机102和交换机103),两台控制器(分别是控制器 104和控制器105,或称控制器A和控制器B),以及后端的物理磁盘组。两个控制器共同管 理物理磁盘组。主机101中运行多路径输入输出(Multipath Input/Output, MP 10)软件, 可以通过任一台交换机以及控制器访问物理磁盘组。根据应用需求,物理磁盘组将被划分 成若干逻辑卷,每一个逻辑卷相当于一个虚拟磁盘,以逻辑单元号(Logical Unit Number, LUN)作为标识。交换机102和交换机103之间,以及控制器A和控制器B之间都是相互备 份的关系。主机101可以通过其中任一个交换机以及控制器访问逻辑卷。在双控制器架构下,当其中一个控制器发生了软件或硬件故障,另一控制器能够 立即接过控制权,在不影响用户的情况下继续对外提供数据应用服务,同时通知系统管理 员处理发生问题的控制器以解决故障。图2所示为现有技术磁盘存储阵列控制器的硬件结构框图。控制器A内部包括 控制单元A201、固件存储器A203和基板管理控制器(BaseboardManagement Controller, BMC)A204。其中控制单元201中还包括定时器A202。控制器B的内部结构与控制器A相 同,包括控制单元B206、固件存储器B208和基板管理控制器B209,控制单元B206中还包括 定时器B207。通讯接口 205实现控制单元A201和控制单元B206之间的信息交互。固件存 储器A203用于存储控制器A的升级固件,固件存储器B208用以存储控制器B的升级固件。在磁盘存储阵列需要进行固件升级时,通常情况下不得不暂时停止服务,停机进 行固件升级,同时在升级后,需要进行一定时间的测试运行,以保证固件升级的成功。这种 情况中断了磁盘存储阵列的数据服务,使其不能做到常年全天24小时不中断服务。在很多 有极高要求的应用场合,如银行、电视台、视频监控中心等,这种服务中断是不可接受的。因 此要求磁盘存储阵列能有一套可靠、高效、无需停止服务的固件升级方法。
技术实现思路
有鉴于此,本专利技术的目的在于,提出一种双控制器磁盘存储阵列的固件升级方法,可以在不停止服务的情况下实现固件升级。所述双控制器包括主控制器和从控制器,该方 法包括如下步骤A、接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;B、从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主 控制器标识的数据应用服务;C、主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;D、主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以 及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的 数据应用服务以及具有从控制器标识的数据应用服务;E、主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;F、从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;G、从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服 务。较佳地,所述步骤A包括A1、从控制器接收来自外部的固件升级命令,将所述固件升级命令转发至主控制 器;A2、主控制器接收来自外部的新固件,并将所述新固件写入自身的固件存储器中。步骤A中,在子步骤A2之后进一步包括A3、主控制器向从控制器发出进行固件升 级的通知,从控制器设定自身计时器的超时时间长度,并使该计时器开始计时;所述步骤C之后且步骤D之前,进一步包括从控制器判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现 了硬件重启,若是,判定主控制器固件升级成功,转至所述步骤D ;否则,判定主控制器固件 升级失败,执行如下步骤从控制器将自身存储的旧固件写入主控制器;主控制器载入所述旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存 储阵列的主控制权以及从控制器上具有主控制器标识的数据应用服务。所述步骤E进一步包括主控制器设定从控制器的固件升级时间长度,并启动自 身的计时器;所述步骤F之后且步骤G之前,进一步包括主控制器判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从 控制器是否实现了硬件重启,若是,判定从控制器固件升级成功,执行所述步骤G ;否则,判 定从控制器固件升级失败,转至步骤E。较佳地,所述判定从控制器固件升级失败之后,执行如下步骤主控制器判断从控制器固件升级失败的次数是否达到预定值,若是则主控制器发 出固件升级未完成信号。否则转至步骤E。本专利技术的目的还在于,提出一种用于实现上述方法的双控制器磁盘存储阵列,所 述双控制器包括主控制器和从控制器,所述主控制器具有该双控制器磁盘存储阵列的主控 制权;所述主控制器用于接收来自外部的固件升级命令和新固件,并保存所述新固件;将双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服 务转交到从控制器后,进行硬件重启,读取自身存储的新固件进行固件升级;固件升级成功 后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所 述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器 标识的数据应用服务,并将新固件写入从控制器,通知从控制器进行固件升级;在从控制器 固件升级成功后,将具有从控制器标识的数据应用服务转交给从控制器; 所述从控制器用于在主控制器进行固件升级之前,接管该双控制器磁盘存储阵列 的主控制权以及主控制器上的具有主控制器标识的数据应用服务,在主控制器成功进行固 件升级后,将双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务转交给主 控制器,接收来自主控制器的新固件并进行固件升级,所述从控制器上的数据应用服务包 括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;在从控制器 成功进行固件升级后,从主控制器接管具有从控制器标识的数据应用服务。 所述从控制器还用于在收到来自外部的固件升级命令后,将所述固件升级命令转 发至主控制器。较佳地,所述主控制器将双控制器磁盘存储阵列的主控制权以及主控制器上的具 有主控制器标识的数据应用服务转交到从控制器时,向从控制器发出进行固件升级的通 知;所述从控制器进一步包括定时器B,在从控制器收到来自主控制器的进行固件升 级的通知后,设定计时器B的超时时间长度,并使计时器B开始计时;从控制器进一步用于 判断自身计时器的计时长度达到超时时间长度之前,本文档来自技高网
...

【技术保护点】
一种双控制器磁盘存储阵列的升级固件方法,所述双控制器包括主控制器和从控制器,其特征在于,该方法包括如下步骤:A、接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;B、从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务;C、主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;D、主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;E、主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;F、从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;G、从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服务。

【技术特征摘要】
一种双控制器磁盘存储阵列的升级固件方法,所述双控制器包括主控制器和从控制器,其特征在于,该方法包括如下步骤A、接收来自外部的固件升级命令和新固件,将所述新固件保存在主控制器中;B、从控制器接管该双控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务;C、主控制器进行硬件重启,读取主控制器中存储的新固件进行固件升级;D、主控制器固件升级成功后,主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;E、主控制器将新固件写入从控制器中,并通知从控制器进行固件升级;F、从控制器进行硬件重启,读取从控制器中存储的新固件进行固件升级;G、从控制器固件升级成功后,从主控制器接管具有从控制器标识的数据应用服务。2.根据权利要求1所述的方法,其特征在于,所述步骤A包括A1、从控制器接收来自外部的固件升级命令,将所述固件升级命令转发至主控制器;A2、主控制器接收来自外部的新固件,并将所述新固件写入自身的固件存储器中。3.根据权利要求1所述的方法,其特征在于,步骤A中,在子步骤A2之后进一步包括 A3、主控制器向从控制器发出进行固件升级的通知,从控制器设定自身计时器的超时时间 长度,并使该计时器开始计时;所述步骤C之后且步骤D之前,进一步包括从控制器判断自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬 件重启,若是,判定主控制器固件升级成功,转至所述步骤D ;否则,判定主控制器固件升级 失败,执行如下步骤从控制器将自身存储的旧固件写入主控制器;主控制器载入所述旧固件,还原到固件升级之前的状态,并接管双控制器磁盘存储阵 列的主控制权以及从控制器上具有主控制器标识的数据应用服务。4.根据权利要求1、2或3所述的方法,其特征在于,所述步骤E进一步包括主控制器 设定从控制器的固件升级时间长度,并启动自身的计时器;所述步骤F之后且步骤G之前,进一步包括主控制器判断在自身计时器的计时长度达到所设定的固件升级时间长度之前,从控制 器是否实现了硬件重启,若是,判定从控制器固件升级成功,执行所述步骤G ;否则,判定从 控制器固件升级失败,转至步骤E。5.根据权利要求4所述的方法,其特征在于,所述判定从控制器固件升级失败之后,执 行如下步骤主控制器判断从控制器固件升级失败的次数是否达到预定值,若是则主控制器发出固 件升级未完成信号。否则转至步骤E。6.一种双控制器磁盘存储阵列,所述双控制器包括主控制器和从控制器,所述主控制 器具有该双控制器磁盘存储阵列的主控制权;其特征在于,所述主控制器用于接收来自外部的固件升级命令和新固件,并保存所述新固件;将双 控制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交到从控制器后,进行硬件重启,读取自身存储的新固件进行固件升级;固件升级成功后, 主控制器接管双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务,所述从 控制器上的数据应用服务包括具有主控制器标识的数据应用服务以及具有从控制器标识 的数据应用服务,并将新固件写入从控制器,通知从控制器进行固件升级;在从控制器固件 升级成功后,将具有从控制器标识的数据应用服务转交给从控制器;所述从控制器用于在主控制器进行固件升级之前,接管该双控制器磁盘存储阵列的主 控制权以及主控制器上的具有主控制器标识的数据应用服务,在主控制器成功进行固件升 级后,将双控制器磁盘存储阵列的主控制权以及从控制器上的数据应用服务转交给主控制 器,接收来自主控制器的新固件并进行固件升级,所述从控制器上的数据应用服务包括具 有主控制器标识的数据应用服务以及具有从控制器标识的数据应用服务;在从控制器成功 进行固件升级后,从主控制器接管具有从控制器标识的数据应用服务。7.根据权利要求6所述的双控制器磁盘存储阵列,其特征在于,所述从控制器还用于 在收到来自外部的固件升级命令后,将所述固件升级命令转发至主控制器。8.根据权利要求6所述的双控制器磁盘存储阵列,其特征在于,所述主控制器将双控 制器磁盘存储阵列的主控制权以及主控制器上的具有主控制器标识的数据应用服务转交 到从控制器时,向从控制器发出进行固件升级的通知;所述从控制器进一步包括定时器B,在从控制器收到来自主控制器的进行固件升级的 通知后,设定计时器B的超时时间长度,并使计时器B开始计时;从控制器进一步用于判断 自身计时器的计时长度达到超时时间长度之前,主控制器是否实现了硬件重启,若是,判定 主控制器固件升级成功;否则,判定主控制器固件升级失败,将自身存储的旧固件写入主控 制器;主控制器进一...

【专利技术属性】
技术研发人员:黄文俊
申请(专利权)人:创新科存储技术有限公司创新科软件技术深圳有限公司
类型:发明
国别省市:11[中国|北京]

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

1