一种ha存储设备、管理ha状态的方法

文档序号:8318902阅读:586来源:国知局
一种ha存储设备、管理ha状态的方法
【技术领域】
[0001]本申请涉及高可用存储设备,尤其涉及一种HA存储设备、HA存储设备管理HA状态的方法。
【背景技术】
[0002]随着信息产业的发展,人们对数据的依赖性越来越高。存储设备是保存信息的载体,人们对存储设备的可靠性和稳定性也越来越重视,HA(High Availability,高可用)存储设备为存储设备的可靠性提供了更好的保护。当一个控制器发生故障,如心跳故障、业务网口故障、关键进程故障、系统故障,影响到控制器上业务正常运行时,由另一台控制器接管其上的业务,实现业务的不中断运行。
[0003]现有的HA存储设备通常是在单控制器的基础上增加控制器,安装相关双控软件的来实现HA存储设备的高可用性,两个控制器都以本端的信息进行初始化,并通过TCP和对端控制器交换信息,确定自身在整个双控系统中的运行状态。
[0004]由于现有双控软件初始化过程中各控制器的HA状态确定要通过TCP交换信息,控制器间依赖程度高,软件功能实现复杂。如A端控制器把B端控制器接管后,系统整体异常掉电。B端控制器起动后并不能确认自己的HA状态,必须要同A端控制器交换信息来完成,因此系统灵活性较差。

【发明内容】

[0005]本申请提供一种HA存储设备、管理HA状态的方法,能够在控制器确定HA状态时降低控制器间的依赖性。
[0006]根据本申请实施例的第一方面,提供一种HA存储设备,包括插在背板上两个控制器,还包括与所述控制器物理连接的公共存储模块,用于存储两个所述控制器的HA业务状态?目息;
[0007]所述控制器用于当作为配置HA业务状态信息的发起方时,将两个控制器的HA业务状态信息写入所述公共存储模块;以及当读取HA业务状态信息时,从所述公共存储模块读取本控制器的HA业务状态信息。
[0008]本申请还提供一种利用上述HA存储设备管理HA状态的方法,该方法包括步骤:
[0009]当一个所述控制器发起配置HA业务状态信息的请求时,该控制器将两个控制器的HA业务状态信息写入所述公共存储模块;
[0010]当任一个所述控制器读取HA业务状态信息时,从所述公共存储模块读取本控制器的HA业务状态信息。
[0011]本申请通过在公共存储模块中存储两个控制器的HA业务状态信息,控制器启动时,读取公共存储模块中的HA业务状态信息就能确定本控制器的HA状态,相比现有技术的握手方式流程明显简化,灵活性强,状态确定不依赖其他控制器。
【附图说明】
[0012]图1为本申请实施例中HA存储设备的逻辑框图;
[0013]图2为本申请实施例中公共存储模块的存储区域示意图;
[0014]图3为本申请实施例中管理HA业务状态信息的流程图;
[0015]图4a为本申请实施例中HA存储设备中各模块的逻辑关系图;
[0016]图4b为不同发起配置HA业务状态信息的请求的条件下的时序图。
【具体实施方式】
[0017]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0018]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0019]HA存储设备通常指具有高可用性的存储设备。首先对本申请中所涉及的HA存储设备的HA业务状态的含义进行解释:
[0020]未配置状态(也称为independent状态):HA存储设备在没有配置HA业务状态信息前,设备不具备HA功能,本申请称为未配置状态。
[0021]独立运行状态:HA存储设备在配置HA业务状态信息后,各个控制器支持HA功能,相互之间通过通信监听对方运行状态,但各控制器独立运行各自业务,未发生接管,本申请称为独立运行状态。
[0022]非独立运行状态:HA存储设备在配置HA业务状态信息后,由一台控制器接管另一台控制器工作时两个控制器的业务状态。
[0023]接管状态:非独立运行状态下负责接管出现故障的控制器业务的控制器的业务状态,此时在该控制器内运行两个控制器的业务:
[0024]被接管状态:非独立运行状态下被接管业务的控制器的业务状态,此时该控制器被挂起,不运行业务,等待排除故障。
[0025]图1是本申请提供的HA存储设备的一个例子的结构示意图。如图所示,在本申请的HA存储设备中包括控制器101、控制器102和与两个控制器物理连接的公共存储模块103。
[0026]在公共存储模块103中存储有两个控制器所需要的关键信息,其中至少存储有控制器101、控制器102的HA业务状态信息,优选的,还可以包括两个控制器的标识、以及两个控制器各自的资源存储装置(资源存储装置可以是CF卡、系统盘等物理实体)的标识、缓存标记(用于标识各资源存储装置是否存有该控制器的资源数据的标记)等,另外,还可以包括有全局数据保留区域,以便存储功能扩展所相关的信息。作为一种优选方式,如图2所示,可以将公共存储模块103分成四个存储区域,分别作为存储控制器101标识、控制器101的资源存储装置的标识、用于标识该资源存储装置是否存有该控制器101的资源数据的标记的区域I ;存储控制器102标识、控制器102的资源存储装置的标识、用于标识该资源存储装置是否存有该控制器102的资源数据的标记的区域2 ;存储两个控制器的HA业务状态信息的区域3、以及全局数据保留区域4。
[0027]公共存储模块103内可以用一个字节来存放HA业务状态信息,例如可以把这个字节分为高低4位,分别存储一个控制器的HA的状态信息。为了保证HA业务状态信息的数据准确性,公共存储模块103中存储HA业务状态信息的区域允许控制器互斥的访问,发起配置HA业务状态信息请求的控制器,首先对公共存储模块103加写锁,这样就保证了同一时刻只会有一个控制器拥有配置HA业务状态信息的权利,不会存在两个控制器同时配置HA业务状态信息的冲突。加写锁可以是硬件锁,进一步保证不会存在两控制器同时获取锁的可能。
[0028]公共存储模块103在物理实现上可以通过多种存储介质实现,例如,可以在HA存储设备的背板上安装两个控制器可共同访问的磁盘或存储卡等)。另外,在一个优选实例中,可以在HA存储设备的背板上集成一个数据掉电不可失的存储器作为公共存储模块103,优选的,可以选用EEPROM存储器,相比磁盘或存储卡方式,如此可以无须额外占用磁盘和槽位,能够提高存储空间的利用率,采用EERPOM有可靠性更高、成本更低、功耗更小等特点。由于EEPROM中数据的存储方式是字节流,相比共享磁盘采用的文件系统,稳定性更高,不存在系统异常掉电导致文件系统损坏的缺点,也不存在因为文件系统缓存的机制导致异常掉电后关键信息没有记录到共享磁盘上的缺点。
[0029]控制器101或控制器102通过访问公共存储模块103来管理HA业务状态,具体的实现过程结合图3进行阐述:
[0030]S301,当其中一台控制器发起配置HA业务状态信息的请求时,发起方将两个控制器的HA业务状态信息写入公共存储模块103 ;
[0031]S302,当控制器101或控制器102需要读取HA业务状态信息时,从公共存储模
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1