CN109271109B - 一种数据存储方法及hba卡 - Google Patents
一种数据存储方法及hba卡 Download PDFInfo
- Publication number
- CN109271109B CN109271109B CN201811076260.1A CN201811076260A CN109271109B CN 109271109 B CN109271109 B CN 109271109B CN 201811076260 A CN201811076260 A CN 201811076260A CN 109271109 B CN109271109 B CN 109271109B
- Authority
- CN
- China
- Prior art keywords
- volume
- host
- data
- path
- hba
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013500 data storage Methods 0.000 title claims abstract description 17
- 230000015654 memory Effects 0.000 claims abstract description 84
- 238000003860 storage Methods 0.000 claims abstract description 56
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 238000012423 maintenance Methods 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 description 8
- 238000011084 recovery Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 241000700605 Viruses Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/266—Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据存储方法及HBA卡,本申请实施例当主机加电启动后,HBA卡加载配置信息,当接收到主机发送写请求时,根据配置信息中的卷镜像组以及卷镜像组ID以及写请求中的卷镜像组ID查找到达该卷镜像组的路径,并利用该路径将数据写入卷镜像组中的卷,也就是,本申请实施例提供的数据存储方法是基于HBA卡实现的,不再基于主机的操作***,因此,不同生产厂商的存储器均可以将各自的卷信息发送给HBA卡,当需要写数据时,由HBA卡根据配置信息进行写操作,无需主机参与,从而实现不同存储设备之前的异构以及维护,实现简单且便于维护,降低维护成本。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据存储方法及HBA卡。
背景技术
随着计算机技术的不断发展,为保证数据安全以及提高数据的持续可用性,企业选择为计算信息***提供一个数据容灾存储***,以便应付各种灾难的环境,例如,火灾、地震等不可抗拒的自然灾难以及计算机病毒、掉电、网络通信失败等人为灾难。当灾难发生时,数据容灾存储***可以保证用户数据的不间断服务。
现有的数据容灾存储***采用两套或以上存储设备进行数据存储,每套存储设备通过自身控制器将数据复制到其他存储设备中,从而确保数据不断服务和数据安全。
然而,现有的数据容灾***的功能需要依靠各家存储设备生产商自有的技术进行实现,在进行数据存储时,需要根据各自的存储软硬件和对应的驱动程序实现。而各厂家之间的驱动程序互不兼容,造成企业用户难以维护所使用的存储设备,以及维护成本较高的问题,影响用户使用体验。
发明内容
有鉴于此,本申请实施例提供一种数据存储方法及HBA卡,以实现不同存储设备之前的异构以及维护,降低维护成本。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请实施例提供了一种数据存储方法,该方法应用于主机总线适配器HBA卡,所述HBA卡安装于主机,所述主机对应至少一个存储器;所述方法包括:
当所述主机加电启动时,加载配置信息,所述配置信息包括至少一个卷镜像组、所述卷镜像组ID以及到达所述卷镜像组的至少一条路径;所述卷镜像组包括至少一个卷;所述存储器划分至少一个卷;所述卷镜像组的所述卷的存储空间相同;
接收所述主机发送的写请求,所述写请求包括数据以及所述卷镜像组ID;所述主机存储所述卷镜像组ID;
根据所述卷镜像组ID查找到达所述卷镜像组ID对应的所述卷镜像组的路径;所述路径包括到达所述卷镜像组中所述卷的至少一条路径;
利用所述路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,所述主机对应有至少两个存储器,所述卷镜像组包括不同所述存储器的卷。
在一种可能的实现方式中,在加载所述配置信息之前,所述方法还包括:
根据所有所述存储器发送的卷信息以及对应关系建立卷镜像组;所述卷信息包括所述存储器划分的卷数量以及每个所述卷的存储空间;
将所述卷镜像组中的任一卷的ID作为所述卷镜像组的ID。
在一种可能的实现方式中,所述配置信息还包括路径选择模式,所述利用所述路径将所述数据写入所述卷镜像组中的所述卷,包括:
根据所述路径选择模式从所述路径中选择最优路径;
利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,所述配置信息还包括卷同步模式,所述根据所述路径将所述数据写入所述卷镜像组中的所述卷,包括:
根据所述卷同步模式,利用所述路径将所述数据写入所述卷镜像组中的所述卷,所述卷同步模式为同步写模式或异步写模式。
在一种可能的实现方式中,当所述卷同步模式为同步写模式时,当利用所述路径将所述数据写入所述卷镜像组中的所有所述卷时,向所述主机发送写完成消息。
在一种可能的实现方式中,所述方法还包括:
当所述存储器故障恢复后,还可以根据bitmap记录信息对所述存储器进行数据同步,以保证所有所述存储器数据一致。
在一种可能的实现方式中,所述方法还包括:
当所述最优路径故障时,从剩余所述路径中选择最优路径,并利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,所述主机安装至少两个所述HBA卡,两个所述HBA卡配置成HBA集群,所述HBA集群装至少包括第一HBA卡和第二HBA卡,所述第一HBA卡与所述第二HBA卡加载相同的配置信息;所述HBA集群选择所述第一HBA卡为主卡,与所述主机通信;所述第二HBA卡为附属卡,与所述第一HBA卡通信,所述第一HBA卡执行上述操作。
在一种可能的实现方式中,当所述第一HBA卡故障时,所述HBA集群选择所述第二HBA卡为主卡,与所述主机通信,执行上述操作。
第二方面,本申请实施例提供了一种HBA卡,所述HBA卡安装于主机,所述主机对应有至少一个存储器,所述HBA卡包括:
加载单元,用于当所述主机加电启动时,加载配置信息;所述配置信息包括至少一个卷镜像组、所述卷镜像组ID以及到达所述卷镜像组的至少一条路径;所述卷镜像组包括至少一个卷;所述存储器划分至少一个卷;所述同一卷镜像组的所述卷的存储空间相同;
接收单元,用于接收所述主机发送的写请求;所述写请求包括数据以及所述卷镜像组ID;所述主机存储所述卷镜像组ID;
查找单元,用于根据所述卷镜像组ID查找到达所述卷镜像组ID对应的所述卷镜像组的路径;所述路径包括到达所述卷镜像组中所述卷的至少一条路径;
写入单元,用于利用所述路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,还包括:
建立单元,用于在加载配置信息之前,根据所有所述存储器发送的卷信息以及对应关系建立卷镜像组;所述卷信息包括所述存储器划分的卷数量以及每个所述卷的存储空间;
确定单元,用于将所述卷镜像组中的任一卷的ID作为所述卷镜像组的ID。
由此可见,本申请实施例具有如下有益效果:
本申请实施例当主机加电启动后,HBA卡加载配置信息,当接收到主机发送个写请求时,根据配置信息中的卷镜像组以及卷镜像组ID以及写请求中的卷镜像组ID查找到达该卷镜像组的路径,并利用该路径将数据写入卷镜像组中的卷,也就是,本申请实施例提供的数据存储方法是基于HBA卡实现的,不再依赖于各厂家的存储软硬件技术和主机操作***配合,因此,不同生产厂商的存储器均可以将各自的卷信息发送给HBA卡,当需要写数据时,由HBA卡根据配置信息进行写操作,无需主机参与,从而实现不同存储设备之前的异构以及维护,实现简单且便于维护,降低维护成本。
附图说明
图1为本申请实施例提供的一种数据存储方法的流程图;
图2为本申请实施例提供的一种主机进行写操作的框架图;
图3为本申请实施例提供的一种主机进行读操作的框架图;
图4为本申请实施例提供的一种HBA卡结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请提供的技术方案,下面将先对本申请的背景技术进行说明。
发明人在对传统的数据容灾***研究中发现,传统的数据容灾***所使用的存储设备单一且不同生产商的存储设备之间不兼容,而且实现数据容灾的技术也因生产商不同而有所差距。由于实现数据存储时,需要依赖于该存储设备厂商开发的驱动程序,而传统的主机总线适配器(Host BUS Adapter,HBA)仅作为服务器与存储设备之间的连接接口,提供输入或输出功能,无法承载数据容灾技术的实现。由于不同生产商的存储软硬件技术互不兼容,导致无法通过主机操作***中同时对不同生产商的存储设备进行维护和管理,从而造成维护成本较高,影响用户使用体验。
基于此,本申请实施例提供了一种数据存储方法,该方法应用于主机总线适配器HBA卡,安装于主机,该主机对应至少一个存储器,当主机加电启动后,HBA卡加载配置信息,该配置信息用于表示存储器的基本属性,当接收到主机发送的写请求时,HBA卡根据写请求中所报包括的卷镜像组ID,从配置信息中查找到达该卷镜像组ID对应的卷镜像组的路径,然后,HBA卡根据路径将写请求中所包括的数据写入卷镜像组中的卷,从而完成数据的写操作,也就是,该HBA卡可以承载数据容灾技术,对于不同生产商的存储设备,可以将存储设备的基本属性发送给HBA卡,由该HBA卡进行配置,并对该主机对应的所有存储设备进行统筹,然后由HBA卡决定如何进行数据的写入,无需主机参与,从而实现不同存储设备之前的异构以及维护,实现简单且便于维护,降低维护成本。
为便于理解本申请提供的数据存储方法,下面将结合附图对该存储方法进行说明。
参见图1,该图为本申请实施例提供的一种数据存储方法的流程图,如图1所示,该方法应用于主机总线适配器HBA卡,所述HBA卡安装于主机,所述主机对应有至少一个存储器,所述方法包括:
S101:当主机加电启动时,加载配置信息。
本实施例中,当主机加电启动后,HBA卡加载配置信息,以便当主机进行读写操作时,HBA卡可以根据配置信息选择存储器为所述主机提供读写服务。
其中,配置信息包括至少一个卷镜像组、卷镜像组ID以及到达卷镜像组的至少一条路径;该卷镜像组包括至少一个卷,该卷为存储器所划分的卷,当卷镜像组包括多个卷时,位于同一个卷镜像组的卷的存储空间相同。
当主机对应多个存储器时,该卷镜像组包括的卷可以为同一个存储器中的卷,也可以包括来自不同存储器的卷,但位于同一个卷镜像组的卷的存储空间相同。
在具体实现时,当主机初次使用所安装的HBA卡时,或者有新的存储器加入时,主机加电启动后,HBA卡首先进行信息的配置,例如,卷同步模式、路径选择模式,以及对存储器所映射出来的卷进行虚拟处理等操作,当所有的信息配置完成以及卷虚拟处理完成后,HBA卡才可以进行后续操作。
在具体实现时,主机所对应的存储器可以根据业务需求,可以自动划分多个卷,也就是将自身的存储空间划分成多个小的存储单元,在实际划分时,存储器可以将整个存储空间进行划分,也可以仅将部分存储空间进行划分。另外,主机所对应的存储器可以均进行卷的划分,也可以由其中部分存储器进行划分,但需要注意的是,对于进行卷划分的存储器,所划分出来的卷的数量需要相同,且属于同一个卷镜像组的卷的大小相同。
在本申请一种可能的实现方式中,存储器将划分的卷信息发送给HBA卡,该卷信息可以包括存储器划分的卷数量,以及每个卷的存储空间大小,该HBA卡按照对应关系将多个存储器所划分的卷进行组合,形成一个卷镜像组,并将卷镜像组中某一个卷的ID作为该卷镜像组的ID,以便将该卷镜像组ID映射到主机,虽然,卷镜像组包括多个卷,但将卷镜像组ID映射给主机后,主机识别的是一个卷镜像组,不会识别卷镜像组的多个卷。例如,有3个存储器进行卷划分,存储器1划分2个卷,存储2划分2个卷,存储器3划分2个卷,HBA卡可以将存储器1中卷1、存储器2中卷1以及存储器3中卷1组合成一个卷镜像组,将存储器1中的卷1的ID作为该卷镜像组的ID;HBA卡可将将存储器1中卷2、存储器2中卷2以及存储器3中卷2组合成一个卷镜像组,将存储器2中卷2的ID作为该卷镜像组的ID,其中,卷镜像组1中每个卷大小相同,卷镜像组2中每个卷大小相同。需要说明的是,卷镜像组1中的卷大小可以和卷镜像组2中的卷大小相同,也可不同,但属于同一卷镜像组的卷必须相同。
S102:接收主机发送的写请求。
本实施例中,当主机需要进行数据写入操作时,向HBA卡发送写请求,该写请求中可以包括数据以及卷镜像组ID,其中,主机存储每个卷镜像组ID。
在实际应用中,HBA卡将合成的卷镜像组的ID发送给主机,以便主机进行存储,当主机需要将数据写入存储器时,根据所存储的卷镜像组ID以及所写数据向HBA卡发送写请求。
S103:根据卷镜像组ID查找到达卷镜像组ID对应的卷镜像组的路径。
本实施例中,当HBA卡接收到写请求时,从写请求中提取卷镜像组ID,然后根据配置信息查到到达该卷镜像组ID对应的卷镜像组的路径,该路径可以包括到达卷镜像组中卷的至少一条路径。
在实际应用中,HBA卡到达卷镜像组的每个卷的路径可以有多条,为避免多路径对于主机的干扰,HBA卡通常将到达卷镜像组的路径映射成一条路径,也就是说,对于主机来讲,访问卷镜像组仅存在一条路径,但实际HBA卡在访问卷镜像组时存在多条可选路径。
S104:利用路径将数据写入卷镜像组中的卷。
本实施例中,当HBA卡确定出写入路径时,利用该路径将数据写入卷镜像组中的卷,从而实现数据的写入操作。
在实际应用中,HBA卡可以配置路径选择模式,其中,路径选择模式,是指HBA卡到达存储器可以存在多条路径,当有数据写入时,是从多条路径中选择一条最优路径进行数据写入,以保证数据可以快速写入;还是从多条路径中选择部分路径进行数据写入,或者使用全部路径进行数据写入,从而使得每条路径用于写服务,避免一条写路径的负载较大,实现路径负载均衡。在具体实现时,当配置完成路径选择模式时,根据路径选择模式从多条路径中选择最优路径,然后利用最优路径将数据写入卷镜像组中的所有卷。
在本申请实施例一种可能的实现方式中,配置信息还包括:卷同步模式,所述根据所述路径将所述数据写入所述卷镜像组中的所述卷,包括:根据所述卷同步模式,利用所述路径将所述数据写入所述卷镜像组中的所述卷,所述卷同步模式为同步写模式或异步写模式。
其中,卷同步模式是指在进行数据写入时,对主机所对应的存储器进行同步写模式,还是异步写模式,其中,同步写模式是指,当有数据写入时,当所有的存储器完成写操作时,HBA卡才向主机返回写完成消息,在该模式下,写操作的时延为最后一个存储器完成写操作时所使用的时长;异步写模式是指,当有数据写入时,HBA卡仅对主存储器进行写操作,当主存储器完成写操作时,HBA卡向主机发送写完成消息,然后,再由主存储器将数据复制到其他存储器中,从而实现所有存储器中的数据同步,在该模式下,写操作的时延为主存储器完成写操作所使用的时长。
在实际应用中,当卷同步模式为同步写模式时,当利用HBA卡确定的路径将数据写入卷镜像组中的所有卷时,HBA卡向主机发送写完成消息,从而保证写入数据的一致性。
通过上述实施例可知,本申请实施例提供的一种数据存储方法应用于主机总线适配器HBA卡,安装于主机,该主机对应至少一个存储器,当主机加电启动后,HBA卡加载配置信息,该配置信息用于表示存储器的基本属性,当接收到主机发送的写请求时,HBA卡根据写请求中所报包括的卷镜像组ID,从配置信息中查找到达该卷镜像组ID对应的卷镜像组的路径,然后,HBA卡根据路径将写请求中所包括的数据写入卷镜像组中的卷,从而完成数据的写操作,也就是,该HBA卡可以承载数据容灾技术,对于不同生产商的存储设备,可以将存储设备的基本属性发送给HBA卡,由该HBA卡进行配置,并对该主机对应的所有存储设备进行统筹,然后由HBA卡决定如何进行数据的写入,无需主机参与,从而实现不同存储设备之前的异构以及维护,实现简单且便于维护,降低维护成本。
为便于理解本申请实施例,参见图2,当主机需要进行写数据操作时,向HBA卡发送写请求,HBA卡可以根据写请求确定出写入路径,并利用写路径将数据写入后端存储器,也就是写入存储器对应的卷,当卷同步模式为同步写模式时,HBA卡判断后端所有存储器是否完成数据写操作,如果未完成,继续进行写操作;如果完成,存储器向HBA卡发送写完成消息,HBA卡将写完成消息再发送给主机。
参见图3,当主机需要读取数据时,向HBA卡发送读请求,HBA卡可以根据读请求选择最优路径,并根据最优路径从后端存储器中读取数据,然后将读取的数据返回给主机。
在本申请实施例一种可能的实现方式中,当主机对应的存储器故障,当主机在进行写操作时,该故障的存储器无法进行写操作,为保证每个存储器的数据一致性,本实施例提供了一种可能的实现方式,当所述存储器故障恢复后,还可以根据bitmap记录信息对所述存储器进行数据同步,以保证所有所述存储器数据一致。
在实际应用中,当存储器出现故障时,HBA卡在bitmap中记录该存储器的ID号以及未写入的数据,当存储器故障恢复后,HBA通过bitmap记录的信息对存储器进行数据同步,从而保证数据一致性。而且,HBA卡无需同步全部数据,只需根据记录信息同步未写入的数据,提高同步效率。
可以理解的是,由于HBA可以记录到达卷镜像组的多个路径,到所选择的最优路径出现故障时,HBA卡可再以从剩余的路径中选择一条最优路径,利用该最优路径将数据写入卷镜像组中的卷,从而避免路径故障导致服务中断的情况。
另外,为避免一种HBA故障导致无法为主机提供读写服务,在本申请实施例一种可能的实现方式中,主机可以安装至少两个HBA卡,两个HBA卡配置成HBA集群,该HBA集群装至少包括第一HBA卡和第二HBA卡,其中,第一HBA卡与第二HBA卡加载相同的配置信息;HBA集群选择第一HBA卡为主卡,与主机通信;选择第二HBA卡为附属卡,与第一HBA卡通信,在实际应用时,第一HBA卡执行上述操作。
在具体实现时,当第一HBA卡出现故障时,HBA集群选择第二HBA卡作为主卡与主机进行通信,执行上述操作,从而确保HBA卡冗余。
需要说明的是,当主机进行写操作时,主机发送写请求给主卡,由主卡根据写请求以及配置信息向各个附属卡发送写指令,以使得各个附属卡根据写指令对卷镜像组中的卷进行写操作,也就是说,具体哪个附属卡有写操作的权限是由主卡决定的。
另外,HBA卡还可以根据主机发送的读请求以及配置信息选择一条路径读取数据,然后将数据返回给主机,以完成读操作。HBA卡完成主机的读请求的时延为HBA卡到达后端存储器的数据读取时延,HBA卡自身不会增加数据读取时延。
基于上述方法实施例,本申请还提供了一种HBA卡,下面将结合附图对该卡进行说明。
参见图4,该为本申请实施例提供的一种HBA卡结构图,如图4所示,HBA卡安装于主机,所述主机对应有至少两个存储器,该卡可以包括:
加载单元401,用于当所述主机加电启动时,加载配置信息;所述配置信息包括至少一个卷镜像组、所述卷镜像组ID以及到达所述卷镜像组的至少一条路径;所述卷镜像组包括至少一个卷;所述存储器划分至少一个卷;所述同一卷镜像组的所述卷的存储空间相同;
接收单元402,用于接收所述主机发送的写请求;所述写请求包括数据以及所述卷镜像组ID;所述主机存储所述卷镜像组ID;
查找单元403,用于根据所述卷镜像组ID查找到达所述卷镜像组ID对应的所述卷镜像组的路径;所述路径包括到达所述卷镜像组中所述卷的至少一条路径;
写入单元404,用于利用所述路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,还包括:
建立单元,用于在加载配置信息之前,根据所有所述存储器发送的卷信息以及对应关系建立卷镜像组;所述卷信息包括所述存储器划分的卷数量以及每个所述卷的存储空间;
确定单元,用于将所述卷镜像组中的任一卷的ID作为所述卷镜像组的ID。
在一种可能的实现方式中,所述配置信息还包括路径选择模式,写入单元还包括:
选择子单元,用于根据所述路径选择模式从所述路径中选择最优路径;
写入子单元,用于利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,所述配置信息还包括卷同步模式,所述写单元,具体用于根据所述卷同步模式,利用所述路径将所述数据写入所述卷镜像组中的所述卷,所述卷同步模式为同步写模式或异步写模式。
在一种可能的实现方式中,当所述卷同步模式为同步写模式时,还包括发送单元,用于当所述写单元完成时,向所述主机发送写完成消息。
在一种可能的实现方式中,还包括:
同步单元,用于当所述存储器故障恢复后,还可以根据bitmap记录信息对所述存储器进行数据同步,以保证所有所述存储器数据一致。
在一种可能的实现方式中,所述选择子单元,还用于当所述最优路径故障时,从剩余所述路径中选择最优路径,并利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
在一种可能的实现方式中,所述主机安装至少两个所述HBA卡,两个所述HBA卡配置成HBA集群,所述HBA集群装至少包括第一HBA卡和第二HBA卡,所述第一HBA卡与所述第二HBA卡加载相同的配置信息;所述HBA集群选择所述第一HBA卡为主卡,与所述主机通信;所述第二HBA卡为附属卡,与所述第一HBA卡通信,所述第一HBA卡执行上述操作。
在一种可能的实现方式中,当所述第一HBA卡故障时,所述HBA集群选择所述第二HBA卡为主卡,与所述主机通信,执行上述操作。
通过上述描述,当主机加电启动后,HBA卡加载配置信息,该配置信息用于表示存储器的基本属性,当接收到主机发送的写请求时,HBA卡根据写请求中所报包括的卷镜像组ID,从配置信息中查找到达该卷镜像组ID对应的卷镜像组的路径,然后,HBA卡根据路径将写请求中所包括的数据写入卷镜像组中的卷,从而完成数据的写操作,也就是,该HBA卡可以承载数据容灾技术,对于不同生产商的存储设备,可以将存储设备的基本属性发送给HBA卡,由该HBA卡进行配置,并对该主机对应的所有存储设备进行统筹,然后由HBA卡决定如何进行数据的写入,无需主机参与,从而实现不同存储设备之前的异构以及维护,实现简单且便于维护,降低维护成本。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据存储方法,其特征在于,所述方法应用于主机总线适配器HBA卡,所述HBA卡安装于主机,所述主机对应至少一个存储器;所述方法包括:
当所述主机加电启动时,加载配置信息,所述配置信息包括至少一个卷镜像组、卷镜像组ID以及到达所述卷镜像组的至少一条路径;所述卷镜像组包括至少一个卷;所述存储器划分至少一个卷;位于同一个所述卷镜像组的所述卷的存储空间相同;
接收所述主机发送的写请求,所述写请求包括数据以及所述卷镜像组ID;所述主机存储所述卷镜像组ID;
根据所述卷镜像组ID查找到达所述卷镜像组ID对应的所述卷镜像组的路径;所述路径包括到达所述卷镜像组中所述卷的至少一条路径;
利用所述路径将所述数据写入所述卷镜像组中的所述卷;
所述配置信息还包括路径选择模式,所述利用所述路径将所述数据写入所述卷镜像组中的所述卷,包括:
根据所述路径选择模式从所述路径中选择最优路径;
利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
2.根据权利要求1所述的方法,其特征在于,所述主机对应有至少两个存储器,所述卷镜像组包括不同所述存储器的卷。
3.根据权利要求1所述的方法,其特征在于,在加载所述配置信息之前,所述方法还包括:
根据所有所述存储器发送的卷信息以及对应关系建立卷镜像组;所述卷信息包括所述存储器划分的卷数量以及每个所述卷的存储空间;
将所述卷镜像组中的任一卷的ID作为所述卷镜像组的ID。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述配置信息还包括卷同步模式,所述根据所述路径将所述数据写入所述卷镜像组中的所述卷,包括:
根据所述卷同步模式,利用所述路径将所述数据写入所述卷镜像组中的所述卷,所述卷同步模式为同步写模式或异步写模式。
5.根据权利要求4所述的方法,其特征在于,当所述卷同步模式为同步写模式时,当利用所述路径将所述数据写入所述卷镜像组中的所有所述卷时,向所述主机发送写完成消息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述存储器故障恢复后,还可以根据bitmap记录信息对所述存储器进行数据同步,以保证所有所述存储器数据一致。
7.根据权利要求1所述的方法,其特征在于,所述主机安装至少两个所述HBA卡,两个所述HBA卡配置成HBA集群,所述HBA集群装至少包括第一HBA卡和第二HBA卡,所述第一HBA卡与所述第二HBA卡加载相同的配置信息;所述HBA集群选择所述第一HBA卡为主卡,与所述主机通信;所述第二HBA卡为附属卡,与所述第一HBA卡通信,所述第一HBA卡执行上述方法。
8.根据权利要求7所述的方法,其特征在于,当所述第一HBA卡故障时,所述HBA集群选择所述第二HBA卡为主卡,与所述主机通信,执行上述方法。
9.一种HBA卡,其特征在于,所述HBA卡安装于主机,所述主机对应有至少一个存储器,所述HBA卡包括:
加载单元,用于当所述主机加电启动时,加载配置信息;所述配置信息包括至少一个卷镜像组、卷镜像组ID以及到达所述卷镜像组的至少一条路径;所述卷镜像组包括至少一个卷;所述存储器划分至少一个卷;位于同一个所述卷镜像组的所述卷的存储空间相同;
接收单元,用于接收所述主机发送的写请求;所述写请求包括数据以及所述卷镜像组ID;所述主机存储所述卷镜像组ID;
查找单元,用于根据所述卷镜像组ID查找到达所述卷镜像组ID对应的所述卷镜像组的路径;所述路径包括到达所述卷镜像组中所述卷的至少一条路径;
写入单元,用于利用所述路径将所述数据写入所述卷镜像组中的所述卷;
所述配置信息还包括路径选择模式,所述写入单元还包括:
选择子单元,用于根据所述路径选择模式从所述路径中选择最优路径;
写入子单元,用于利用所述最优路径将所述数据写入所述卷镜像组中的所述卷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076260.1A CN109271109B (zh) | 2018-09-14 | 2018-09-14 | 一种数据存储方法及hba卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076260.1A CN109271109B (zh) | 2018-09-14 | 2018-09-14 | 一种数据存储方法及hba卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271109A CN109271109A (zh) | 2019-01-25 |
CN109271109B true CN109271109B (zh) | 2022-02-18 |
Family
ID=65189243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811076260.1A Active CN109271109B (zh) | 2018-09-14 | 2018-09-14 | 一种数据存储方法及hba卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271109B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463670A (zh) * | 2020-11-25 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种存储控制器访问方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562175B2 (en) * | 2005-05-12 | 2009-07-14 | International Business Machines Corporation | Internet SCSI communication via UNDI services |
CN103970486A (zh) * | 2014-05-22 | 2014-08-06 | 浪潮(北京)电子信息产业有限公司 | 一种数据存储方法和*** |
CN106598498A (zh) * | 2016-12-13 | 2017-04-26 | 郑州信息科技职业学院 | 一种兼容整合异构存储设备的存储虚拟化***和方法 |
CN107508876A (zh) * | 2017-08-16 | 2017-12-22 | 国家电网公司 | 一种基于存储虚拟化网关的数据级异地容灾方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9195402B1 (en) * | 2014-07-15 | 2015-11-24 | Oracle International Corporation | Target and initiator mode configuration of tape drives for data transfer between source and destination tape drives |
-
2018
- 2018-09-14 CN CN201811076260.1A patent/CN109271109B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562175B2 (en) * | 2005-05-12 | 2009-07-14 | International Business Machines Corporation | Internet SCSI communication via UNDI services |
CN103970486A (zh) * | 2014-05-22 | 2014-08-06 | 浪潮(北京)电子信息产业有限公司 | 一种数据存储方法和*** |
CN106598498A (zh) * | 2016-12-13 | 2017-04-26 | 郑州信息科技职业学院 | 一种兼容整合异构存储设备的存储虚拟化***和方法 |
CN107508876A (zh) * | 2017-08-16 | 2017-12-22 | 国家电网公司 | 一种基于存储虚拟化网关的数据级异地容灾方法 |
Non-Patent Citations (5)
Title |
---|
hba原理,raid卡,hba卡,http://blog.chinaunix.net/uid-31410005-id-5782063.html;可怜的猪头;《ChinaUnix》;20180109;全文 * |
基于虚拟化的高校数据中心异构存储策略研究及实践;施泽全;《中国新通信》;20151211;第17卷(第23期);全文 * |
基于高端SAN存储***虚拟整合技术研究;李家俊;《信息技术》;20111231;第35卷(第12期);全文 * |
异构存储整合的研究和验证;潘兴宇;《电子设计工程》;20180228;第26卷(第4期);全文 * |
漫谈FreeStor核心技术:FreeStor的拓扑结构,www.360doc.com/content/16/0127/21/26186435_531090410.shtml;victor1208;《个人图书馆》;20160127;正文第1页最后一段 * |
Also Published As
Publication number | Publication date |
---|---|
CN109271109A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144415B2 (en) | Storage system and control software deployment method | |
WO2021238267A1 (zh) | 基于集群文件***的数据备份方法、装置及可读存储介质 | |
US8473462B1 (en) | Change tracking for shared disks | |
US9250824B2 (en) | Backing up method, device, and system for virtual machine | |
US20050228937A1 (en) | System and method for emulating operating system metadata to provide cross-platform access to storage volumes | |
US20140122816A1 (en) | Switching between mirrored volumes | |
CN102591982A (zh) | 执行增量sql服务器数据库备份的方法和*** | |
US8930501B2 (en) | Distributed data storage system and method | |
CN103814360A (zh) | 数据复制方法及存储*** | |
CN107729536B (zh) | 一种数据存储方法和装置 | |
EP3786802B1 (en) | Method and device for failover in hbase system | |
CN104378423A (zh) | 元数据集群分布式存储***及读取、写入存储数据的方法 | |
JP2019185371A (ja) | サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム | |
WO2014080492A1 (ja) | 計算機システム、クラスタ管理方法、及び管理計算機 | |
CN106855834B (zh) | 一种数据备份方法、装置和*** | |
CN112181736A (zh) | 分布式存储***及分布式存储***的配置方法 | |
CN110121694B (zh) | 一种日志管理方法、服务器和数据库*** | |
CN112269772A (zh) | 一种文件部署方法、***、设备及计算机可读存储介质 | |
CN105988901A (zh) | 数据复制方法及存储*** | |
CN111367856A (zh) | 数据复制方法、装置、电子设备及机器可读存储介质 | |
CN109271109B (zh) | 一种数据存储方法及hba卡 | |
CN102629223B (zh) | 一种数据修复方法及装置 | |
CN111752892B (zh) | 分布式文件***及其实现方法、管理***、设备及介质 | |
KR101761528B1 (ko) | 격리된 파티션들을 사용하는 탄력적인 가상 다중경로 자원 액세스 | |
US10846012B2 (en) | Storage system for minimizing required storage capacity during remote volume replication pair duplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |