CN113703672B - 一种超融合系统及其io请求下发方法、物理服务器 - Google Patents

一种超融合系统及其io请求下发方法、物理服务器 Download PDF

Info

Publication number
CN113703672B
CN113703672B CN202110873111.3A CN202110873111A CN113703672B CN 113703672 B CN113703672 B CN 113703672B CN 202110873111 A CN202110873111 A CN 202110873111A CN 113703672 B CN113703672 B CN 113703672B
Authority
CN
China
Prior art keywords
request
page memory
large page
virtio
address
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
Application number
CN202110873111.3A
Other languages
English (en)
Other versions
CN113703672A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN202110873111.3A priority Critical patent/CN113703672B/zh
Publication of CN113703672A publication Critical patent/CN113703672A/zh
Application granted granted Critical
Publication of CN113703672B publication Critical patent/CN113703672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种超融合系统,针对分布式块存储,该系统使用virtio半虚拟化技术,通过共享的大页内存和RDMA技术,实现从虚拟机IO到分布式块存储多副本间的全程内存零拷贝,即虚拟机直接通过大页内存访问物理机上的后端分布式块存储资源,使得虚拟机IO无需通过网络即可访问分布式块存储服务端的资源,缩减虚拟机到分布式块存储端的IO路径,并通过轮询加速IO访问速度,提高分布式块存储在虚拟化场景下的的IO性能,提高超融合性能。此外,本申请还提供了一种超融合系统的IO下发方法、物理服务器和可读存储介质,其技术效果与上述系统的技术效果相对应。

Description

