多控存储系统实现控制器故障保护的装置及方法制造方法及图纸

技术编号:6610895 阅读:204 留言:0更新日期:2012-04-11 18:40
本发明专利技术披露了多控存储系统实现控制器故障保护的装置及方法,其中装置包括:写策略设置模块在上电时将磁盘的写策略模式设置为数据总被写入磁盘的模式,磁盘缓存开关模块在上电时关闭磁盘的高速缓存,磁盘定位模块在上电时将获取的存储系统中所有磁盘所处物理位置的信息输出给磁盘置位模块,磁盘置位模块在控制器发生故障并接管该发生故障的控制器使用的磁盘资源时,根据输入的磁盘所处物理的位置信息对被接管的磁盘进行置位操作。本发明专利技术可有效地避免故障控制器被接管后常会出现的磁盘写数据不一致的问题。

【技术实现步骤摘要】

本专利技术涉及存储装置掉电保护的方法,尤其涉及多控制器存储系统实现控制器故障保护的方法及装置。
技术介绍
在多控制器存储系统中为提高系统的可靠性,引入了缓存管理模块,控制器接收写数据的请求后,在将数据写入磁盘前会把要写入的数据发送至其它控制器进行镜像缓存。当接收写请求的控制器发生故障后,由其它控制器接管发生故障的控制器的存储资源, 并把经镜像缓存的数据写入被接管的磁盘。在多控制器存储系统中的一个控制器出现掉电故障后,会导致正在进行读/写操作的磁盘无法向操作系统返回响应;另外,当其它控制器接管故障控制器的存储资源后,在短时间内对被接管的磁盘进行读/写操作,可能会出现错误;由此均会导致出现向被接管的磁盘写数据不一致的故障。因此,需要针对由于多控制器存储系统中的控制器掉电后会引发的磁盘故障,提供一种可靠易行的解决办法及装置,能够有效地避免出现这类故障。
技术实现思路
本专利技术所要解决的技术问题是提供一种多控存储系统实现掉电保护的方法及装置,能够在控制器掉电后有效地避免出现磁盘故障。为了解决上述技术问题,本专利技术提供了一种多控制器存储系统实现控制器故障保护的装置,包括写策略设置模块、磁盘缓存开关模块以及相互连接的磁盘定位模块和磁盘置位模块,其中写策略设置模块,用于在上电时将磁盘的写策略模式设置为数据总被写入磁盘的模式;磁盘缓存开关模块,用于在上电时关闭磁盘的高速缓存;磁盘定位模块,用于在上电时将获取的存储系统中所有磁盘所处物理位置的信息输出给磁盘置位模块;磁盘置位模块,用于在控制器发生故障并接管该发生故障的控制器使用的磁盘资源时,根据输入的磁盘所处物理的位置信息对被接管的磁盘进行置位操作。进一步地,写策略设置模块在上电时将磁盘的写策略模式由默认的回写模式设置为透写模式,即数据总被写入磁盘的模式。进一步地,磁盘缓存开关模块获取及分析小型计算机系统接口协议的0x08协议页中控制磁盘缓存模式的信息,将设为控制打开缓存模式修改为控制关闭缓存模式,然后将修改的信息以命令数据的形式写回磁盘,以关闭磁盘的高速缓存。进一步地,磁盘定位模块通过小型计算机系统接口 SCSI协议的0χΑ、0χ83协议页信息获取并输出所有磁盘所处物理位置的信息,包括所有磁盘所在阵列及其串行SCSI地址以及磁盘的槽位号。进一步地,磁盘置位模块使用smp_Utils工具执行置位操作,使得被接管的磁盘由不确定状态恢复到正常状态。为了解决上述技术问题,本专利技术提供了一种多控制器存储系统实现控制器故障保护的方法,包括控制器在上电时将磁盘的写策略模式设置为数据总被写入磁盘的模式,并关闭使用磁盘的高速缓存,以及获取存储系统中所有控制器使用磁盘所处物理位置的信息。进一步地,该方法还包括当有控制器发生故障时,其它控制器根据磁盘所处物理位置的信息对发生故障的控制器所使用的磁盘进行置位操作,完成对磁盘的接管操作。进一步地,控制器在上电时将磁盘的写策略模式由默认的回写模式设置为透写模式,即数据总被写入磁盘的模式。进一步地,控制器在上电时关闭使用磁盘的高速缓存,具体包括获取及分析小型计算机系统接口协议的0x08协议页中控制磁盘缓存模式的信息,将设为控制打开缓存模式修改为控制关闭缓存模式,然后将修改的信息以命令数据的形式写回磁盘,以关闭磁盘的高速缓存。进一步地,控制器在上电时获取存储系统中所有控制器使用磁盘所处物理位置的信息,具体包括通过小型计算机系统接口 SCSI协议的0χΑ、0χ83协议页信息获取所有磁盘所处物理位置的信息,包括所有磁盘所在阵列及其串行SCSI地址以及所述磁盘的槽位号。本专利技术提供的方法及装置,通过修改存储系统的磁盘写入策略及写模式,并在其它控制器接管故障控制器存储资源的过程中对被接管的磁盘进行置位操作,从而可有效地避免故障控制器被接管后常会出现的磁盘写数据不一致的问题。附图说明图1为本专利技术的多控存储系统实现控制器故障保护的装置实施例的结构框图;图2为本专利技术的多控存储系统实现控制器故障保护的方法实施例流程图。具体实施例方式下面结合附图和优选实施例对本专利技术的技术方案进行详细地描述。以下例举的实施例仅用于说明和解释本专利技术,而不构成对本专利技术技术方案的限制。本专利技术提供的多控存储系统实现控制器故障保护的装置实施例,其结构如图1所示,包括写策略设置模块110、磁盘缓存开关模块120以及相互连接的磁盘定位模块130和磁盘置位模块140,其中写策略设置模块110,用于在上电时将磁盘的写策略设置为数据总被写入磁盘的模式;写策略设置模块110将磁盘的写策略由默认的回写模式(write back)设置为透写模式(write through)。通常,磁盘的写策略有回写模式(write back)和透写模式两种,其中,回写模式代表被写入高速缓存的数据只有在其要被清除时才会被写入磁盘,该模式是默认情况下的写策略;透写模式代表数据在被写入高速缓存的同时也被写入磁盘,即数据总被写入磁盘的模式。当数据由处理器写入到磁盘上时,要写入的数据由于可能会被频繁访问而先被写入高速缓存中,故在默认情况下的写策略为write kick模式;处于此模式下若发生控制器故障(譬如掉电),会造成高速缓存中尚未被写入磁盘的数据丢失。因此需要在存储系统上电时将磁盘的写策略设为透写模式,由于数据在被写入到高速缓存的同时也会被写到磁盘,故此模式可在发生控制器故障时避免造成数据的丢失。磁盘缓存开关模块120,用于在上电时通过小型计算机系统接口(SCSI,Small Computer Systems Interface)协议关闭磁盘的高速缓存;SCSI协议的0x80协议页中包含了控制磁盘缓存模式的信息,当该信息为打开缓存模式时,写入磁盘的数据会首先写到被打开的高速缓存中;在对磁盘进行置位操作时,会造成已被写入高速缓存但尚未写入磁盘的数据丢失。如果将0x80协议页中控制磁盘缓存模式修改为控制关闭缓存模式,则写入磁盘的数据会直接写到磁盘上,故此情况下再对磁盘进行置位操作时,不会造成数据丢失。磁盘缓存开关模块120获取及分析SCSI协议的0x08协议页中控制磁盘缓存模式的信息,将设为控制打开缓存模式修改为控制关闭缓存模式,然后将修改的信息以命令数据的形式写回磁盘,以关闭磁盘的高速缓存。磁盘定位模块130,用于在上电时将通过SCSI协议获取的存储系统中所有磁盘所处物理位置的信息输出给磁盘置位模块140 ;磁盘定位模块130通过SCSI协议的0χΑ、0χ83协议页信息,获取所有磁盘所在阵列(expander)及其串行SCSI (SAS,krial Attached SCSI)地址以及各磁盘的槽位号。磁盘置位模块140,用于在控制器发生故障并接管其使用磁盘资源时,根据输入的磁盘所处物理位置的信息对被接管的磁盘进行置位操作。磁盘置位模块140根据输入的磁盘所处物理位置的信息找到被接管磁盘的物理位置,通过smp_utils工具对相应的磁盘进行置位操作。在多控制器存储系统中,磁盘阵列通常会通过SAS卡或SAS线与控制器连接。当一个控制器在向磁盘写入数据时发生掉电,造成被写入数据的磁盘处于不确定状态,当另一个控制器接管这些磁盘时,会触发对这些磁盘的状态恢复机制,每个磁盘的恢复时间大约为2秒且恢复过程是顺序执行,如果磁盘数量较多时,另外的控制器本文档来自技高网...

【技术保护点】
1.一种多控制器存储系统实现控制器故障保护的装置,其特征在于,包括写策略设置模块、磁盘缓存开关模块以及相互连接的磁盘定位模块和磁盘置位模块,其中:写策略设置模块,用于在上电时将磁盘的写策略模式设置为数据总被写入磁盘的模式;磁盘缓存开关模块,用于在上电时关闭磁盘的高速缓存;磁盘定位模块,用于在上电时将获取的所述存储系统中所有磁盘所处物理位置的信息输出给磁盘置位模块;磁盘置位模块,用于在控制器发生故障并接管该发生故障的控制器使用的磁盘资源时,根据输入的磁盘所处物理的位置信息对被接管的磁盘进行置位操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:张延枫张宇
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:11

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

1