首页> 中国专利> 在SAS存储系统中实现HBA卡访问SATA磁盘的方法及设备

在SAS存储系统中实现HBA卡访问SATA磁盘的方法及设备

摘要

本发明涉及在SAS存储系统中实现HBA卡访问SATA磁盘的方法和设备。该方法包括:获取HBA卡的标识符和SAS存储系统中的至少一个SATA磁盘的标识符;访问包括HBA卡标识符和SATA磁盘标识符的白名单,以便获取与HBA卡相关联的白名单项,其中白名单被配置为使得至少一个SATA磁盘中的一块SATA磁盘同时只能被一个HBA卡访问;以及根据所获取的白名单项,使得HBA卡访问至少一个SATA磁盘中的处在白名单项中的SATA磁盘。本发明实施方式解决了SAS域中在实现冗余备份HBA卡时可能出现的抢占SATA磁盘的问题。

著录项

  • 公开/公告号CN105260137A

    专利类型发明专利

  • 公开/公告日2016-01-20

    原文格式PDF

  • 申请/专利权人 天津书生云科技有限公司;

    申请/专利号CN201510626055.8

  • 发明设计人 金友兵;宋瑞霞;莫仲华;

    申请日2015-09-28

  • 分类号G06F3/06;G06F13/16;

  • 代理机构北京布瑞知识产权代理有限公司;

  • 代理人孟潭

  • 地址 300308 天津市滨海新区空港经济区保航路1号航空产业支持中心645DD18房间

  • 入库时间 2023-12-18 13:47:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    专利权的转移 IPC(主分类):G06F 3/06 专利号:ZL2015106260558 登记生效日:20230506 变更事项:专利权人 变更前权利人:北京书生云科技有限公司 变更后权利人:北京书生信息技术有限公司 变更事项:地址 变更前权利人:100089 北京市海淀区紫竹院路69号4层裙房4060号 变更后权利人:100085 北京市海淀区上地十街1号院1号楼11层1101-13

    专利申请权、专利权的转移

  • 2019-06-21

    专利权的保全 IPC(主分类):G06F3/06 授权公告日:20180622 登记生效日:20190523 申请日:20150928

    专利权的保全及其解除

  • 2018-06-22

    授权

    授权

  • 2016-02-17

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20150928

    实质审查的生效

  • 2016-01-20

    公开

    公开

说明书

技术领域

本发明涉及数据存储的技术领域,更具体地,涉及在SAS存储系统中 实现HBA卡访问SATA磁盘的方法及设备。

背景技术

SAS(SerialAttachedSCSI、串行连接SCSI)是新一代的SCSI(小型计 算机系统接口)技术,和现在流行的SATA(SerialATA、串行ATA)磁盘 相同,都是采用串行技术以获得更高的数据传输速度,并通过缩短连结线来 获得改善的内部空间等优势。SAS的接口技术可以向下兼容SATA,即可以 在SAS接口上安装SAS磁盘或者SATA磁盘。SATA磁盘费用低廉,而SAS 磁盘则并不便宜,因此在实现存储方案时会优先选用SATA磁盘来替代昂贵 的SAS磁盘。

在一个SAS存储系统中,终端设备,包括磁盘和主机适配器(也称为 HBA卡),连接到扩展器(Expander)上,同时扩展器相互连接,构成一个 网络结构,称为SAS域,连接到同一个SAS域中的各种设备可以建立数据 链接进行通信。图1示意性地示出了SAS存储系统100,其包括通过扩展器 互连集合110连接的多个终端设备,包括SAS磁盘101和102、SATA磁盘 103和104、以及HBA卡105和106。

为了实现高可用,即在SAS域中的一块HBA卡失效后由另外一块HBA 卡接管磁盘,可以在同一个SAS域同时接入多块HBA卡,相互作为备份, 以便在一个HBA卡损坏的情况下快速切换。专利申请CN101488077(公开 日为2009年7月22日)公开了一种冗余HBA卡系统,其在服务器主板上 插两块相同的HBA卡,每块HBA卡都被认为是相互独立的,每块HBA卡 均能与其他所有部件组成一个完整的系统,两块HBA卡构成了两个互为冗 余、互为备份的系统。

然而,在实践中,在SAS域中接入SATA磁盘的情况下,如果同时又 有多个HBA卡接入该SAS域,那么就会存在抢占的问题:相对于SAS磁 盘来说,SATA磁盘只支持单通道,即同一时间内,只能由一个HBA来访 问该磁盘。如果在SAS域中,同时接入多个HBA卡,那么这些HBA卡就 会不断的抢占SATA磁盘的访问通道,导致系统不能正常工作。图2示意性 示出了两块HBA导致SAS域的SATA磁盘无法正常工作的情况。