一种超融合系统及其IO请求下发方法、物理服务器
技术领域
本申请涉及计算机技术领域,特别涉及一种超融合系统及其IO请求下发方法、物理服务器及可读存储介质。
背景技术
在信息爆炸增长的时代,海量数据的增长,传统存储成本高,效率低下无法满足用户数据的增长速度,高效智能的分布式存储技术解决这一痛楚,分布式存储具有以下几个特征:高性能、高可靠性、高可扩展性、透明性、自治性。分布式存储数据存放首先要进行分片切割处理,之后通过一定算法,计算出数据存放位置,由于用户数据被分为多个数据块,因此任何一个数据块丢失都可以造成数据不可用,因此分布式存储必须考虑合理的冗余存储模型,为用户的数据分块提供多个冗余的存储副本,从而保证数据的安全性和可靠性。
针对分布式存储提供的存储,有三种方向:对象存储、文件存储和块存储。对象存储主要用于储存不变的对象,文件存储主要为了储存文件,块存储提供块设备;块存储一般是提供块给qemu使用创建虚拟机或者是提供数据库或者是文件存储等应用;正常使用块存储来说有两种方式,一种是分布式存储提供iSCSI设备映射给主机,另外一种是通过私有协议直接连接使用分布式存储,但是都面临着IO路径比较长的缺点。
综上,在分布式块存储中,如何克服上述IO路径长的缺点,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种超融合系统及其IO请求下发方法、物理服务器及可读存储介质,用以解决在分布式块存储中IO路径长的问题。其具体方案如下:
第一方面,本申请提供了一种超融合系统,包括:
virtio前端驱动,用于申请大页内存,并创建请求队列;在虚拟机下发IO请求时,将所述IO请求存储至所述请求队列;
virtio后端驱动,用于轮询所述请求队列,在检测到IO请求时,调用分布式块存储的本地服务端对所述IO请求进行处理;
所述本地服务端,用于判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至分布式块存储的远程服务端;
所述远程服务端,用于根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述大页内存进行相应的读写操作。
可选的,所述virtio前端驱动用于:创建无锁化队列以作为请求队列。
可选的,所述本地服务端用于:从所述大页内存获取所述IO请求的请求地址,根据所述请求地址判断所述IO请求是否为本地读请求。
可选的,所述本地服务端用于:从所述大页内存获取所述IO请求的LUN信息和/或offset信息,根据所述LUN信息和/或offset信息判断所述IO请求是否为本地读请求。
可选的,所述远程服务端用于:在完成所述读写操作后,向所述virtio后端驱动发送IO处理完成的提示信息,所述virtio后端驱动向所述virtio前端驱动发送IO处理完成的提示信息。
可选的,所述本地服务端用于:在所述IO请求不是本地读请求时,将所述大页内存注册至智能网卡,利用所述智能网卡通过RDMA方式将所述IO请求和所述大页内存的地址发送至分布式块存储的远程服务端。
第二方面,本申请提供了一种超融合系统的IO请求下发方法,应用于宿主机,包括:
利用virtio前端驱动申请大页内存,并创建请求队列;在虚拟机下发IO请求时,利用所述virtio前端驱动将所述IO请求存储至所述请求队列;
利用virtio后端驱动轮询所述请求队列,在检测到IO请求时,将所述IO请求发送至分布式块存储的本地服务端;
利用所述本地服务端判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至远端主机,以便于所述远端主机上的分布式块存储的远程服务端根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述大页内存进行相应的读写操作。
第三方面,本申请提供了一种超融合系统的IO请求下发方法,应用于远端主机,包括:
接收宿主机上的分布式块存储的本地服务端通过RDMA的方式发送的IO请求和大页内存的地址;
根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述宿主机上的大页内存进行相应的读写操作,所述大页内存为virtio前端驱动在所述宿主机申请的;
所述本地服务端向所述远端主机发送IO请求和大页内存的地址的过程,包括:
接收virtio后端驱动发送的调用请求,所述virtio后端驱动用于轮询请求队列,并在检测到IO请求时向所述本地服务端发出对所述IO请求进行处理的调用请求,所述请求队列为所述virtio前端驱动在所述宿主机创建的;判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至所述远端主机。
第四方面,本申请提供了一种超融合系统的物理服务器,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的超融合系统的IO请求下发方法。
第五方面,本申请提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的超融合系统的IO请求下发方法。
本申请所提供的一种超融合系统,包括virtio前端驱动,virtio后端驱动,分布式块存储的本地服务端,分布式块存储的远程服务端。其中,virtio前端驱动用于申请大页内存,并创建请求队列,在虚拟机下发IO请求时,将IO请求存储至请求队列;virtio后端驱动用于轮询请求队列,在检测到IO请求时,调用本地服务端对IO请求进行处理;本地服务端,用于判断IO请求是否为本地读请求,若是,则将IO请求的请求内容写入大页内存,否则,通过RDMA方式将IO请求和大页内存的地址发送至远程服务端;远程服务端,用于根据大页内存的地址和IO请求,通过RDMA的方式对大页内存进行相应的读写操作。
可见,在超融合场景下,针对分布式块存储,该系统使用virtio半虚拟化技术,通过共享的大页内存和RDMA技术,实现从虚拟机IO到分布式块存储多副本间的全程内存零拷贝,即虚拟机直接通过大页内存访问物理机上的后端分布式块存储资源,使得虚拟机IO无需通过网络即可访问分布式块存储服务端的资源,缩减虚拟机到分布式块存储端的IO路径,并通过轮询加速IO访问速度,提高分布式块存储在虚拟化场景下的的IO性能,提高超融合性能。
此外,本申请还提供了一种超融合系统的IO下发方法、物理服务器和可读存储介质,其技术效果与上述系统的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的超融合系统实施例一的示意图;
图2为本申请所提供的超融合系统实施例二的一种示意图;
图3为本申请所提供的超融合系统实施例二的另一种示意图;
图4为本申请提供的应用于宿主机的超融合系统的IO请求下发方法实施例的流程图;
图5为本申请提供的应用于远端主机的超融合系统的IO请求下发方法实施例的流程图。
具体实施方式
本申请的核心是提供一种超融合系统及其IO下发方法、物理服务器和可读存储介质,用以缩减虚拟机到分布式块存储端的IO路径,提高分布式块存储在虚拟化场景下的的IO性能,提高超融合性能。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的超融合系统实施例一进行介绍,参见图1,实施例一包括:
virtio前端驱动,用于申请大页内存,并创建请求队列;在虚拟机下发IO请求时,将IO请求存储至所述请求队列;
virtio后端驱动,用于轮询请求队列,在检测到IO请求时,调用分布式块存储的本地服务端对IO请求进行处理;
本地服务端,用于判断IO请求是否为本地读请求,若是,则将IO请求的请求内容写入大页内存,否则,通过RDMA(Remote Direct Memory Access,远程直接数据存取)方式将IO请求和大页内存的地址发送至分布式块存储的远程服务端;
远程服务端,用于根据大页内存的地址和IO请求,通过RDMA的方式对大页内存进行相应的读写操作。
本实施例应用于超融合(Hyper Converged Infrastructure,HCI)场景。本实施例使用大内存页,最大可以定义1GB的页面大小。在系统启动期间,用大内存页为virtio前端驱动和virtio后端驱动预留一部分内存,这部分内存不会被其他程序占用。virtio前端驱动和virtio后端驱动共享大页内存,通过内存共享实现节点内部数据直接内存地址访问,无需内存拷贝。而且,大页内存不会产生缺页中断,因此能够实现内存全速访问。
作为一种优选的实施方式,virtio前端驱动创建无锁化队列以作为请求队列。无锁化队列直接多生产者多消费者,能够避免虚拟机内部IO多线程访问锁竞争,实现高并发。
具体的,本地服务端从大页内存获取IO请求的请求地址,根据请求地址判断IO请求是否为本地读请求,其中请求地址具体可以为LUN(Logical Unit Number,逻辑单元号)信息和/或offset信息。
本地服务端在将IO请求的请求内容写入大页内存之后,会告知virtio后端驱动IO请求已经处理完成,然后virtio后端驱动告知virtio前端驱动IO请求已经处理完成。同理,远程服务端在完成对大页内存的读写操作后,会向virtio后端驱动发送IO处理完成的提示信息,然后virtio后端驱动向virtio前端驱动发送IO处理完成的提示信息。
作为一种优选的实施方式,通过智能网卡实现本地服务端与远程服务端之间的数据传输。具体的,本地服务端在IO请求不是本地读请求时,将大页内存注册至智能网卡,利用智能网卡通过RDMA方式将IO请求和大页内存的地址发送至分布式块存储的远程服务端。
本实施例所提供的超融合系统,应用于超融合场景下,针对分布式块存储,使用virtio半虚拟化技术,通过共享的大页内存、无锁化队列和RDMA技术,实现从虚拟机IO到分布式块存储多副本间全程内存零拷贝,即虚拟机直接通过大页内存访问物理机上的后端分布式块存储资源,无需通过网络即可实现虚拟机IO访问分布式块存储服务端的资源,缩减虚拟机到分布式块存储端的IO路径,并通过轮询和无锁化队列加速IO访问速度,此外通过智能网卡卸载Roce(RDMA over Converged Ethernet)协议充分发挥分布式块存储的硬件性能,减少IO时延,提高分布式块存储在虚拟化场景下的的IO性能,提高超融合性能。
下面开始详细介绍本申请提供的超融合系统实施例二,架构如图2和图3所示。
实施例二中,分布式块存储提供virtio后端驱动,用于和分布式块存储的本地服务端联动,直接可以进行分布式块存储IO请求下发。虚拟机启动时候通过virtio前端驱动,通过无锁化队列和大页内存和分布式块存储的virtio后端驱动进行联动。
虚拟机进行下发IO请求时候通过virtio前端驱动。具体的,虚拟机调用内部可识别的virtio前端驱动,申请大页内存地址存放具体要下发的内容,同时将IO请求插入无锁化队列。Virtio后端驱动轮询无锁化队列,检测到虚拟机下发IO请求和对应的大页内存地址,则调用分布式块存储的IO请求下发流程。也就是说,IO请求直接下发到分布式块存储的本地服务端,共享内存直接可以在本地服务端进行访问,因此内存仅申请一次,无需拷贝。
之后,分布式块存储端通过下发IO对应的LUN、offset等信息判断虚拟机请求读写的地址,如果是本地读请求,即请求类型为读请求且本机存在请求内容,则直接通过IO下发,将请求内容直接填写大内存页地址上,同时通知virtio前端驱动IO完成。
如果IO请求是写请求或者是远端读请求,则通过分布式块存储的远程服务端处理IO请求。具体的,分布式块存储的本地服务端将大内存页注册到智能网卡上,通过RDMA的方式将大内存页地址和IO请求告知分布式块存储的远程服务端,远程服务端根据IO请求和大页内存的地址通过RDMA方式对大页内存进行相应的IO操作,全程无内存拷贝,完成之后远程服务端告知virtio后端驱动IO完成,virtio后端驱动进而通知virtio前端驱动IO完成。
可见,本实施例提供的超融合系统,至少具备以下优点:
1、通过大页内存共享实现节点内部数据直接内存地址访问,无需内存拷贝。而且,大页内存不会产生缺页中断,因此能够实现内存全速访问。
2、通过无锁化队列实现高并发。无锁化队列直接多生产者多消费者,避免了虚拟机内部IO多线程访问锁竞争等,提高了业务的并发能力。
3、通过轮询加速事件感知,通过独占一颗CPU进行轮询操作,不会产生CPU线程切换产生的影响事件处理的性能,提高事件处理及时性和效率。
4、使用智能网卡卸载RDMA流量。分布式块存储是通过多节点存放多个副本来进行保证故障冗余,写操作时候需要将IO发送到远端的分布式块存储服务端上,在多个远端分布式块存储服务端上保存数据,读请求仅仅查找到一个副本所在位置即可访问数据,因此需要网络访问来保证数据分发访问。RDMA网络是通过RoCE协议进行传输,智能网卡会根据协议类型自动卸载网络,减少CPU的负担。RDMA网络中使用的内存是大页内存,大页内存在物理内存地址是固化的,将整个大页内存注册到物理网卡上,物理网卡直接可以通过RDMA进行物理地址访问,无需内存拷贝进行网络传输,网卡内部实现内存拷贝,网络传输过程中没有资源拷贝等信息,同时卸载了传输过程,降低了物理机的CPU压力。同时节省了虚拟机IO流程中所需要申请的内存,节省分布式块存储使用的内存。
下面对本申请提供的应用于宿主机的超融合系统的IO请求下发方法进行介绍,该方法基于前述超融合系统实现。
如图4所示,本实施例的应用于宿主机的超融合系统的IO请求下发方法,包括以下步骤:
S41、利用virtio前端驱动申请大页内存,并创建请求队列;在虚拟机下发IO请求时,利用virtio前端驱动将IO请求存储至请求队列;
S42、利用virtio后端驱动轮询请求队列,在检测到IO请求时,将IO请求发送至分布式块存储的本地服务端;
S43、利用本地服务端判断IO请求是否为本地读请求,若是,则将IO请求的请求内容写入大页内存,否则,通过RDMA方式将IO请求和大页内存的地址发送至远端主机,以便于远端主机上的分布式块存储的远程服务端根据大页内存的地址和IO请求,通过RDMA的方式对大页内存进行相应的读写操作。
下面对本申请提供的应用于远端主机的超融合系统的IO请求下发方法进行介绍,该方法基于前述超融合系统实现。
如图5所示,本实施例的应用于远端主机的超融合系统的IO请求下发方法,包括以下步骤:
S51、接收宿主机上的分布式块存储的本地服务端通过RDMA的方式发送的IO请求和大页内存的地址;
S52、根据大页内存的地址和IO请求,通过RDMA的方式对宿主机上的大页内存进行相应的读写操作,大页内存为virtio前端驱动在宿主机申请的;
本地服务端向远端主机发送IO请求和大页内存的地址的过程,包括:接收virtio后端驱动发送的调用请求,virtio后端驱动用于轮询请求队列,并在检测到IO请求时向本地服务端发出对IO请求进行处理的调用请求,请求队列为virtio前端驱动在宿主机创建的;判断IO请求是否为本地读请求,若是,则将IO请求的请求内容写入大页内存,否则,通过RDMA方式将IO请求和大页内存的地址发送至远端主机。
此外,本申请还提供了一种超融合系统的物理服务器,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的应用于宿主机的超融合系统的IO请求下发方法,或应用于远端主机的超融合系统的IO请求下发方法。
最后,本申请提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的应用于宿主机的超融合系统的IO请求下发方法,或应用于远端主机的超融合系统的IO请求下发方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种超融合系统,其特征在于,包括:
virtio前端驱动,用于申请大页内存,并创建请求队列;在虚拟机下发IO请求时,将所述IO请求存储至所述请求队列;
virtio后端驱动,用于轮询所述请求队列,在检测到IO请求时,调用分布式块存储的本地服务端对所述IO请求进行处理;
所述本地服务端,用于判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至分布式块存储的远程服务端;
所述远程服务端,用于根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述大页内存进行相应的读写操作。
2.如权利要求1所述的系统,其特征在于,所述virtio前端驱动用于:创建无锁化队列以作为请求队列。
3.如权利要求1所述的系统,其特征在于,所述本地服务端用于:从所述大页内存获取所述IO请求的请求地址,根据所述请求地址判断所述IO请求是否为本地读请求。
4.如权利要求3所述的系统,其特征在于,所述本地服务端用于:从所述大页内存获取所述IO请求的LUN信息和/或offset信息,根据所述LUN信息和/或offset信息判断所述IO请求是否为本地读请求。
5.如权利要求1所述的系统,其特征在于,所述远程服务端用于:在完成所述读写操作后,向所述virtio后端驱动发送IO处理完成的提示信息,所述virtio后端驱动向所述virtio前端驱动发送IO处理完成的提示信息。
6.如权利要求1至5任意一项所述的系统,其特征在于,所述本地服务端用于:在所述IO请求不是本地读请求时,将所述大页内存注册至智能网卡,利用所述智能网卡通过RDMA方式将所述IO请求和所述大页内存的地址发送至分布式块存储的远程服务端。
7.一种超融合系统的IO请求下发方法,其特征在于,应用于宿主机,包括:
利用virtio前端驱动申请大页内存,并创建请求队列;在虚拟机下发IO请求时,利用所述virtio前端驱动将所述IO请求存储至所述请求队列;
利用virtio后端驱动轮询所述请求队列,在检测到IO请求时,将所述IO请求发送至分布式块存储的本地服务端;
利用所述本地服务端判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至远端主机,以便于所述远端主机上的分布式块存储的远程服务端根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述大页内存进行相应的读写操作。
8.一种超融合系统的IO请求下发方法,其特征在于,应用于远端主机,包括:
接收宿主机上的分布式块存储的本地服务端通过RDMA的方式发送的IO请求和大页内存的地址;
根据所述大页内存的地址和所述IO请求,通过RDMA的方式对所述宿主机上的大页内存进行相应的读写操作,所述大页内存为virtio前端驱动在所述宿主机申请的;
所述本地服务端向所述远端主机发送IO请求和大页内存的地址的过程,包括:
接收virtio后端驱动发送的调用请求,所述virtio后端驱动用于轮询请求队列,并在检测到IO请求时向所述本地服务端发出对所述IO请求进行处理的调用请求,所述请求队列为所述virtio前端驱动在所述宿主机创建的;判断所述IO请求是否为本地读请求,若是,则将所述IO请求的请求内容写入所述大页内存,否则,通过RDMA方式将所述IO请求和所述大页内存的地址发送至所述远端主机。
9.一种超融合系统的物理服务器,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求7或8所述的超融合系统的IO请求下发方法。
10.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求7或8所述的超融合系统的IO请求下发方法。
CN202110873111.3A 2021-07-30 2021-07-30 一种超融合系统及其io请求下发方法、物理服务器 Active CN113703672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110873111.3A CN113703672B (zh) 2021-07-30 2021-07-30 一种超融合系统及其io请求下发方法、物理服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110873111.3A CN113703672B (zh) 2021-07-30 2021-07-30 一种超融合系统及其io请求下发方法、物理服务器

Publications (2)

Publication Number Publication Date
CN113703672A CN113703672A (zh) 2021-11-26
CN113703672B true CN113703672B (zh) 2023-07-14

Family

ID=78651222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110873111.3A Active CN113703672B (zh) 2021-07-30 2021-07-30 一种超融合系统及其io请求下发方法、物理服务器

Country Status (1)

Country Link
CN (1) CN113703672B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114301641B (zh) * 2021-12-15 2024-03-19 中国科学院深圳先进技术研究院 一种适用于rdma网络的虚拟化安全网关系统
CN114710366B (zh) * 2022-05-31 2022-11-04 阿里巴巴(中国)有限公司 云计算系统中的跨安全区域的资源访问方法及电子设备
CN115576654B (zh) * 2022-11-17 2023-03-10 苏州浪潮智能科技有限公司 一种请求处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183871A (zh) * 2017-11-23 2018-06-19 北京三快在线科技有限公司 一种虚拟交换机、虚拟交换机启动方法,电子设备
CN110908600A (zh) * 2019-10-18 2020-03-24 华为技术有限公司 数据访问方法、装置和第一计算设备
CN111143032A (zh) * 2019-12-20 2020-05-12 上海交通大学 一种基于请求应答的半虚拟化i/o系统和方法
CN112148422A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 一种io处理的方法和装置
CN112487393A (zh) * 2020-11-23 2021-03-12 苏州浪潮智能科技有限公司 一种实现虚拟机中访问pci密码卡的方法及装置
US10963407B1 (en) * 2019-11-15 2021-03-30 Red Hat, Inc. Remote direct memory access based networking gateway

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183871A (zh) * 2017-11-23 2018-06-19 北京三快在线科技有限公司 一种虚拟交换机、虚拟交换机启动方法,电子设备
CN112148422A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 一种io处理的方法和装置
CN110908600A (zh) * 2019-10-18 2020-03-24 华为技术有限公司 数据访问方法、装置和第一计算设备
US10963407B1 (en) * 2019-11-15 2021-03-30 Red Hat, Inc. Remote direct memory access based networking gateway
CN111143032A (zh) * 2019-12-20 2020-05-12 上海交通大学 一种基于请求应答的半虚拟化i/o系统和方法
CN112487393A (zh) * 2020-11-23 2021-03-12 苏州浪潮智能科技有限公司 一种实现虚拟机中访问pci密码卡的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RDMA虚拟化相关技术研究;代超 等;《计算机系统应用》;第29卷(第10期);第1-8页 *

