本发明涉及存储技术领域,尤其涉及一种存储系统的硬盘固件在线升级方法。
背景技术:
存储系统中往往有几十甚至成白上千块硬盘。这些硬盘的使用状态一般有以下几种:
(1)unused状态:即硬盘处于未使用状态,盘未经过初始化、格式化等操作。
(2)candidate状态:盘处于候选状态,已经具备成为raid成员盘的条件。
(3)spare状态:盘处于热备状态,即作为了raid阵列的热备盘。
(4)member状态:盘处于raid阵列中,作为raid阵列的成员盘之一。
存储硬盘的厂商,有时会更新硬盘的固件,以修改硬盘的已知bug或者改进硬盘的性能。这样我们也需要对存储中的硬盘固件进行升级,以优化存储系统性能,提高存储系统的稳定性。一方面,对某个硬盘进行升级时,该硬盘是无法响应io请求的,升级的时间大概也会有几十秒到几分钟不等。另一方面,存储中的硬盘一般是串行式的顺序升级,无法并发进行。
现有技术中,硬盘升级现在有线下批量升级和线上批量升级两种。
线下批量升级时,需要将现有的存储系统停机,将硬盘拔出,插到搭建好的标准linux系统平台上,运行厂商提供的固件升级脚本和升级包,顺序完成升级。
线上批量升级时,不需要存储系统停机,按照硬盘标号顺序,逐个硬盘完成固件升级。
线下批量升级方法,需要将存储系统停机,必将导致存储业务中断,缺点非常明显。
现有的线上批量升级方法,不区分硬盘所处状态,直接将硬盘按照插槽号顺序进行升级,可能会对存储的io处理产生较大影响。比如1、2、3、4、5号盘均处在同一个raid阵列中,直到5号盘升级完之后,该raid阵列才能继续处理io,而5块盘升级完成大概需要十几分钟的时间,肯定会导致io超时甚至其他严重的io错误,导致存储业务中断,从而直接影响客户相关业务的可靠性。
技术实现要素:
基于背景技术存在的技术问题,本发明提出了一种存储系统的硬盘固件在线升级方法,通过设定固件升级顺序,可以最大限度的避免对存储io处理和业务的影响。
本发明提出的一种存储系统的硬盘固件在线升级方法,包括以下步骤:
获取存储系统中raid阵列数量信息;
获取每个raid阵列中硬盘数量信息;
获取每个硬盘状态信息;
根据硬盘状态信息对各个硬盘进行升级,且完成一个状态所有硬盘升级后开启下一个状态的硬盘升级。
优选地,同一状态硬盘升级时,按照轮询方式,依次升级不同raid阵列中的硬盘,且每个轮询周期,每个raid阵列升级一个硬盘。
优选地,每个轮询周期内硬盘设置相同升级间隔时间t1。
优选地,不同轮询周期硬盘设置相同升级间隔时间t1+t2。
优选地,不同状态硬盘设置相同升级间隔时间t2。
优选地,t1为30秒,t2为270秒。
本发明中提供的一种存储系统的硬盘固件在线升级方法,通过设定固件升级顺序,可以最大限度的避免对存储io处理和业务的影响。
附图说明
图1为本发明提出的一种存储系统的硬盘固件在线升级方法的实施例存储系统中硬盘组成及状态示意图;
图2为图1中硬盘固件升级顺序图。
具体实施方式
如图1-2所示,图1为本发明提出的一种存储系统的硬盘固件在线升级方法的实施例存储系统中硬盘组成及状态示意图;图2为图1中硬盘固件升级顺序图。
下面结合附图和实施例对本发明进行详细的描述。
本实施例中,以存储系统共17块硬盘,即17块drive,且存储中存在3个raid阵列,进行举例说明。
一种存储系统的硬盘固件在线升级方法,包括以下步骤:
s1:获取存储系统中raid阵列数量信息为raidarray0、raidarray1、raidarray2;获取各raid阵列中硬盘数量信息drive1-17;获取状态信息有unused、candidate、spare状态;
s2:升级raidarray0中第1块盘drive0的固件;升级完成后,经过t1的时间间隔,再升级raidarray1中第1块盘drive5的固件;升级完成后,经过t1的时间间隔,再升级raidarray3中的第1块盘drive8的固件;
s3:上述升级完成后,再间隔t1+t2的时间,继续依次按照上述方法升级raidarray0~raidarray2中的第2块盘,而在t1+t2的间隔时间内,会依次升级unused、candidate、spare状态的盘,能升级几块就升级几块。未升级完的到下一个t1+t2间隔内进行升级;其中,t1为30秒,t2为270秒;
s4:当drive10升级完成时,raidarray1和raidarray2中的盘都已经升级完成了。仅剩raidarray0中的drive3、drive4以及尚未升级的unused、candidate、spare状态的盘。这时,升级drive3,完成后,如果还有非member盘未升级,则在该时间段内升级非member盘,间隔t2时间,然后再升级drive4,从而完成所有member状态盘的升级。剩下的时间则进行尚未升级的非member盘的固件升级。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。