图2示意性地示出了SAS存储系统200,其包括扩展器集合210,正常 工作中的SAS磁盘201和202、SATA磁盘203和204、和HBA卡206,以 及新接入的终端设备HBA卡205。当HBA卡206正在访问SATA磁盘204 的情况下,在它们之间存在访问通道214,此时若再接入另外一个HBA卡 205,则根据现有HBA卡的驱动程序实现,会尝试建立该HBA卡与所有 SATA磁盘的数据链接,因而会抢占HBA卡206和SATA磁盘204之间的 访问通道,导致会中断HBA卡206和SATA磁盘204的现有数据链接,造 成SATA磁盘204的访问异常。

发明内容

有鉴于此,本发明实施方式的目的之一在于解决前述的SAS域中接入 的多个HBA卡会出现的对于SATA磁盘的抢占问题。

根据本发明的一个方面,提供一种在SAS存储系统中实现HBA卡访问 SATA磁盘的方法。该方法包括:获取所述HBA卡的标识符和所述SAS存 储系统中的至少一个SATA磁盘的标识符;访问包括HBA卡标识符和SATA 磁盘标识符的白名单,以便获取与所述HBA卡相关联的白名单项,其中所 述白名单被配置为使得所述至少一个SATA磁盘中的一块SATA磁盘同时只 能被一个HBA卡访问;以及根据所获取的白名单项,使得所述HBA卡访问 所述至少一个SATA磁盘中的处在所述白名单项中的SATA磁盘。

根据本发明的另一个方面,提供一种在SAS存储系统中实现HBA卡访 问SATA磁盘的设备。该设备包括:标识符获取装置,用于获取所述HBA 卡的标识符和所述SAS存储系统中的至少一个SATA磁盘的标识符;白名 单项获取装置,用于访问包括HBA卡标识符和SATA磁盘标识符的白名单, 以便获取与所述HBA卡相关联的白名单项,其中所述白名单被配置为使得 所述至少一个SATA磁盘中的一块SATA磁盘同时只能被一个HBA卡访问; 以及访问装置,用于根据所获取的白名单项,使得所述HBA卡访问所述至 少一个SATA磁盘中的处在所述白名单项中的SATA磁盘。

根据本发明的又一个方面,提供一种在计算机可读存储介质中实现的计 算机程序产品,所述计算机可读存储介质具有存储于其中的计算机可读程序 代码部分,所述计算机可读程序代码部分被配置为执行根据前述方法。比如, 所述计算机可读程序代码部分包括:第一可执行部分,用于获取所述HBA 卡的标识符和所述SAS存储系统中的至少一个SATA磁盘的标识符;第二 可执行部分,用于访问包括HBA卡标识符和SATA磁盘标识符的白名单, 以便获取与所述HBA卡相关联的白名单项,其中所述白名单被配置为使得 所述至少一个SATA磁盘中的一块SATA磁盘同时只能被一个HBA卡访问; 以及第三可执行部分,用于根据所获取的白名单项,使得所述HBA卡访问 所述至少一个SATA磁盘中的处在所述白名单项中的SATA磁盘。

根据本发明的实施方式,解决了SAS域中的在实现冗余备份的HBA卡 时可能出现的抢占SATA磁盘的问题。

从下文结合附图所做出的详细描述中,本发明的这些和其他优点和特征 将变得明显,其中在整个下文描述的若干附图中,类似的元件将具有类似的 编号。

附图说明

图1示意性地示出了现有技术中的一个示例SAS存储系统;

图2示意性地示出了现有技术中的、SAS存储系统中的多个HBA卡和 SATA磁盘之间可能发生的抢占访问通道的情形;

图3图示根据本发明的实施方式的在SAS存储系统中实现HBA卡访问 SATA磁盘的方法的流程图;

图4A和图4B图示根据本发明的实施方式的白名单的示例;以及

图5图示根据本发明的实施方式的在SAS存储系统中实现HBA卡访问 SATA磁盘的设备的框图。

具体实施方式

下文将参考附图更完整地描述本公开内容,其中在附图中显示了本公开 内容的实施方式。但是这些实施方式可以用许多不同形式来实现并且不应该 被解释为限于本文所述的实施方式。相反地,提供这些实例以使得本公开内 容将是透彻和完整的,并且将全面地向本领域的熟练技术人员表达本公开内 容的范围。

下面结合附图以示例的方式详细描述本发明的各种实施方式。

参考图3,其示出了本发明的各种实施方式在SAS存储系统中实现HBA 卡访问SATA磁盘的方法300的流程图。

在步骤S310,获取HBA卡的标识符和SAS存储系统中的至少一个 SATA磁盘的标识符。

