CN112532701A - 一种基于模拟处理器qemu的分布式加速存储方法及*** - Google Patents

一种基于模拟处理器qemu的分布式加速存储方法及*** Download PDF

Info

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
Application number
CN202011302230.5A
Other languages
English (en)
Other versions
CN112532701B (zh
Inventor
马怀旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011302230.5A priority Critical patent/CN112532701B/zh
Publication of CN112532701A publication Critical patent/CN112532701A/zh
Application granted granted Critical
Publication of CN112532701B publication Critical patent/CN112532701B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery 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的分布式加速存储方法及***
技术领域
本发明属于分布式存储技术领域,尤其涉及一种基于模拟处理器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重试动作。
CN202011302230.5A 2020-11-19 2020-11-19 一种基于模拟处理器qemu的分布式加速存储方法及*** Active CN112532701B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 上海天玑数据技术有限公司 一种分布式块存储***及其数据路由方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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