本发明涉及存储的技术领域,特别是涉及双控制存储系统中同步缓存的方法及装置。
背景技术:
在从事存储的研究设计和测试当中,渐渐地意识到双控制存储系统中,当有一个控制器宕机后,另一个控制器的缓存将会关闭,这样读写数据将会直接从后端硬盘中读取,对性能影响很大。鉴于此,需要一种新的策略来改进上述双控制一个控制器宕机而强制将另一个控制器缓存关闭的缺点。
技术实现要素:
本发明目的是提供一种同步缓存的方法及装置,本发明通过预设第三方缓存机制,实现改进双控制存储系统一个控制器宕机而强制将另一个控制器缓存关闭的缺点。
为了实现上述目的,本发明采用以下的技术方案:
一种同步缓存的方法,包括以下步骤:
在双控制存储系统中预设第三方缓存;
监测判断双控制存储系统中的控制器是否宕机,若一方控制器宕机,则启用第三方缓存;若否,继续监测;
第三方缓存与正常控制器同步缓存。
进一步的,第三方缓存与正常控制器同步缓存之后,还包括,修复宕机的控制器,恢复后的控制器重新启动。
进一步的,在修复宕机的控制器,修复后的控制器重新启动之后,第三方缓存将缓存数据同步给修复后的控制器的缓存。
进一步的,在修复宕机的控制器,修复后的控制器重新启动之后,在第三方缓存将缓存数据同步给修复后的控制器的缓存之后,还包括,同步缓存完成后,第三方缓存下线。
进一步的,所述第三方缓存只在其中一个控制器宕机的情况下,被另一个控制器识别并启用;其它情况下不启用。
进一步的,所述第三方缓存是指SSD盘、Flash卡或磁盘阵列中的一块磁盘。
进一步的,所述第三方缓存容量不小于单个控制器的总容量。
进一步的,第三方缓存位于双控制存储系统中的两个控制器能够正常访问的公共区域。
一种同步缓存的装置,包括:
预设模块,用于在双控制存储系统中预设第三方缓存;
监测模块,用于监测判断双控制存储系统中的控制器是否宕机,若一方控制器宕机,则启用第三方缓存;若否,继续监测;
同步模块,用于第三方缓存与正常控制器同步缓存。
进一步的,该装置还包括修复模块,用于修复宕机的控制器;
优选地,该装置还包括恢复模块,用于第三方缓存将缓存数据同步给恢复后的控制器的缓存;
优选地,该装置还包括下线模块,用于同步缓存完成后,第三方缓存下线。
与现有技术相比,本发明通过预设第三方缓存机制,改进了双控制存储系统一个控制器宕机而强制将另一个控制器缓存关闭的缺点,具体有益效果体现在以下几点:
1、第三方缓存机制设计简单,可以是SSD盘、Flash卡、磁盘阵列中的一块磁盘;
2、第三方缓存机制,避免了一个控制器宕机,另一个控制器单控情况下的缓存关闭,数据直接落盘的情况,提高了读写性能;
3、第三方缓存机制,在双控制器正常工作时不起作用,只有当一个控制器宕机后才起第三方缓存的机制作用,减少了数据流的切换时间;
4、第三方缓存将缓存数据同步给恢复的控制器的缓存,减少控制器同步缓存导致数据有中断的缺点。
附图说明
图1 是本发明一种同步缓存的方法的流程示意图之一。
图2 是本发明一种同步缓存的方法的流程示意图之二。
图3 是本发明一种同步缓存的装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
实施例1
请参考图1,本实施例提供一种同步缓存的方法,包括以下步骤:
步骤S101,在双控制存储系统中预设第三方缓存;
步骤S102,监测判断双控制存储系统中的控制器是否宕机;
步骤S103,一方控制器宕机,则启用第三方缓存;若否,继续监测;
步骤S104,第三方缓存与正常控制器同步缓存。
实施例2
请参考图2,本实施例提供另一种同步缓存的方法,包括以下步骤:
步骤S201,在双控制存储系统中预设第三方缓存;
所述第三方缓存是指SSD盘、Flash卡或磁盘阵列中的一块磁盘;所述第三方缓存容量不小于单个控制器的总容量;第三方缓存位于双控制存储系统中的两个控制器能够正常访问的公共区域;
步骤S202,监测判断双控制存储系统中的控制器是否宕机;
所述双控制存储系统中的双控制器都会有仲裁盘充当裁判,对于控制器宕机的判断是通过另一台控制器判断的,比如正常情况下两个控制器的内存是要同步的,一旦一台控制器宕机,另一台控制器将无法进行内存同步;
步骤S203,判断另一台控制器是否宕机;
步骤S204,正常控制器启用第三方缓存;
一旦一台控制器宕机,另一台控制器将无法进行内存同步,这样没有宕机的控制器启用所述第三方缓存。所述第三方缓存只在其中一个控制器宕机的情况下,被另一个控制器识别并启用;其它情况下不启用;
步骤S205,第三方缓存与正常控制器同步缓存;
第三方缓存起到同步对方缓存的作用;
步骤S206,修复宕机的控制器;
步骤S207,恢复后的控制器重新启动;
步骤S208,在修复宕机的控制器,修复后的控制器重新启动之后,第三方缓存将缓存数据同步给修复后的控制器的缓存;
步骤S209,同步缓存完成后,第三方缓存下线。
实施例3
请参考图3,本实施例提供一种同步缓存的装置,包括:
预设模块301,用于在双控制存储系统中预设第三方缓存;
判断模块302,用于监测判断双控制存储系统中的控制器是否宕机,若一方控制器宕机,则启用第三方缓存;若否,继续监测;
同步模块303,用于第三方缓存与正常控制器缓存同步;
修复模块304,用于修复宕机的控制器;
恢复模块305,用于第三方缓存将缓存数据同步给恢复后的控制器的缓存;
下线模块306,用于同步缓存完成后,第三方缓存下线。
本发明涉及到双控制存储系统中,当存储系统的一个控制器宕机后,另一个控制器不会因数据的一致性保护而导致本身控制器缓存关闭,由于缓存关闭数据会直接落盘这样导致存储性能下降且需要切换时间;而当宕机的控制器起来后,两个控制器之间需要同步缓存,导致也会有切换时间。本发明所使用增加第三方缓存机制,将使双控制中其中一个控制器宕机只有一个控制器运行时,缓存仍然开启的状态,而不会导致另一个控制器缓存关闭的情况,从而使性能不会因一个控制器宕机而导致性能下降的结果。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。