在步骤S320,访问包括HBA卡标识符和SATA磁盘标识符的白名单, 以便获取与HBA卡相关联的白名单项。白名单项包括相互配对的HBA卡标 识符和SATA磁盘标识符。白名单被配置为使得至少一个SATA磁盘中的一 块SATA磁盘同时只能被一个HBA卡访问。

在步骤S330,根据所获取的白名单项,使得HBA卡访问所述至少一个 SATA磁盘中的处在白名单项中的SATA磁盘。

应当注意,尽管出于简化说明的目的将该方法表示和描述为一连串动 作,但是应理解和认识到要求保护的主题内容将不受这些动作的执行顺序所 限制,因为一些动作可以按照与这里示出和描述的顺序不同的顺序出现或者 与其它动作并行地出现,同时一些动作还可能包括若干子步骤,而这些子步 骤之间可能出现时序上交叉执行的可能。另外,可能并非所有图示的动作是 实施根据所附权利要求书所述的方法所必须的。再者,前述步骤的描述不排 除该方法还可以包括可能取得附加效果的附加步骤。

在一个实施例中,HBA卡标识符和SATA磁盘标识符采用SAS域中的 SAS地址来表示。在一个SAS域中,所有终端设备,包括磁盘和HBA卡, 都会拥有一个唯一且固定的SAS地址,因此可以通过SAS地址来唯一标识 每一个终端设备。

应当理解,虽然在上述实施例中,采用SAS地址作为HBA卡标识符和 SATA磁盘标识符,但是在其他的实施例中,HBA卡标识符和SATA磁盘 标识符也可以为其他能够在SAS系统进行相互区分的形式,比如不同终端 设备的不同的命名、编号等。

在现有HBA卡驱动程序实现中,驱动程序会对所有SATA磁盘设备强 制执行清除已有的数据链接的操作,即会抢占其他HBA卡和该SATA磁盘 的链接,导致正在访问该SATA磁盘的其他HBA卡不能再从该SATA磁盘 读取数据。然而,根据本发明的各种实施方式,实现了通过白名单来控制 HBA卡对SATA磁盘访问的技术,解决了抢占的问题。

在一个实施例中,实现了一个whitelist内核模块,该内核模块维护一张 白名单,其中的白名单项可以由一个HBA卡SAS地址和SATA磁盘SAS 地址构成,比如0x0000000000001111和0x0000000000000005,表示允许地 址为0x0000000000001111的HBA卡访问地址为0x0000000000000005的 SATA磁盘;反之,如果SATA磁盘SAS地址不在与该HAB存在对应关系 的白名单项中,则不允许该HBA卡访问该SATA磁盘。

Whitelist内核模块例如可以通过procfs文件系统来管理和配置,例如, 可以设置如下的可执行文件,即add、del和list:

●/proc/whitelist/add文件:用于添加白名单项,通过写入(HBA卡SAS 地址:SATA磁盘SAS地址)对来添加,比如写入 “0x0000000000001111:0x0000000000000005”表示添加对应的白名单项;

●/proc/whitelist/del文件:用于删除白名单项,通过写入(HBA卡SAS 地址:SATA磁盘SAS地址)对来删除,比如写入 “0x0000000000001111:0x0000000000000005”表示删除对应的白名单项;

●/proc/whitelist/list文件:通过读取该文件内容,得到现有的白名单项 列表。

在其他实施方式中,也可以利用可执行命令来实现以上的add、del和 list等操作。

在一个实施例中,在HBA卡的初始化过程中,HBA卡获取与该HBA 卡相关联的白名单,同时按照SAS协议扫描SAS域中的所有设备,得到各 个设备的类型和SAS地址等基本信息,并将这些信息汇报给HBA驱动程序。

在所描述的实施例中,可以在SAS域的每台计算机系统中实现whitelist 内核模块,这样,每台计算机系统中的一个或多个HBA卡中的每个HBA卡 可以从该同一个whitelist内核模块获得白名单,例如通过访问list文件,或 者执行类似具有list文件的输出结果的可执行命令。

根据本发明的其他实施方式,例如,HBA卡获取与该HBA卡相关联的 白名单的方式还可以包括从HAB卡的固件中加载由第三方厂商预先配置的 白名单或者从SAS域中的单独的服务器或数据库处获得其所维护的针对整 个SAS域的白名单。

在一个实施例中,通过白名单机制来控制HBA卡和SATA建立数据链 接的过程可以为:在HBA卡尝试访问每一个SATA磁盘前,HBA卡驱动程 序已经获得HBA卡本身的SAS地址和SATA磁盘的SAS地址,根据这两 个地址查询白名单中是否有匹配的项:

