CN112052291A - 一种用户态访问分布式块存储系统的方法及系统 - Google Patents
一种用户态访问分布式块存储系统的方法及系统 Download PDFInfo
- Publication number
- CN112052291A CN112052291A CN202010919809.XA CN202010919809A CN112052291A CN 112052291 A CN112052291 A CN 112052291A CN 202010919809 A CN202010919809 A CN 202010919809A CN 112052291 A CN112052291 A CN 112052291A
- Authority
- CN
- China
- Prior art keywords
- data
- block storage
- distributed block
- access
- thread
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000003999 initiator Substances 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 abstract description 30
- 230000004044 response Effects 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000001125 extrusion Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用户态访问分布式块存储系统的方法及系统,计算节点的LIO TCMU中设置有访问模块,该方法包括:LIO TCMU与iSCSI initiator连接后,通过访问模块接收iSCSI initiator发送的来自数据访问方的数据读请求,判断访问模块的缓存中是否存在与数据读请求对应的目标数据,若存在,则返回目标数据给数据访问方,否则,在访问模块中预先配置的线程池中生成对应的线程,以便执行线程向分布式块存储集群请求与数据读请求对应的目标数据并返回给数据访问方。本发明通过在客户端增加缓存、预读、写合并等功能,让原本由服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度,使得访问性能得到提升的同时,也减少了集群的带宽开销、能为更多的计算节点提供服务。
Description
技术领域
本发明涉及分布式存储技术领域,特别涉及一种用户态访问分布式块存储系统的方法及系统。
背景技术
通常分布式块存储主要为物理服务器会虚拟机提供云盘服务。现有技术中,在实现分布式块存储时一般并不直接提供SCSI标准块接口,而是采用iSCSI的方式统一对外提供访问接口,如图1所示。为了实现方便,很多方案在设计初期时会选择基于TGT进行二次开发,来实现iSCSI Target对分布式块存储的支持。
但是,现有技术的做法存在以下缺点:
1、对于物理服务器应用场景和虚拟机应用场景采用统一的设计,没有针对各自特点进行优化设计;
2、使用TGT的实现,在多个initiator访问统一Target的场景中,性能表现不好;
3、TGT为每个LUN默认创建16个IO线程,不具备根据压力自动调整功能,比较浪费资源。
综上所述,亟需提出一种新的访问分布式块存储系统的方法,以解决上述问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种用户态访问分布式块存储系统的方法及系统,以克服现有技术中存在的问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
第一方面,提供了一种用户态访问分布式块存储系统的方法,所述分布式块存储系统包括计算节点和分布式块存储集群,所述计算节点包括iSCSI initiator和LIO TCMU,所述LIO TCMU中设置有访问模块,该方法包括如下步骤:
所述LIO TCMU与所述iSCSI initiator连接后,通过所述访问模块接收所述iSCSIinitiator发送的来自数据访问方的数据读请求;
判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
进一步的,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
进一步的,所述方法还包括:
通过所述访问模块接收iSCSI initiator发送的来自数据访问方的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
进一步的,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
第二方面,提供了一种用户态访问分布式块存储系统的方法,所述分布式块存储系统包括计算节点和分布式块存储集群,所述计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,所述方法包括如下步骤:
通过所述访问模块接收数据访问方发出的数据读请求;
判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
进一步的,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
进一步的,所述方法还包括:
通过所述访问模块接收数据访问方发出的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
进一步的,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
第三方面,提供了一种分布式块存储系统,所述系统包括计算节点和分布式块存储集群,所述计算节点包括iSCSI initiator和LIO TCMU,所述LIO TCMU中设置有访问模块,所述访问模块包括:
数据接收模块,用于所述LIO TCMU与所述iSCSI initiator连接后,接收所述iSCSI initiator发送的来自数据访问方的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
第四方面,提供了一种分布式块存储系统,所述系统包括计算节点和分布式块存储集群,所述计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,所述访问模块包括:
数据接收模块,用于接收数据访问方发出的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的用户态访问分布式块存储系统的方法及系统,通过所述LIO TCMU与所述iSCSI initiator连接后,通过所述访问模块接收所述iSCSI initiator发送的来自数据访问方的数据读请求,判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据,若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方,通过在客户端增加缓存、预读、写合并等功能,让原本由服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度,使得访问性能得到提升的同时,也减少了集群的带宽开销、能为更多的计算节点提供服务,减少了企业对集群的总拥有成本;
2、本发明实施例提供的用户态访问分布式块存储系统的方法及系统,通过所述访问模块接收数据访问方发出的数据读请求,判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据,若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方,通过在客户端增加缓存、预读、写合并等功能,让原本由服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度,使得访问性能得到提升的同时,也减少了集群的带宽开销、能为更多的计算节点提供服务,减少了企业对集群的总拥有成本,并且减少了整体框架的组件,让架构更简单,便于维护和部署。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的现有技术中分布式块存储系统的架构图;
图2是根据一示例性实施例示出的分离设计的分布式块存储系统的架构图;
图3是根据一示例性实施例示出的物理服务器应用场景下的分布式块存储系统的架构图;
图4是根据一示例性实施例示出的虚拟机应用场景下的分布式块存储系统的架构图;
图5是根据一示例性实施例示出的用户态访问分布式块存储系统的方法的流程图;
图6是根据一示例性实施例示出的物理服务器应用场景下用户态访问分布式块存储系统的方法的流程图;
图7是根据一示例性实施例示出的虚拟机应用场景下用户态访问分布式块存储系统的方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如背景技术所述,参照图1所示,在实现分布式块存储时一般并不直接提供SCSI标准块接口,而是采用iSCSI的方式对外提供访问接口。例如,对于物理服务器还是通过iSCSI访问,但由于TGT本身的实现限制了它在商用环境下的使用,不能高效的利用计算资源。同时TGT开源社区的活跃度也不高,在采用TGT时会存在一定的顾虑。针对上述问题,在物理服务器应用场景下,为了实现方便,很多方案在设计初期时通常会选择基于TGT进行二次开发,来实现iSCSI Target对分布式块存储的支持。但是该应用场景下的现有做法在存在以下缺点:
1、使用TGT的实现,在多个initiator访问同一target的场景,性能表现不好;
2、TGT为每个LUN默认创建16个IO线程,不具备根据压力自动调整功能,比较浪费资源。
为了功能复用,减少工程实现难度,本发明实施例一中创造性的提出了一种用户态访问分布式块存储系统的方法,该方法适用于物理服务器应用场景,该方法中,在计算节点的LIO TCMU中设置实现统一的分布式块存储访问模块,可以以Lib方式提供接口访问。该访问模块主要实现分布式块存储的客户端功能,通过私有协议与分布式块存储集群直接通信,让LIO可以直接支持自定义的分布式块设备类型,进而可以直接访问分布式块存储集群,进行读写等操作,提高整个集群的服务能力和响应速度。
图2是根据一示例性实施例示出的分离设计的分布式块存储系统的架构图,图3是根据一示例性实施例示出的物理服务器应用场景下的分布式块存储系统的架构图,参照图2和图3所示,本发明实施例中,为了替换TGT的方式,选择使用LIO进行二次开发,以提供iSCSI接口访问分布式块设备。具体来说通过LIO TCMU接口访问分布式块存储访问模块,增加LIO后端存储类型。LIO TCMU是LIO内核模块提供的用户态接口,这样可以避免内核开发的难度与系统影响。进一步参照图2和图3所示,该分布式块存储系统至少包括计算节点和分布式块存储集群,分布式块存储集群包括多个分布式块存储设备,计算节点包括iSCSIinitiator和LIO TCMU,在LIO TCMU中设置有访问模块,通过该访问模块,可以直接在客户端实现缓存、预读、写合并等功能,让原本有服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度。
具体的,上述方案可通过如下步骤实现:
步骤一、实现分布式块存储访问模块,该访问模块包括不限于如下功能:链路管理功能、消息收发功能、数据缓存功能、预读功能、写缓存功能等。
具体的,为了提高分布式块设备的读写性能,在计算节点的LIO TCMU中设置访问模块(LibBlockSys),该访问模块对外提供对块存储设备的操作接口,包括但不限于:创建块设备、打开块设备、关闭块存储设备、读操作、写操作、扩容操作、快照操作等。该访问模块至少可以实现以下功能:
1、该访问模块可以与分布式块存储集群各节点之间建立多链路通信,提高并发能力,链路个数根据消息挤压程度自动动态调整;
2、该访问模块可以实现为多线程方式,线程主要分为两类:IO收发线程和IO处理线程。这两类线程各组成一个线程池,即IO收发线程池,负责网络数据的收发,IO处理线程池负责数据的具体处理,如控制报文解析,报文处理,EC处理等;
3、该访问模块可以实现本地数据的缓存机制。使用过程中,读操作优先命中本地缓存,如未命中再向集群发送读请求。写操作先缓存在本地内存或SSD中,再由定时任务对写数据进行合并、聚合、去冗,再向集群发送写请求。
这里需要说明的是,作为一种较优的实施方式,本发明实施例中,对于缓存机制,具体实施时,可以采取B树存储,LRU方式缓存热点数据。
步骤二、在TCMU-runner中增加该访问模块,调用分布式块存储客户端接口,以支持新的存储类型,其中TCMU-runner为一个守护进程,它处理LIO用户backstore的用户空间侧。
具体的,在实现了访问模块(LibBlockSys)后,就可以在TCMU和Hypervisor软件中调用该访问模块。在物理服务器应用场景下,对TCMU-runner进行二次开发,为其增加自定义的块设备访问模块,使得LIO可以支持分布式块存储,可以直接访问分布式块存储集群。具体实施时,首先修改Makefile文件,即修改open-iscsi/tcmu-runner项目中的CMakefile.txt.使得分布式块设备访问模块编译进TMCU中。然后安装编译好的TCMU,使用targetcli在backstore/user:xxx中配置LUN,并在iSCSI中配置对应的target。最后,即可使用iSCSI initiator访问配置的target,对映射到本地的块设备进行读写操作。
其中,这里需要说明的是,Hypervisor是一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件。可以将hypervisor看作是虚拟环境中的“元”操作系统,可以协调访问服务器上的所有物理设备和虚拟机,所以又称为虚拟机监视器(virtual machine monitor)。hypervisor是所有虚拟化技术的核心,非中断的支持多工作负载迁移是hypervisor的基本功能。当服务器启动并执行hypervisor时,会给每一台虚拟机分配适量的内存,cpu,网络和磁盘资源,并且加载所有虚拟机的客户操作系统。
实施例二
图5是根据一示例性实施例示出的用户态访问分布式块存储系统的方法的流程图,图6是根据一示例性实施例示出的物理服务器应用场景下用户态访问分布式块存储系统的方法的流程图,参照图5和图6所示,该方法包括如下步骤:
S101:所述LIO TCMU与所述iSCSI initiator连接后,通过所述访问模块接收所述iSCSI initiator发送的来自数据访问方的数据读请求。
具体的,在物理服务器应用场景下,计算节点包括iSCSI initiator(iSCSI发起方)和LIO TCMU,其中,LIO具体指Linux-IO,TCMU具体指TCM in userspace。在LIO TCMU中设置访问模块,该访问模块可以在客户端实现缓存、预读、写合并等功能。在数据访问方发出数据读请求后,该数据读请求经iSCSI initiator传递至LIO TCMU中的访问模块,由该访问模块进行接收并处理。即iSCSI initiator连接LIO后,LIO在处理iSCSI消息时会直接调用分布式设备访问模块接口,打开该块设备,并由访问模块完成与集群的连接和线程创建。initiator对该块设备进行读写时,LIO会直接调用访问模块实现的读写接口,与集群进行读写请求交互,完成读写任务。
S102:判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据。
具体的,本发明实施例中,设置访问模块具有本地数据的缓存机制。访问模块接收到该数据读请求后,对所述数据读请求进行解析处理,根据解析结果判断所述计算节点的缓存中是否存在与所述数据读请求对应的目标数据。
S103:若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
具体的,若是在缓存中查找到与所述数据读请求对应的目标数据,则直接将该目标数据返回给所述数据访问方,从而不需要向分布式块存储集群请求目标数据,提高整个集群的服务能力和响应速度。若是在缓存中没有查找到与所述数据读请求对应的目标数据时,此时才向所述分布式块存储集群发送所述数据读请求,以便获取与所述数据读请求对应的目标数据返回给所述数据访问方。
具体的,本发明实施例中,访问模块可以实现为多线程方式,线程主要分为两类:IO收发线程和IO处理线程。这两类线程各组成一个线程池,即IO收发线程池,负责网络数据的收发,IO处理线程池负责数据的具体处理,如控制报文解析,报文处理,EC处理等。当在缓存中没有查找到与所述数据读请求对应的目标数据时,根据所述数据读请求在预先配置的线程池中生成对应的线程,然后通过执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据,并将分布式块存储集群返回的目标数据发送给所述数据访问方。
作为一种较优的实施方式,本发明实施例中,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
具体的,本发明实施例中,从分布式块存储集群请求到与所述数据读请求对应的目标数据后,还需要将该目标数据写入到缓存中,以便后续接收到目标数据的读请求时,可以直接从缓存中命中该数据,减少用户态和内核态切换次数。具体操作时,可以通过处理线程将目标数据写入缓存。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
通过所述访问模块接收iSCSI initiator发送的来自数据访问方的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
具体的,同样的,本发明实施例中,在数据访问方发出数据写请求后,该数据写请求经iSCSI initiator传递至LIO TCMU中的访问模块,由该访问模块进行接收并处理。当访问模块接收到该数据写请求时,先将写请求携带的待处理数据写入所述计算节点的缓存(即内核模块的缓存)中,然后根据所述数据写请求生成对应的数据写任务,定时执行所述数据写任务对所述待处理数据进行预处理,最后,在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。这里需要说明的是,本发明实施例中,对所述待处理数据进行预处理包括对待处理数据进行合并、聚合、去冗等操作,这里不再一一赘述。
作为一种较优的实施方式,本发明实施例中,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
实施例三
本发明实施例中,还提供了一种与实施例二相对应的分布式块存储系统,所述系统包括计算节点和分布式块存储集群,所述计算节点包括iSCSI initiator和LIO TCMU,所述LIO TCMU中设置有访问模块,所述访问模块包括:
数据接收模块,用于所述LIO TCMU与所述iSCSI initiator连接后,接收所述iSCSI initiator发送的来自数据访问方的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
作为一种较优的实施方式,本发明实施例中,所述数据请求模块还用于:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
作为一种较优的实施方式,本发明实施例中,所述访问模块还用于:
通过所述访问模块接收iSCSI initiator发送的来自数据访问方的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
作为一种较优的实施方式,本发明实施例中,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
实施例四
进一步参照图1所示,在虚拟应用场景下,目前比较通用的做法是在开源的iSCSITarget中实现相应的读写接口,宿主机通过iSCSI Initiator将分布式块设备映射为本地设备,进而给虚拟机提供读写访问。同时,为了保证访问不出现故障,就须要在iSCSI通道上做多路径设计,如使用Multipath等。该应用场景下的存在以下缺点:
1、虚拟机访问分布式块存储的路径中有iSCSI Initiator、iSCSI Target、分布式集群三部分,读写访问路径长,使得虚拟机读写分布式块设备的效率不高;
2、多路径的设计让整个集群部署和虚拟机使用更不方便,集群组件越多,集群故障点就越多,增加了使用成本和维护难度。
同样的,为了功能复用,减少工程实现难度,本发明实施例四中创造性的提出了一种用户态访问分布式块存储系统的方法,该方法适用于虚拟机应用场景,该方法中,计算节点为部署于物理服务器上的虚拟机,在虚拟机中设置实现统一的分布式块存储访问模块。该访问模块主要实现分布式块存储的客户端功能,通过私有协议与分布式块存储集群直接通信,进而可以直接访问分布式块存储集群,进行读写等操作,提高整个集群的服务能力和响应速度。
图4是根据一示例性实施例示出的虚拟机应用场景下的分布式块存储系统的架构图,参照图2和图4所示,本发明实施例中,为缩短虚拟机到分布式块存储的访问路径,减少了iSCSI组件,对虚拟机软件进行了二次开发,通过在虚拟机中设置访问模块,增加了后端存储驱动,以支持自研分布式块存储访问。通过访问模块让虚拟机通过私有协议直接访问分布式块存储,不但可以缩短读写延迟,还避免了多路径的设计考虑,让整个集群故障点变少。进一步参照图2和图4所示,该分布式块存储系统至少包括计算节点和分布式块存储集群,分布式块存储集群包括多个分布式块存储设备,计算节点包括部署于物理服务器上的虚拟机,虚拟机包括访问模块,通过该访问模块,可以直接在客户端实现缓存、预读、写合并等功能,让原本有服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度。
具体的,上述方案可通过如下步骤实现:
步骤一、实现分布式块存储访问模块,该访问模块包括不限于如下功能:链路管理功能、消息收发功能、数据缓存功能、预读功能、写缓存功能等。
具体的,为了提高分布式块设备的读写性能,在虚拟机中设置访问模块(LibBlockSys),该访问模块对外提供对块存储设备的操作接口,包括但不限于:创建块设备、打开块设备、关闭块存储设备、读操作、写操作、扩容操作、快照操作等。该访问模块至少可以实现以下功能:
1、该访问模块可以与分布式块存储集群各节点之间建立多链路通信,提高并发能力,链路个数根据消息挤压程度自动动态调整;
2、该访问模块可以实现为多线程方式,线程主要分为两类:IO收发线程和IO处理线程。这两类线程各组成一个线程池,即IO收发线程池,负责网络数据的收发,IO处理线程池负责数据的具体处理,如控制报文解析,报文处理,EC处理等;
3、该访问模块可以实现本地数据的缓存机制。使用过程中,读操作优先命中本地缓存,如未命中再向集群发送读请求。写操作先缓存在本地内存或SSD中,再由定时任务对写数据进行合并、聚合、去冗,再向集群发送写请求。
这里需要说明的是,作为一种较优的实施方式,本发明实施例中,对于缓存机制,具体实施时,可以采取B树存储,LRU方式缓存热点数据。
步骤二、在虚拟机中增加该访问模块。
具体的,在实现了访问模块(LibBlockSys)后,就可以在虚拟机中调用该访问模块。在虚拟机应用场景下,通常使用的虚拟化管理软件有QEMU/KVM、XEN、VirtualBox等,这些软件都是开源的,可以对其进行二次开发,为其增加自定义的块设备后端模块(即访问模块),使得虚拟机可以直接访问分布式块存储集群。以QEMU/KVM为例,具体实施时,在QEMUblock模块中增加分布式块设备的调用,增加分布式块设备的协议名,使得qemu能支持自研的块存储协议。修改Makefile文件,使得分布式块设备访问模块编译进QEMU中。然后启动编译好的QEMU,启动时配置自定义的协议名和块存储集群配置文件,QEMU根据配置项去加载此块设备。虚机中将会出现此分布式块设备,可以对它进行格式化、挂载访问
实施例五
图7是根据一示例性实施例示出的虚拟机应用场景下用户态访问分布式块存储系统的方法的流程图,参照图5和图7所示,该方法包括如下步骤:
S101:通过所述访问模块接收数据访问方发出的数据读请求。
具体的,在虚拟机应用场景下,计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,该访问模块可以在客户端实现缓存、预读、写合并等功能。在数据访问方发出数据读请求后,由该访问模块进行接收并处理。具体实施时,在虚拟机启动参数中,配置需要连接的分布式块设备信息。虚拟机启动后,直接调用分布式设备后端模块接口,打开该块设备,并由模块完成与集群的连接和线程创建。虚拟机对该块设备进行读写时,直接调用访问模块实现的读写接口,与集群进行读写请求交互,完成读写任务。
S102:判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据。
具体的,本发明实施例中,设置访问模块具有本地数据的缓存机制。访问模块接收到该数据读请求后,对所述数据读请求进行解析处理,根据解析结果判断所述计算节点的缓存中是否存在与所述数据读请求对应的目标数据。
S103:若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
具体的,若是在缓存中查找到与所述数据读请求对应的目标数据,则直接将该目标数据返回给所述数据访问方,从而不需要向分布式块存储集群请求目标数据,提高整个集群的服务能力和响应速度。若是在缓存中没有查找到与所述数据读请求对应的目标数据时,此时才向所述分布式块存储集群发送所述数据读请求,以便获取与所述数据读请求对应的目标数据返回给所述数据访问方。
具体的,本发明实施例中,访问模块可以实现为多线程方式,线程主要分为两类:IO收发线程和IO处理线程。这两类线程各组成一个线程池,即IO收发线程池,负责网络数据的收发,IO处理线程池负责数据的具体处理,如控制报文解析,报文处理,EC处理等。当在缓存中没有查找到与所述数据读请求对应的目标数据时,根据所述数据读请求在预先配置的线程池中生成对应的线程,然后通过执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据,并将分布式块存储集群返回的目标数据发送给所述数据访问方。
作为一种较优的实施方式,本发明实施例中,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
具体的,本发明实施例中,从分布式块存储集群请求到与所述数据读请求对应的目标数据后,还需要将该目标数据写入到缓存中,以便后续接收到目标数据的读请求时,可以直接从缓存中命中该数据,减少用户态和内核态切换次数。具体操作时,可以通过处理线程将目标数据写入缓存。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
通过所述访问模块接收数据访问方发出的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
具体的,同样的,本发明实施例中,在数据访问方发出数据写请求后,该数据写请求由该访问模块进行接收并处理。当访问模块接收到该数据写请求时,先将写请求携带的待处理数据写入所述计算节点的缓存(即内核模块的缓存)中,然后根据所述数据写请求生成对应的数据写任务,定时执行所述数据写任务对所述待处理数据进行预处理,最后,在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。这里需要说明的是,本发明实施例中,对所述待处理数据进行预处理包括对待处理数据进行合并、聚合、去冗等操作,这里不再一一赘述。
作为一种较优的实施方式,本发明实施例中,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
实施例六
本发明实施例中,还提供了一种与实施例五相对应的分布式块存储系统,所述系统包括计算节点和分布式块存储集群,所述计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,所述访问模块包括:
数据接收模块,用于接收数据访问方发出的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
作为一种较优的实施方式,本发明实施例中,所述数据请求模块还用于:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
作为一种较优的实施方式,本发明实施例中,所述访问模块还用于:
通过所述访问模块接收数据访问方发出的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
作为一种较优的实施方式,本发明实施例中,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
综上所述,本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的用户态访问分布式块存储系统的方法及系统,通过所述LIO TCMU与所述iSCSI initiator连接后,通过所述访问模块接收所述iSCSI initiator发送的来自数据访问方的数据读请求,判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据,若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方,通过在客户端增加缓存、预读、写合并等功能,让原本由服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度,使得访问性能得到提升的同时,也减少了集群的带宽开销、能为更多的计算节点提供服务,减少了企业对集群的总拥有成本;
3、本发明实施例提供的用户态访问分布式块存储系统的方法及系统,通过所述访问模块接收数据访问方发出的数据读请求,判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据,若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方,通过在客户端增加缓存、预读、写合并等功能,让原本由服务端处理的任务前移到客户端,提高整个集群的服务能力和响应速度,使得访问性能得到提升的同时,也减少了集群的带宽开销、能为更多的计算节点提供服务,减少了企业对集群的总拥有成本,并且减少了整体框架的组件,让架构更简单,便于维护和部署。
要说明的是:本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用户态访问分布式块存储系统的方法,所述分布式块存储系统包括计算节点和分布式块存储集群,其特征在于,所述计算节点包括iSCSI initiator和LIO TCMU,所述LIOTCMU中设置有访问模块,所述方法包括如下步骤:
所述LIO TCMU与所述iSCSI initiator连接后,通过所述访问模块接收所述iSCSIinitiator发送的来自数据访问方的数据读请求;
判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
2.根据权利要求1所述的用户态访问分布式块存储系统的方法,其特征在于,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
3.根据权利要求1或2所述的用户态访问分布式块存储系统的方法,其特征在于,所述方法还包括:
通过所述访问模块接收iSCSI initiator发送的来自数据访问方的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
4.根据权利要求1或2所述的用户态访问分布式块存储系统的方法,其特征在于,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
5.一种用户态访问分布式块存储系统的方法,所述分布式块存储系统包括计算节点和分布式块存储集群,其特征在于,所述计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,所述方法包括如下步骤:
通过所述访问模块接收数据访问方发出的数据读请求;
判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
若存在,则返回所述目标数据给所述数据访问方,否则,在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
6.根据权利要求5所述的用户态访问分布式块存储系统的方法,其特征在于,所述在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方还包括:
通过执行所述线程向所述分布式块存储集群请求到与所述数据读请求对应的目标数据后,将所述目标数据写入所述缓存中。
7.根据权利要求5或6所述的用户态访问分布式块存储系统的方法,其特征在于,所述方法还包括:
通过所述访问模块接收数据访问方发出的数据写请求,所述数据写请求包括待写入所述分布式块存储集群的待处理数据;
将所述待处理数据写入所述计算节点的缓存中,并根据所述数据写请求生成对应的数据写任务;
定时执行所述数据写任务对所述待处理数据进行预处理;
在所述预先配置的线程池中生成对应的线程,通过执行所述线程将经过预处理的所述待处理数据写入所述分布式块存储集群中。
8.根据权利要求5或6所述的用户态访问分布式块存储系统的方法,其特征在于,所述访问模块可以通过预设的通信协议与所述分布式块集群通信,以便进行读和/或写操作。
9.一种分布式块存储系统,所述系统包括计算节点和分布式块存储集群,其特征在于,所述计算节点包括iSCSI initiator和LIO TCMU,所述LIO TCMU中设置有访问模块,所述访问模块包括:
数据接收模块,用于所述LIO TCMU与所述iSCSI initiator连接后,接收所述iSCSIinitiator发送的来自数据访问方的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
10.一种分布式块存储系统,所述系统包括计算节点和分布式块存储集群,其特征在于,所述计算节点包括部署于物理服务器上的虚拟机,所述虚拟机包括访问模块,所述访问模块包括:
数据接收模块,用于接收数据访问方发出的数据读请求;
数据判断模块,用于判断所述访问模块的缓存中是否存在与所述数据读请求对应的目标数据;
数据返回模块,用于返回所述目标数据给所述数据访问方;
数据请求模块,用于在所述访问模块中预先配置的线程池中生成对应的线程,以便执行所述线程向所述分布式块存储集群请求与所述数据读请求对应的目标数据并返回给所述数据访问方。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010919809.XA CN112052291A (zh) | 2020-09-03 | 2020-09-03 | 一种用户态访问分布式块存储系统的方法及系统 |
CA3129984A CA3129984A1 (en) | 2020-09-03 | 2021-09-03 | Method and system for accessing distributed block storage system in user mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010919809.XA CN112052291A (zh) | 2020-09-03 | 2020-09-03 | 一种用户态访问分布式块存储系统的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052291A true CN112052291A (zh) | 2020-12-08 |
Family
ID=73608339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010919809.XA Pending CN112052291A (zh) | 2020-09-03 | 2020-09-03 | 一种用户态访问分布式块存储系统的方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112052291A (zh) |
CA (1) | CA3129984A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542412A (zh) * | 2021-07-16 | 2021-10-22 | 中国电信股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN114003328A (zh) * | 2021-11-01 | 2022-02-01 | 北京天融信网络安全技术有限公司 | 数据共享方法、装置、终端设备和桌面云系统 |
CN114047874A (zh) * | 2021-10-20 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 一种基于tcmu虚拟设备的数据存储系统和方法 |
WO2023060884A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种数据系统、数据访问方法、装置及数据处理单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544324A (zh) * | 2013-11-11 | 2014-01-29 | 北京搜狐新媒体信息技术有限公司 | 一种内核态的数据访问方法、装置及系统 |
CN111008233A (zh) * | 2019-11-24 | 2020-04-14 | 浪潮电子信息产业股份有限公司 | 一种kv数据库的访问方法、装置及设备 |
CN112039999A (zh) * | 2020-09-03 | 2020-12-04 | 苏宁云计算有限公司 | 一种内核态访问分布式块存储系统的方法及系统 |
-
2020
- 2020-09-03 CN CN202010919809.XA patent/CN112052291A/zh active Pending
-
2021
- 2021-09-03 CA CA3129984A patent/CA3129984A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103544324A (zh) * | 2013-11-11 | 2014-01-29 | 北京搜狐新媒体信息技术有限公司 | 一种内核态的数据访问方法、装置及系统 |
CN111008233A (zh) * | 2019-11-24 | 2020-04-14 | 浪潮电子信息产业股份有限公司 | 一种kv数据库的访问方法、装置及设备 |
CN112039999A (zh) * | 2020-09-03 | 2020-12-04 | 苏宁云计算有限公司 | 一种内核态访问分布式块存储系统的方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542412A (zh) * | 2021-07-16 | 2021-10-22 | 中国电信股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN113542412B (zh) * | 2021-07-16 | 2024-01-05 | 天翼云科技有限公司 | 数据传输方法、装置、电子设备及存储介质 |
WO2023060884A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种数据系统、数据访问方法、装置及数据处理单元 |
CN114047874A (zh) * | 2021-10-20 | 2022-02-15 | 北京天融信网络安全技术有限公司 | 一种基于tcmu虚拟设备的数据存储系统和方法 |
CN114047874B (zh) * | 2021-10-20 | 2024-05-07 | 北京天融信网络安全技术有限公司 | 一种基于tcmu虚拟设备的数据存储系统和方法 |
CN114003328A (zh) * | 2021-11-01 | 2022-02-01 | 北京天融信网络安全技术有限公司 | 数据共享方法、装置、终端设备和桌面云系统 |
CN114003328B (zh) * | 2021-11-01 | 2023-07-04 | 北京天融信网络安全技术有限公司 | 数据共享方法、装置、终端设备和桌面云系统 |
Also Published As
Publication number | Publication date |
---|---|
CA3129984A1 (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112052291A (zh) | 一种用户态访问分布式块存储系统的方法及系统 | |
CN103823786B (zh) | 外部高速缓存设备上的管理程序i/o分级 | |
US20190272191A1 (en) | Virtual machine monitor to i/o stack conduit in virtual real memory | |
US10423332B2 (en) | Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands | |
US10922135B2 (en) | Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch | |
EP2728478A1 (en) | Hypervisor-based server duplication system and method and storage medium storing server duplication computer program | |
KR20180117641A (ko) | 원격으로 액세스되는 데이터의 효율적인 라이브-이송 | |
US11199989B2 (en) | Methods, apparatuses and computer program products for supporting and performing data replication of virtual machine | |
JPH11296313A (ja) | 記憶サブシステム | |
US11262918B1 (en) | Data storage system with uneven drive wear reduction | |
US11544812B2 (en) | Resiliency schemes for distributed storage systems | |
US20220075757A1 (en) | Data read method, data write method, and server | |
CN112039999A (zh) | 一种内核态访问分布式块存储系统的方法及系统 | |
WO2015123225A1 (en) | Aggregating memory to create a network addressible storage volume for storing virtual machine files | |
CN108733585B (zh) | 缓存系统及相关方法 | |
CN113849136B (zh) | 一种基于国产平台的自动化fc块存储处理方法和系统 | |
US10776173B1 (en) | Local placement of resource instances in a distributed system | |
US11294812B2 (en) | Obtaining cache resources for expected writes to tracks in a write set after the cache resources were released for the tracks in the write set | |
US8583852B1 (en) | Adaptive tap for full virtual machine protection | |
WO2023072048A1 (zh) | 网络存储方法、存储系统、数据处理单元及计算机系统 | |
US11693577B2 (en) | Storage operation processing during data migration using migrated indicator from source storage | |
CN115291998A (zh) | 一种rbd-nbd映射方法及装置 | |
WO2022164469A1 (en) | Tiered persistent memory allocation | |
CN108334401B (zh) | 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法 | |
US10437471B2 (en) | Method and system for allocating and managing storage in a raid storage system |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201208 |