CN112532701A - 一种基于模拟处理器qemu的分布式加速存储方法及*** - Google Patents
一种基于模拟处理器qemu的分布式加速存储方法及*** Download PDFInfo
- Publication number
- CN112532701A CN112532701A CN202011302230.5A CN202011302230A CN112532701A CN 112532701 A CN112532701 A CN 112532701A CN 202011302230 A CN202011302230 A CN 202011302230A CN 112532701 A CN112532701 A CN 112532701A
- Authority
- CN
- China
- Prior art keywords
- qemu
- distributed
- copy
- issued
- information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000007667 floating Methods 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及分布式存储技术领域,提供一种基于模拟处理器QEMU的分布式加速存储方法及***,方法包括:在QEMU的客户端,通过内置在QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;根据副本的位置,通过QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给QEMU下发IO所在的主机,从而实现缩短模拟处理器QEMU访问分布式哈希表算法提供的分布式存储的IO路径,提高分布式存储的IO可用性,缩短IO的时延信息,提高分布式存储基于云计算场景的适配性。
Description
技术领域
本发明属于分布式存储技术领域,尤其涉及一种基于模拟处理器QEMU的分布式加速存储方法及***。
背景技术
在信息***增长的时代,海量数据的增长,传统存储成本高,效率低下无法满足用户数据的增长速度,高效智能的分布式存储技术解决这一痛楚,分布式存储具有以下几个特征:高性能、高可靠性、高可扩展性、透明性、自治性。分布式存储数据存放首先要进行分片切割处理,之后通过一定算法,计算出数据存放位置,由于用户数据被且分为多个数据块,因此任何一个数据块丢失都可以造成数据不可用,因此分布式存储必须考虑合理的冗余存储模型,为用户的数据分块提供多个冗余的存储副本,从而保证数据的安全性和可靠性。
针对分布式存储实现主要有两种方案,一种是基于DHT算法实现的,另外一种是基于元数据中心实现的;针对分布式存储提供的存储,有三种方向:对象存储、文件存储和块存储。对象存储主要用于储存不变的对象,文件存储主要为了储存文件,块存储提供块设备;块存储一般是提供块给模拟存储器QEMU使用创建虚拟机或者是提供数据库或者是文件存储等应用;正常使用块存储来说有两种方式,一种是分布式存储提供iSCSI设备映射给主机,另外一种是通过私有协议直接连接使用分布式存储,但是这些方式均面临着IO路径比较长、时延较大的缺点。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于模拟处理器QEMU的分布式加速存储方法,旨在解决现有技术中分布式存储存在IO路径比较长、时延较大的问题。
本发明所提供的技术方案是:一种基于模拟处理器QEMU的分布式加速存储方法,所述方法包括下述步骤:
在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
作为一种改进的方案,所述根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发的步骤具体包括下述步骤:
获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
作为一种改进的方案,所述方法还包括下述步骤:
在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案;
根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换。
作为一种改进的方案,所述方法还包括下述步骤:
当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作。
作为一种改进的方案,所述方法还包括下述步骤:
当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。
本发明的另一目的在于提供一种基于模拟处理器QEMU的分布式加速存储***,所述***包括:
副本位置计算模块,用于在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
IO下发模块,用于根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
IO处理模块,用于副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
作为一种改进的方案,所述IO下发模块具体包括:
信息获取模块,用于获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
目标对象信息获取模块,用于根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
object位置参数获取模块,用于根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
IO传送模块,用于根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
作为一种改进的方案,所述***还包括:
第一配置模块,用于在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案;
第二配置模块,用于根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换。
作为一种改进的方案,所述***还包括:
第一IO重试模块,用于当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作。
作为一种改进的方案,所述***还包括:
优先恢复控制模块,用于当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
第二IO重试模块,用于当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。
在本发明实施例中,在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机,从而实现缩短模拟处理器QEMU访问分布式哈希表算法提供的分布式存储的IO路径,提高分布式存储的IO可用性,缩短IO的时延信息,提高分布式存储基于云计算场景的适配性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的基于模拟处理器QEMU的分布式加速存储方法的实现流程图;
图2是本发明提供的根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发的实现流程图;
图3是本发明提供的基于模拟处理器QEMU的分布式加速存储***的结构框图;
图4是本发明提供的IO下发模块的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1是本发明提供的基于模拟处理器QEMU的分布式加速存储方法的实现流程图,其具体包括下述步骤:
在步骤S101中,在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
在该步骤中,移植分布式存储的DHT算法到模拟处理器QEMU的driver里边,通过模拟处理器QEMU的客户端直接可以通过DHT算法计算出副本所在的位置,具体为:
基于DHT算法的分布式存储没有元数据服务,根据分布式存储使用的DHT算法和很少的集群信息计算出IO副本位置,之后直接将IO分发至副本所在的主机直接下发IO;
其中,DHT使用分布式哈希算法来解决结构化的分布式存储问题。分布式哈希算法的核心思想是通过将存储对象的特征(关键字)经过哈希运算,得到键值(Hash Key),对象的分布存储依据键值来进行。
在步骤S102中,根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
在步骤S103中,副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
在该实施例中,同时增加集群配置信息获取和IO重传等方法,将IO分发放置于客户端,通过使用客户端的计算能力,精简IO流程。
在本发明实施例中,如图2所示,根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发的步骤具体包括下述步骤:
在步骤S201中,获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
在该步骤中,分布式存储一般是进行分片进行存储,根据模拟处理器QEMU下发IO的卷的信息和下发IO的offset值可以计算出要下发的目标对象object的信息,根据目标对象object信息,使用DHT算法可以直接计算出目标对象object的位置。
在步骤S202中,根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
在步骤S203中,根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
在步骤S204中,根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
在该步骤中,在该步骤中,通过卷的副本个数和计算出的object位置,直接通过socket进行IO传送给多个副本所在的主机,不需要IO转发,精简IO路径信息。
在本发明实施例中,在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案,即:
模拟处理器QEMU支持多种IO方式,可以通过定制模拟处理器QEMU的IOdriver方式,使得模拟处理器QEMU支持更多的IO方案;
根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换;
即:模拟处理器QEMU支持多种配置,针对分布式存储,需要进行故障容忍,即需要支持配置多个集群节点iNode的IP信息,当访问的IP出现故障时候进行IP切换,实现分布式存储节点切换,避免单点故障;同时支持配置分布式存储端浮动IP,通过在存储端进行IP切换,实现高可用;
当分布式存储浮动IP所在的节点故障时候会主动进行浮动IP切换,切换到一个正常的分布式存储节点,模拟处理器QEMU的客户端直接访问浮动IP,可以不感知分布式存储的故障,正常的获取集群信息。
在本发明实施例中,将分布式存储的IO机制上移,移至模拟处理器QEMU的客户端进行处理,增加模拟处理器QEMU的客户端的IO稳定性和支持故障冗余;
其中,将分布式存储的副本分发机制上移至客户端,通过客户端进行副本分发,避免多次数据分配和数据转发,直接发送至IO所在的主机端,直接进行IO,避免多次的内存拷贝;
而且,分布式存储因为节点比较多,因此需要进行故障冗余,因此需要将IO重传机制移至客户端,当客户端异常不返回时候进行IO重传机制,多次重传,支持更多的故障冗余。
在本发明实施例中,当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作,提高IO成功的可能性;
同时,当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。提高IO效率,减少故障时IO性能的损耗。
在该实施例中,分布式存储故障时候会进行数据恢复,在恢复过程中按照旧的集群信息发送IO时候会出现超时等错误,因此需要感知分布式存储端的故障,当故障时候进行IO pending(正在执行),等待写的object的数据恢复完成之后再进行IO下发,避免故障时候多次重传;
故障后需要恢复丢失的副本数据,但是恢复时候数据是无序的,因此需要支持客户端的优先object恢复机制,即尽可能快速的恢复正在下发IO的目标对象object,避免IOpending时间过长,导致IO超时。
在本发明实施例中,通过修改模拟处理器QEMU使用私有协议的驱动器,适配分布式存储的DHT算法,将分布式存储的IO计算上移,移植到模拟处理器QEMU的驱动器中,在模拟处理器QEMU的驱动器中实现IO高可用和IO重传机制,同时修改存储算法,支持客户端提高数据恢复的对象的优先级,使得模拟处理器QEMU的IO driver下发IO路径简短,提高IOqemu使用分布式存储的IO性能。
图3示出了本发明提供的基于模拟处理器QEMU的分布式加速存储***的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
基于模拟处理器QEMU的分布式加速存储***包括:
副本位置计算模块11,用于在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
IO下发模块12,用于根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
IO处理模块13,用于副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
在本发明实施例中,如图4所示,所述IO下发模块12具体包括:
信息获取模块14,用于获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
目标对象信息获取模块15,用于根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
object位置参数获取模块16,用于根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
IO传送模块17,用于根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
结合图3所示,所述***还包括:
第一配置模块18,用于在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案;
第二配置模块19,用于根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换。
结合图3所示,所述***还包括:
第一IO重试模块20,用于当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作;
优先恢复控制模块21,用于当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
第二IO重试模块22,用于当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。
其中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机,从而实现缩短模拟处理器QEMU访问分布式哈希表算法提供的分布式存储的IO路径,提高分布式存储的IO可用性,缩短IO的时延信息,提高分布式存储基于云计算场景的适配性。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种基于模拟处理器QEMU的分布式加速存储方法,其特征在于,所述方法包括下述步骤:
在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
2.根据权利要求1所述的基于模拟处理器QEMU的分布式加速存储方法,其特征在于,所述根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发的步骤具体包括下述步骤:
获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
3.根据权利要求1所述的基于模拟处理器QEMU的分布式加速存储方法,其特征在于,所述方法还包括下述步骤:
在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案;
根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换。
4.根据权利要求1所述的基于模拟处理器QEMU的分布式加速存储方法,其特征在于,所述方法还包括下述步骤:
当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作。
5.根据权利要求1所述的基于模拟处理器QEMU的分布式加速存储方法,其特征在于,所述方法还包括下述步骤:
当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。
6.一种基于模拟处理器QEMU的分布式加速存储***,其特征在于,所述***包括:
副本位置计算模块,用于在模拟处理器QEMU的客户端,通过内置在模拟处理器QEMU的驱动器driver内的分布式哈希表算法计算副本所在位置;
IO下发模块,用于根据计算得到的所述副本的位置,通过所述模拟处理器QEMU的驱动器driver向计算得到的副本所在的主机进行IO下发;
IO处理模块,用于副本所在的主机对接收到的模拟处理器QEMU的驱动器driver下发的IO请求进行IO处理,并将IO处理结果反馈给所述模拟处理器QEMU下发IO所在的主机。
7.根据权利要求6所述的基于模拟处理器QEMU的分布式加速存储***,其特征在于,所述IO下发模块具体包括:
信息获取模块,用于获取所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset;
目标对象信息获取模块,用于根据获取到的所述模拟处理器QEMU下发IO的卷信息和下发IO的偏离距离值offset,计算要下发IO的目标对象object信息;
object位置参数获取模块,用于根据计算得到的目标对象object信息,利用所述分布式哈希表算法计算目标对象object位置参数;
IO传送模块,用于根据卷的副本个数信息以及所述目标对象object位置参数,通过套接字socket将IO传送至多个副本所在的主机。
8.根据权利要求6所述的基于模拟处理器QEMU的分布式加速存储***,其特征在于,所述***还包括:
第一配置模块,用于在所述模拟处理器QEMU中配置多种IO驱动方式,其中,多种IO驱动方式支持多种对应的IO下发方案;
第二配置模块,用于根据配置的所述模拟处理器QEMU中的多种IO驱动方式,配置基于分布式存储的多个集群节点iNode的IP信息以及配置基于分布式存储的浮动IP;
其中,所述基于分布式存储的多个集群节点iNode的IP信息用于当访问的IP出现故障时进行IP切换,所述基于分布式存储的浮动IP用于当节点出现故障时,主动进行浮动IP切换。
9.根据权利要求6所述的基于模拟处理器QEMU的分布式加速存储***,其特征在于,所述***还包括:
第一IO重试模块,用于当所述模拟处理器QEMU下发IO异常时,自动执行IO重试的动作。
10.根据权利要求6所述的基于模拟处理器QEMU的分布式加速存储***,其特征在于,所述***还包括:
优先恢复控制模块,用于当分布式存储***出现故障时,检查正在请求的队列和IO队列,获取分布式存储正在防卫的IO信息,控制优先恢复正在被访问的块;
第二IO重试模块,用于当分布式存储***故障恢复时,对正在请求的IO执行IO重试动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011302230.5A CN112532701B (zh) | 2020-11-19 | 2020-11-19 | 一种基于模拟处理器qemu的分布式加速存储方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011302230.5A CN112532701B (zh) | 2020-11-19 | 2020-11-19 | 一种基于模拟处理器qemu的分布式加速存储方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112532701A true CN112532701A (zh) | 2021-03-19 |
CN112532701B CN112532701B (zh) | 2022-07-15 |
Family
ID=74981710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011302230.5A Active CN112532701B (zh) | 2020-11-19 | 2020-11-19 | 一种基于模拟处理器qemu的分布式加速存储方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112532701B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254166A (zh) * | 2021-07-13 | 2021-08-13 | 云宏信息科技股份有限公司 | 一种处理io请求的方法、存储介质和虚拟化模拟器 |
CN116401020A (zh) * | 2023-06-07 | 2023-07-07 | 四川大学 | Kvm虚拟机i/o过滤框架实现方法、***及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发*** |
US20150020071A1 (en) * | 2013-07-12 | 2015-01-15 | Bluedata Software, Inc. | Accelerated data operations in virtual environments |
CN106802839A (zh) * | 2016-12-13 | 2017-06-06 | 龚平 | 一种基于块驱动的虚拟机数据保护方法 |
CN109327539A (zh) * | 2018-11-15 | 2019-02-12 | 上海天玑数据技术有限公司 | 一种分布式块存储***及其数据路由方法 |
-
2020
- 2020-11-19 CN CN202011302230.5A patent/CN112532701B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150020071A1 (en) * | 2013-07-12 | 2015-01-15 | Bluedata Software, Inc. | Accelerated data operations in virtual environments |
CN104050015A (zh) * | 2014-06-27 | 2014-09-17 | 国家计算机网络与信息安全管理中心 | 一种虚拟机镜像存储分发*** |
CN106802839A (zh) * | 2016-12-13 | 2017-06-06 | 龚平 | 一种基于块驱动的虚拟机数据保护方法 |
CN109327539A (zh) * | 2018-11-15 | 2019-02-12 | 上海天玑数据技术有限公司 | 一种分布式块存储***及其数据路由方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254166A (zh) * | 2021-07-13 | 2021-08-13 | 云宏信息科技股份有限公司 | 一种处理io请求的方法、存储介质和虚拟化模拟器 |
CN116401020A (zh) * | 2023-06-07 | 2023-07-07 | 四川大学 | Kvm虚拟机i/o过滤框架实现方法、***及存储介质 |
CN116401020B (zh) * | 2023-06-07 | 2023-08-11 | 四川大学 | Kvm虚拟机i/o过滤框架实现方法、***及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112532701B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10983860B2 (en) | Automatic prefill of a storage system with conditioning of raid stripes | |
US10592161B1 (en) | Storage system with flexible scanning supporting storage volume addition and/or recovery in asynchronous replication | |
US10846178B2 (en) | Hash-based remote rebuild assistance for content addressable storage systems | |
US11327834B2 (en) | Efficient computation of parity data in storage system implementing data striping | |
US11288286B2 (en) | Storage system with data consistency checking in synchronous replication using active snapshot set | |
US11074129B2 (en) | Erasure coded data shards containing multiple data objects | |
US11144399B1 (en) | Managing storage device errors during processing of inflight input/output requests | |
US11494103B2 (en) | Memory-efficient processing of RAID metadata bitmaps | |
CN112532701B (zh) | 一种基于模拟处理器qemu的分布式加速存储方法及*** | |
US20190042103A1 (en) | Resilient external memory | |
JP2017531857A (ja) | 分散型能動ハイブリッドストレージシステム | |
US10872036B1 (en) | Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof | |
US11531498B2 (en) | Peer storage device messaging over control bus | |
US11442894B2 (en) | Methods for scalable file backup catalogs and devices thereof | |
CN111587420A (zh) | 分布式存储***快速故障恢复的方法和*** | |
US10951699B1 (en) | Storage system with asynchronous messaging between processing modules for data replication | |
US11645174B2 (en) | Recovery flow with reduced address lock contention in a content addressable storage system | |
US11144232B2 (en) | Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes | |
US10324652B2 (en) | Methods for copy-free data migration across filesystems and devices thereof | |
US11194501B2 (en) | Standby copies withstand cascading fails | |
US11216204B2 (en) | Degraded redundant metadata, DRuM, technique | |
US11467906B2 (en) | Storage system resource rebuild based on input-output operation indicator | |
US11481335B2 (en) | Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof | |
US10996871B2 (en) | Hash-based data recovery from remote storage system responsive to missing or corrupted hash digest | |
JP2010134788A (ja) | クラスタ・ストレージ装置、及びそれを制御する方法 |
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 |