单线级联拓扑结构的简单磁盘捆绑的识别系统及方法

文档序号:6468038阅读:94来源:国知局

专利名称::单线级联拓扑结构的简单磁盘捆绑的识别系统及方法
技术领域
:本发明涉及一种磁盘识别方法,尤其涉及一种在多控制器下实现单线级联简单磁盘捆绑(JB0D)的识别系统及方法。
背景技术
:实际应用中,简单磁盘捆绑(JustBundleOfDisks,JBOD)级联的拓扑结构包括单线连接和多线连接。其中由于单线连接具有多个方向的连接,因此在一个方向的连接断开之后,还可以通过其它方向的连接进行访问,从而增加了系统的稳定性和安全性。例如,以双控的JBOD为例(如图1所示),其中该实施例中所示的系统中包含有两个控制器SDAOl和SDA02,以及对应单线连接结构的JB0D1、JB0D2及JB0D3。在单线连接情况下,如果关闭了JB0D2,则控制器SDAOl可以访问JBODl,控制器SDA02还可以访问JB0D3。然而,如果采取并联方式的话,JB0D2和JB0D3将都不能够被访问。但是,与多线并联的方式不同,单线串联方式下不能够简单地以连接顺序(level)来区分JBOD。对于SDAOl和SDA02来说,同一个JBOD的连接顺序是不一样的。例如图1显示的多控制器JBOD单线级联拓扑结构的实施例中,JB0D1对于SDAOl来说是levell,而对于SDA02来说是level3,因此不能通过等级来识别JBOD。要在SDAOl和SDA02上实现JBOD的相同识别,就需要每个JBOD具有一个唯一的系统标识。—般情况下,JBOD的系统标识是由硬件本身提供的,JBOD的不同控制器,例如图1中,JB0D1的控制器Cll和C12、JB0D2的控制器C21和C22以及JB0D3的控制器C31和C32,它们分别和SDA01、SDA02对应连接,这些控制器通常具有相同的硬件识别符(ID)。但是,如果硬件不能够提供,则无法实现在多控制器上对单线级联拓扑结构中的同一JBOD的同样识别,从而造成同一个JBOD例如在SDAOl与SDA02上被识别成为两个不同的设备。
发明内容本发明的目的旨在至少解决现有技术中的上述问题之一。为此,本发明的实施例提出了一种单线级联拓扑结构的简单磁盘捆绑(JustBundleOfDisks,JBOD)的识别系统及方法,能够在多控制器环境下实现对单线级联的JBOD的相同识别。根据本发明的一个方面,本发明实施例提供了一种单线级联拓扑结构的简单磁盘捆绑(JBOD)的识别方法,应用于具有多个控制器的主机中,该方法包括以下步骤a.获取所述主机当前控制器对应连接的JBOD及其上硬盘的硬件配置信息;b.将所述硬件配置信息同步到所述主机的其它控制器中;c.根据同步后的硬件配置信息,执行所述主机的控制器对所述单线级联拓扑结构中同一JBOD的识别。根据本发明进一步的实施例,硬件配置信息包括所述主机当前控制器的SAS地址和所述硬盘的序列号。根据本发明进一步的实施例,还包括判断所述硬件配置信息的硬盘序列号是否存在于所述主机当前控制器的已有硬件配置信息中的步骤,并当所述硬盘序列号不存在所述已有硬件配置信息中时对所述硬盘序列号对应硬盘所在的JBOD生成唯一的JBOD识别符。根据本发明进一步的实施例,所述同步步骤包括比较所述主机当前控制器的硬件配置信息与所述其它控制器的硬件配置信息;若其它控制器的硬件配置信息中已存在所述当前控制器的硬件配置信息的硬盘序列号,则将所述硬盘序列号、其对应的JBOD标识符及SAS地址写入其它控制器的硬件配置信息中。根据本发明再一步的实施例,若其它控制器的硬件配置信息中已存在所述当前控制器的硬件配置信息的硬盘序列号,则使用所述当前控制器的硬件配置信息中与所述硬盘序列号对应的JBOD识别符添加所述其它控制器对应的SAS地址到所述其它控制器的硬件配置信息中。根据本发明进一步的实施例,当所述JBOD为新插入所述单线级联拓扑结构中时,所述同步步骤包括将该JBOD对应的硬件配置信息和JBOD识别符添加到所述主机的各个控制器硬件配置信息中。根据本发明进一步的实施例,当从所述单线级联拓扑结构中移除所述JBOD时,所述同步步骤包括将所述JBOD对应的硬件配置信息和JBOD识别符从所述主机的各个控制器的硬件配置信息中删除。根据本发明的另一方面,本发明的实施例提供了一种单线级联拓扑结构的简单磁盘捆绑(JBOD)的识别系统,应用于具有多个控制器的主机中,所述JBOD的识别系统包括硬件管理模块,用于获取与所述主机的当前控制器对应连接的JBOD及其上硬盘的硬件配置信息;同步模块,用于将所述硬件配置信息同步到所述主机的其它控制器中;和识别模块,用于根据同步后的硬件配置信息,执行所述主机的多个控制器对所述单线级联拓扑结构中同一JBOD的识别。根据本发明进一步的实施例,所述硬件配置信息包括所述主机当前控制器的SAS地址和所述硬盘的序列号。根据本发明进一步的实施例,所述JBOD的识别系统还包括配置管理模块和识别符生成模块;所述配置管理模块用于判断所述硬件配置信息的硬盘序列号是否存在于所述主机当前控制器的已有硬件配置信息中,所述识别符生成模块用于生成所述硬盘序列号对应的硬盘所在的JBOD的唯一JBOD识别符。在所述其它控制器的硬件配置信息中已存在所述主机当前控制器的硬件配置信息的硬盘序列号时,所述同步模块将所述硬盘序列号、其对应的JBOD标识符及SAS地址写入其它控制器的硬件配置信息中。根据本发明进一步的实施例,在所述其它控制器的硬件配置信息中已存在有所述当前控制器的硬件配置信息的硬盘序列号,所述同步模块使用所述当前控制器的硬件配置信息中与所述硬盘序列号对应的JBOD识别符添加所述其它控制器对应的SAS地址到所述其它控制器的硬件配置信息中。根据本发明进一步的实施例,当所述JBOD为新插入所述单线级联拓扑结构中时,所述同步模块将该JBOD对应的硬件配置信息和JBOD识别符添加到所述主机的各个控制器硬件配置信息中。根据本发明进一步的实施例,当从所述单线级联拓扑结构中移除所述JBOD时,所述同步模块将所述JBOD对应的硬件配置信息和JBOD识别符从所述主机的各个控制器的硬件配置信息中删除。本发明的识别系统及方法通过获取多控制器主机下单线连接的各个JBOD及其上的硬盘固有的硬件信息以及生成的唯一JBOD识别符,并将这些信息在各个对应连接的主机控制器之间进行信息实时同步和共享,从而能够在多控制器环境下实现对单线级联的JBOD的相同识别。另外,本发明通过对新插入现有结构中的JBOD或从该结构中移除的JBOD对应信息进行获取,并对各个JBOD的当前信息进行添加或删除同步,因此实现多控制器环境对这些JBOD的相同识别。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。图1为双控制器的JBOD单线级联拓扑结构示意图;图2为本发明实施例的单线级联拓扑结构的JBOD的识别系统结构方块图;图3为本发明实施例的单线级联拓扑结构的JBOD的识别方法步骤流程图;图4为本发明实施例单线级联拓扑结构的JBOD的识别方法的同步步骤流程图;图5对本发明实施例的新接入拓扑结构中的JBOD的识别步骤流程图。具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的组件或具有相同或类似功能的组件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。下面请参考图2,该图为本发明实施例的单线级联拓扑结构的JBOD的识别系统结构方块图。这里,以具有双控制器的机器和JBOD为例对本发明的JBOD识别系统作出说明,并且关于该双控制器的JBOD单线级联拓扑结构可以参考图1所示。需要指出的是,该实施例仅为本发明原理的示出,不用于限制并发明。显然本
技术领域
的普通技术人员可以容易通过本实施例描述的内容将该发明应用于多控制器下。如图2所示,在具有双控制器SDA01和SDA02的主机系统中,每个控制器下对应包括有硬件管理模块12和22、配置管理模块14和24、同步模块16和26、及识别模块20和30,此双控的不同控制器上具有相同的架构。硬件管理模块12用来获取与主机控制器SDA01对应连接的每个JBOD及其上硬盘的硬件配置信息。当然,这里需设置每个JBOD上至少插入一块可被系统识别的磁盘,从而可以获得被识别磁盘的硬件配置信息。另外,各个JBOD上对应的每个控制器,例如图1所示分别和SDA01、SDA02对应连接的JBODl的控制器Cll和C12、JB0D2的控制器C21和C22以及JB0D3的控制器C31和C32,它们各自的串行连接SCSI(SAS)地址在系统中是唯一的。在实施例中,JBOD的关键信息有WWN:全局名(WorldWideName),JBOD上各个控制器的SAS地址,还可以包括Level:1,2,…,表示各个JBOD的连接顺序。硬盘的关键信息有SN-SerialNumber,硬盘的序列号,具有唯一性,还可以包含Slot:1,2,…,代表硬盘在对应JBOD上的插槽位置。6配置管理模块14/24用于管理在主机控制器SDA01/SDA02下获取的各个JB0D1、JB0D2、JB0D3和对应硬盘的硬件配置信息,并将它们保存在本地数据库18/28中。配置管理模块14/24将对应的硬件配置管理模块12/22获取的硬件配置信息和它们各自对应的数据库18/28已有的信息作比对,以根据获取的硬盘序列号是否存在当前数据库中,从而判断对应的硬盘及其所在的JBOD是否为首次被发现。识别系统还包括识别符生成模块(图中未显示),用于在当前主机控制器中的数据库中没有新获取的硬盘信息时,生成与硬盘序列号对应的硬盘所在的JBOD的唯一JBOD识别符。唯一的JBOD识别符表示,如果该JBOD是被一个主机控制器首先检测到,则由该主机控制器系统下的识别符生成模块生成它的JBOD识别符,在该识别符后面被同步模块16/26同步到其它主机控制器中之后,其它主机控制器系统的数据库也会使用该JBOD识别符信息。配置管理模块14/24会将对应的硬件配置信息以及生成的JBOD等关键信息一起写入对应的本地数据库18/28中。同步模块16/26用于将当前控制器系统下获取的硬盘和JBOD的关键信息同步写入到对应的另一个控制器数据库28/18中,完成两个控制器之间的通信。为了实现双控制器下JBOD的相同识别,需要保持各控制器上的数据库信息的实时同步。在另一控制器发现当前控制器同步模块写入的硬件配置信息的硬盘序列号时,即发现该序列号对应的硬盘时,同步模块16/26将当前控制器的硬盘序列号、其对应的JBOD标识符及SAS地址写入该另一控制器的硬件配置信息中。在另一控制器的硬件配置信息中已存在有所述其它控制器的硬件配置信息的硬盘序列号,同步模块16/26还使用当前控制器的硬件配置信息中与硬盘序列号对应的唯一JBOD识别符,在其JBOD信息下添加其对应的SAS地址信息。当JBOD为新插入单线级联拓扑结构中时,同步模块将该JBOD对应的硬件配置信息和JBOD识别符添加到主机的各个控制器硬件配置信息中。当从单线级联拓扑结构中移除JBOD时,同步模块将JBOD对应的硬件配置信息和JBOD识别符从主机的各个控制器的硬件配置信息中删除。通过上述在双控制器下进行JBOD相同识别的原理和识别系统结构,本领域的普通技术人员显然可知,以同样方式,能够容易地将当前一个控制器获得的关键信息同步写入到在多控制器环境下的其它任一个控制器中,其它各个控制器启动时获得的相关信息也可以同步共享到当前结构的任意一个控制器中。下面结合图3,对本发明实施例的单线级联拓扑结构的JBOD的识别方法说明如下。首先,获取主机当前控制器对应连接的JBOD及其上硬盘的硬件配置信息(步骤102);硬件配置信息例如包括主机当前控制器的SAS地址和硬盘的唯一序列号。然后,将硬件配置信息同步到主机的各个控制器中(步骤104)。该识别方法还可以包括判断硬件配置信息的硬盘序列号是否存在于主机当前控制器的已有硬件配置信息中的步骤,并当硬盘序列号不存在已有硬件配置信息中时,即对于首次发现的硬盘及其所在的JBOD生成唯一的JBOD识别符。最后,根据同步后的硬件配置信息,执行主机的多个控制器对单线级联拓扑结构中同一JBOD的识别(步骤106)。下面结合图4对本发明的JBOD识别方法的同步步骤作出描述,图4为本发明实施例单线级联拓扑结构的JBOD的识别方法的同步步骤流程图。首先,比较主机当前控制器的硬件配置信息与其它控制器的硬件配置信息(步骤202);然后,判断其它控制器中是否存在当前控制器的硬件配置信息的硬盘序列号(步骤204)。这里,若不存在当前控制器的硬件配置信息的硬盘序列号,则表示该序列号对应的硬盘不存在该其它控制器下,则结束。若存在,则将当前控制器对应的硬盘序列号、其对应的JB0D标识符及SAS地址写入其它控制器中(步骤206),即每个控制器对应连接的JB0D和硬盘在当前控制器的对应关键信息增加到其它主机控制器的配置信息中。并且,由于各个主机控制器与同一JB0D的不同控制器连接,所获取的JB0D丽N,即JB0D控制器的SAS地址是不同的,因此需要使用当前控制器的硬件配置信息中与硬盘序列号对应的JB0D唯一标识符,生成其它主机控制器下各个JB0D的控制器对应的SAS地址,并添加到其它控制器对应的硬件配置信息中(步骤208)。下面,以图!的双控制器下单线级联拓扑结构的JBOD为具体实施例,对本发明的多控制器下JBOD识别方法详细说明如下。例如,当启动控制器SDA01时,控制器SDA01检测到其对应连接的3个JB0D(JB0D1、JB0D2和JB0D3,并且每个上面至少带有一块可识别磁盘),因此获取它们的硬件配置信息,并生成此3个JB0D唯一的JB0D_ID,并将信息存储到数据库中。例如,获取JB0D1、JB0D2和JB0D3上对应硬盘的配置信息如下表1所示表1<table>tableseeoriginaldocumentpage8</column></row><table>这里,Controller表示连接对应JBOD的主机控制器的系统标识;Status表示连接状态,O为断开,1为连接;JB0D_ID为JBOD的唯一标识。JB0D1、JB0D2和JB0D3的对应配置如表2所示表2<table>tableseeoriginaldocumentpage8</column></row><table>然后,启动控制器SDA02时,会将以上配置同步到它的数据库中。在SDA02上发现3个JB0D以及其上的HardDisk,首先也获取该JBOD及其硬盘的信息,然后和数据库中的信息作比对。如果配置中硬盘不存在,就生成它所在JBOD的JBOD标识符,作为JBOD的唯一标识,连同硬盘和JBOD的关键信息一起写入本地的数据库。在该实施例中,在控制器SDA02的数据库中发现为6PT17DP1的硬盘序列号,该序列号对应的磁盘已经在控制器SDA01上存在,因此使用控制器SDA01上该硬盘对应的相同JB0D_ID,同时在控制器SDA02的JBOD表中添加新的JBOD纪录,即各个JBOD的控制器在主控控制器SDA02下对应的SAS地址。这时,主机控制器SDA02下的硬盘配置信息和JBOD配置信息分别如表3和表4所示。表3<table>tableseeoriginaldocumentpage9</column></row><table>将控制器SDA02下的配置信息通过同样方法可以再次同步到SDAOl的数据库中。因此,能够在主机控制器SDAOl和SDA02上具有相同的JBOD及硬盘的配置信息,从而实现对同一个JBOD的识别。如果在某一时刻,当现有拓扑中的JB0D2被拔掉连线,或者被关闭电源的时候,受到影响的主机控制器SDAOl会接收到该JBOD以及其上磁盘从系统中移除的中断信号,即,JBOD:wwn500a0dl00006de50和硬盘6PT0TB3S从系统中移除的中断信号,则从数据中将它们的记录删除,并且同步到SDA02控制器的数据库中。相应的删除操作后,控制器SDAOl的配置信息如表5和表6所示。表5<table>tableseeoriginaldocumentpage10</column></row><table>鼎N(key)LevelStatusControllerJBOD—ID碰500a0dl00006de2131SDA01f7a6288f-ffef-4e5d-874b-ca74fdcb6247碰500a0dl000057aa611SDA02f7a6288f-ffef-4e5d-874b-ca74fdcb6247碰500a0dl000057aa931SDA0235b730ac-f78d-4164-b127-b5595f697d7a下面结合图5对新接入本发明拓扑结构中的JBOD的识别步骤流程图。当有新的JBOD接入现有的拓扑结构中时,对应启动的一个主机控制器中会接收到该JBOD以及其上硬盘热插入的中断信号(步骤302),并获取JBOD及其硬盘的详细硬件信息(步骤304),然后将获取的信息和该主机控制器下的硬件配置信息数据库中的信息作比对(步骤306),以判断配置信息中存在该硬盘的序列号(步骤308)。如果配置中硬盘不存在,就生成它所在JBOD的JBOD唯一标识符(步骤310),然后连同硬盘和JBOD的关键信息一起写入本地的数据库(步骤312),并同步写入其它控制器的数据库中(步骤316)。如果配置中硬盘已经存在,则使用已经存在的JBOD标识符和本地获取的JBOD关键信息一起写入本地数据库(步骤314),并同步写入其它控制器的数据库中(步骤316)。这里需要指出的是,在识别JBOD的过程中,各个主机控制器之间的操作,不能是并发的,必须互斥。这是因为,为例保证同时刻各个主机控制器配置的一致,各个控制器不能各自分别进入同步写操作。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。权利要求一种单线级联拓扑结构的简单磁盘捆绑的识别方法,应用于具有多个控制器的主机中,其特征在于,包括以下步骤a.获取所述主机当前控制器对应连接的简单磁盘捆绑及其上硬盘的硬件配置信息;b.将所述硬件配置信息同步到所述主机的其它控制器中;c.根据同步后的硬件配置信息,执行所述主机的多个控制器对所述单线级联拓扑结构中同一简单磁盘捆绑的识别。2.根据权利要求1所述的简单磁盘捆绑的识别方法,其特征在于,所述硬件配置信息包括所述主机当前控制器的SAS地址和所述硬盘的序列号。3.根据权利要求2所述的简单磁盘捆绑的识别方法,其特征在于,还包括判断所述硬件配置信息的硬盘序列号是否存在于所述主机当前控制器的已有硬件配置信息中的步骤,并当所述硬盘序列号不存在所述已有硬件配置信息中时对所述硬盘序列号对应硬盘所在的简单磁盘捆绑生成唯一的简单磁盘捆绑识别符。4.根据权利要求3所述的简单磁盘捆绑的识别方法,其特征在于,所述同步步骤包括比较所述主机当前控制器的硬件配置信息与所述其它控制器的硬件配置信息;若其它控制器的硬件配置信息中已存在所述当前控制器的硬件配置信息的硬盘序列号,则将所述硬盘序列号、其对应的简单磁盘捆绑标识符及SAS地址写入其它控制器的硬件配置信息中。5.根据权利要求4所述的简单磁盘捆绑的识别方法,其特征在于,若其它控制器的硬件配置信息中已存在所述当前控制器的硬件配置信息的硬盘序列号,则使用所述当前控制器的硬件配置信息中与所述硬盘序列号对应的简单磁盘捆绑识别符添加所述其它控制器对应的SAS地址到所述其它控制器的硬件配置信息中。6.根据权利要求3所述的简单磁盘捆绑的识别方法,其特征在于,当所述简单磁盘捆绑为新插入所述单线级联拓扑结构中时,所述同步步骤包括将该简单磁盘捆绑对应的硬件配置信息和简单磁盘捆绑识别符添加到所述主机的各个控制器硬件配置信息中。7.根据权利要求3所述的简单磁盘捆绑的识别方法,其特征在于,当从所述单线级联拓扑结构中移除所述简单磁盘捆绑时,所述同步步骤包括将所述简单磁盘捆绑对应的硬件配置信息和简单磁盘捆绑识别符从所述主机的各个控制器的硬件配置信息中删除。8.—种单线级联拓扑结构的简单磁盘捆绑的识别系统,应用于具有多个控制器的主机中,其特征在于,包括硬件管理模块,用于获取与所述主机的当前控制器对应连接的简单磁盘捆绑及其上硬盘的硬件配置信息;同步模块,用于将所述硬件配置信息同步到所述主机的其它控制器中;识别模块,用于根据同步后的硬件配置信息,执行所述主机的多个控制器对所述单线级联拓扑结构中同一简单磁盘捆绑的识别。9.根据权利要求8所述的简单磁盘捆绑的识别系统,其特征在于,所述硬件配置信息包括所述主机当前控制器的SAS地址和所述硬盘的序列号。10.根据权利要求9所述的简单磁盘捆绑的识别系统,其特征在于,还包括配置管理模块和识别符生成模块;所述配置管理模块用于判断所述硬件配置信息的硬盘序列号是否存在于所述主机当前控制器的已有硬件配置信息中;所述识别符生成模块用于生成所述硬盘序列号对应的硬盘所在的简单磁盘捆绑的唯一简单磁盘捆绑识别符。11.根据权利要求io所述的简单磁盘捆绑的识别系统,其特征在于,在所述其它控制器的硬件配置信息中已存在所述主机当前控制器的硬件配置信息的硬盘序列号时,所述同步模块将所述硬盘序列号、其对应的简单磁盘捆绑标识符及SAS地址写入其它控制器的硬件配置信息中。12.根据权利要求IO所述的简单磁盘捆绑的识别系统,其特征在于,在所述其它控制器的硬件配置信息中已存在有所述当前控制器的硬件配置信息的硬盘序列号,所述同步模块使用所述当前控制器的硬件配置信息中与所述硬盘序列号对应的简单磁盘捆绑识别符添加所述其它控制器对应的SAS地址到所述其它控制器的硬件配置信息中。13.根据权利要求IO所述的简单磁盘捆绑的识别系统,其特征在于,当所述简单磁盘捆绑为新插入所述单线级联拓扑结构中时,所述同步模块将该简单磁盘捆绑对应的硬件配置信息和简单磁盘捆绑识别符添加到所述主机的各个控制器硬件配置信息中。14.根据权利要求10所述的简单磁盘捆绑的识别系统,其特征在于,当从所述单线级联拓扑结构中移除所述简单磁盘捆绑时,所述同步模块将所述简单磁盘捆绑对应的硬件配置信息和简单磁盘捆绑识别符从所述主机的各个控制器的硬件配置信息中删除。15.根据权利要求8所述的简单磁盘捆绑的识别系统,其特征在于,所述同步模块为远程过程调用通信模块。全文摘要本发明公开了一种单线级联拓扑结构的简单磁盘捆绑的识别系统及方法,应用于具有多个控制器的主机中。该方法包括以下步骤获取所述主机当前控制器对应连接的简单磁盘捆绑(JBOD)及其上硬盘的硬件配置信息;将所述硬件配置信息同步到所述主机的其它控制器中;根据同步后的硬件配置信息,执行所述主机的多个控制器对所述单线级联拓扑结构中同一JBOD的识别。本发明能够在多控制器环境下实现对单线级联的JBOD的相同识别。其能够在多控制器环境下实现对单线级联的JBOD的相同识别。文档编号G06F3/06GK101739217SQ20081017769公开日2010年6月16日申请日期2008年11月24日优先权日2008年11月24日发明者陈玄同,高晓斌申请人:英业达集团(天津)电子技术有限公司;英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1