●如果有,则按照原有流程和SATA磁盘建立数据链接,并访问该SATA 磁盘上的数据;

●否则,跳过该SATA磁盘,这样就不会影响该SATA磁盘和其他HBA 卡之间的数据链接。

根据本发明的实施方式,可以为不同的HBA卡配置不同的白名单项, 保证一块SATA磁盘只会同时被一个HBA卡访问,避免被抢占的问题。图 4A和图4B分别图示了根据本发明的实施方式的白名单的示例。如图4A和 图4B所示,其示出了在某一时刻(图4A)允许SAS地址为 0x0000000000001111的HBA访问SAS地址为0x0000000000000005和 0x0000000000000006的两块SATA磁盘,允许SAS地址为 0x0000000000001112的另一块HBA访问SAS地址为0x0000000000000007 和0x0000000000000009的两块SATA磁盘;而在另一时刻(图4B),则允 许SAS地址为0x0000000000001111的HBA访问SAS地址为 0x0000000000000005、0x0000000000000006和0x0000000000000007的三块 SATA磁盘,只允许SAS地址为0x0000000000001112的另一块HBA访问 SAS地址为0x0000000000000009的SATA磁盘。

在一种实施方式中,所述方法还可以包括创建、修改、和/或删除白名 单的步骤。

在一种实施方式中,所述方法还可以包括删除、和/或添加白名单项的 步骤。进一步地,当实时删除白名单项时,HBA卡驱动程序检查是否已经 和该SATA磁盘建立连接,如果是,会自动关闭链接;当实时添加白名单时, 只需要重置一下SATA磁盘,HBA卡驱动程序会自动连接到该SATA磁盘。

图5示意性根据本发明的各种实施方式在SAS存储系统中实现HBA卡 访问SATA磁盘的设备500的框图。设备500可以包括:标识符获取装置 510,用于获取HBA卡的标识符和SAS存储系统中的至少一个SATA磁盘 的标识符;白名单项获取装置520,用于访问包括HBA卡标识符和SATA 磁盘标识符的白名单,以便获取与HBA卡相关联的白名单项;以及访问装 置530,用于根据所获取的白名单项,使得HBA卡访问所述至少一个SATA 磁盘中的处在白名单项中的SATA磁盘。

白名单项包括相互配对的HBA卡标识符和SATA磁盘标识符。白名单 被配置为使得至少一个SATA磁盘中的一块SATA磁盘同时只能被一个 HBA卡访问。

在进一步的实施例中,设备500还可以包括用于白名单的创建、修改、 和/或删除的装置,和/或用于在所述白名单中添加和/或删除白名单项的白名 单项增删装置。

应当理解,设备500中记载的每个装置与参考图3描述的方法300中的 每个步骤相对应。由此,上文针对图3描述的操作和特征同样适用于设备 500及其中包含的装置,重复的内容在此不再赘述。

本发明的教导还可以实现为一种计算机可读存储介质的计算机程序产 品,包括计算机程序代码,当计算机程序代码由处理器执行时,其使得处理 器能够按照本发明实施方式的方法来实现如本文实施方式所述的在SAS存 储系统中实现多HBA卡访问SATA磁盘。计算机存储介质可以为任何有形 媒介,例如软盘、CD-ROM、DVD、硬盘驱动器、甚至网络介质等。

根据本发明的实施方式,包括前述方法和设备,按照包括HBA卡标识 符和SATA磁盘标识符的白名单,使得HBA卡仅能够访问白名单中的与该 HBA卡的标识符存在对应关系的SAS域中的SATA磁盘,从而避免了SAS 域中新接入的HBA卡会对已经存在的HBA卡和SATA磁盘之间的访问通 道造成抢占的问题。根据本发明的实施方式,只需要在第一次访问SATA磁 盘时检查白名单,之后读取写入数据都不必再次检查白名单,对磁盘读写性 能没有任何影响。

在前述实施例中,将本发明的实施方式的方法或设备实现为比如HBA 卡驱动程序的软件形式,但是应当理解,本发明的实施方式的方法或设备可 以被依软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻 辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微 处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方 法和设备可以使用计算机可执行指令和/或包含在处理器控制代码中来实 现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固 件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这 样的代码。本发明的方法和设备可以由诸如超大规模集成电路或门阵列、诸 如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑 设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执 行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。

应当理解,尽管在上文的详细描述中提及了系统的若干装置或子装置, 但是这种划分仅仅是示例性而非强制性的。实际上,根据本发明的示例性实 施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中实现。 反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来实 现。

还应当理解,为了不模糊本发明的实施方式,说明书仅对一些关键、未 必必要的技术和特征进行了描述,而可能未对一些本领域技术人员能够实现 的特征做出说明。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号