Also Published As

Publication number Publication date
CN113703672A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN113703672B (zh) 一种超融合系统及其io请求下发方法、物理服务器
US10489422B2 (en) Reducing data volume durability state for block-based storage
US9983825B2 (en) Efficient data volume replication for block-based storage
US9026630B2 (en) Managing resources in a distributed system using dynamic clusters
US9317320B2 (en) Hypervisor-based server duplication system and method and storage medium storing server duplication computer program
CN107408070B (zh) 分布式存储系统中的多事务日志
US10853268B2 (en) Parity generating information processing system
JP2017228323A (ja) 仮想化ストレージエリアネットワークのための仮想ディスクブループリント
JP2018022529A (ja) スケーラブル分散ストレージアーキテクチャ
US9026510B2 (en) Configuration-less network locking infrastructure for shared file systems
US9940152B2 (en) Methods and systems for integrating a volume shadow copy service (VSS) requester and/or a VSS provider with virtual volumes (VVOLS)
CN112463307A (zh) 一种数据传输方法、装置、设备及可读存储介质
EP4369171A1 (en) Method and apparatus for processing access request, and storage device and storage medium
US7441009B2 (en) Computer system and storage virtualizer
CN113721849A (zh) 一种基于分布式存储的数据复制卸载方法及终端设备
WO2014206229A1 (zh) 一种加速器以及数据处理方法
US10768964B2 (en) Virtual machine messaging
WO2022073399A1 (zh) 存储节点、存储设备及网络芯片
CN109634721B (zh) 一种虚拟机与主机的启动通信方法及相关装置
KR101559929B1 (ko) 가상화 장치 및 방법
CN115904795A (zh) 存储系统中的数据存储方法及装置
LU501792B1 (en) Caching a memory descriptor for plural input/output requests
US11334430B2 (en) Virtual disk file resiliency for content based read cache (CBRC) enabled environment
KR100825724B1 (ko) 직접접속방식을 적용하는 고속 전송이 가능한PMEM(PCI Memory)를 이용한 객체 기반저장시스템 및 그 시스템에서의 전송 방법
US9710190B1 (en) Shared memory

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