CN115309545A - 访问处理方法及计算机设备 - Google Patents
访问处理方法及计算机设备 Download PDFInfo
- Publication number
- CN115309545A CN115309545A CN202210893995.3A CN202210893995A CN115309545A CN 115309545 A CN115309545 A CN 115309545A CN 202210893995 A CN202210893995 A CN 202210893995A CN 115309545 A CN115309545 A CN 115309545A
- Authority
- CN
- China
- Prior art keywords
- virtual
- drive device
- access
- file directory
- virtual drive
- 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
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种访问处理方法及计算机设备。其中,根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点;在物理主机中创建第一虚拟驱动设备,并控制第一虚拟驱动设备连接存储节点;其中,文件目录用以通过第二虚拟驱动设备挂载至虚拟机的目标目录,以使得虚拟机基于第一虚拟驱动设备以及第二虚拟驱动设备通过目标目录从存储节点中访问文件目录;第二虚拟驱动设备为对应第一虚拟驱动设备在虚拟机中创建,并从第一虚拟驱动设备同步获得文件目录。本申请实施例提供的技术方案提高了对网络存储系统的访问的效率。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种访问处理方法及计算机设备。
背景技术
在云计算场景中,通常采用网络存储系统,如NAS(Network Attached Storage,网络附属存储)系统,为物理主机中创建的虚拟机,如云服务器、云容器等提供存储服务。
虚拟机访问网络存储系统,需要将网络存储系统中请求访问的远程目录挂载至本地目录,由于虚拟机位于虚拟网络,网络存储系统处于物理网络中,需要经由虚拟机的虚拟网卡,通过私网网关与网络存储系统连接,才能将网络存储系统的远程目录挂载至本地目录,进行访问时,虚拟机也需要经由虚拟网络并通过私网网关将访问请求转发至网络存储系统。
由于需要经由私网网关进行流量转换才能实现访问网络存储系统,降低了访问效率。
发明内容
本申请实施例提供一种访问处理方法及计算机设备,用以解决现有技术中虚拟机访问网络存储系统效率低的问题。
第一方面,本申请实施例中提供了一种访问处理方法,包括:
根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点;
在物理主机中创建第一虚拟驱动设备,并控制所述第一虚拟驱动设备连接所述存储节点;
其中,所述文件目录用以通过第二虚拟驱动设备挂载至所述虚拟机的目标目录,以使得所述虚拟机基于所述第一虚拟驱动设备以及所述第二虚拟驱动设备通过所述目标目录从所述存储节点中访问所述文件目录;所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建,并从所述第一虚拟驱动设备同步获得所述文件目录。
第二方面,本申请实施例中提供了一种访问处理方法,包括:
第一虚拟驱动设备与网络存储系统中虚拟机对应的存储节点建立连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定;
将所述文件目录同步至第二虚拟驱动设备;其中,所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建;所述文件目录用以通过所述第二虚拟驱动设备挂载至所述虚拟机的目标目录;
基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点中访问所述文件目录;
其中,所述访问请求为所述第二虚拟驱动设备接收到所述虚拟机的访问指令而生成;所述访问指令为所述虚拟机基于针对所述目标目录的访问操作而生成。
第三方面,本申请实施例中提供了一种访问处理方法,包括:
在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备;所述第一虚拟驱动设备与所述虚拟机对应的存储节点连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定;
挂载所述第二虚拟驱动设备,以将所述第二虚拟驱动设备从所述第一虚拟驱动设备同步获得的文件目录挂载至目标目录;
检测针对所述目标目录的访问操作;
向第二虚拟驱动设备发送访问指令,以利用所述第二虚拟驱动设备以及所述第一虚拟驱动设备从所述存储节点中访问所述文件目录。
第四方面,本申请实施例中提供了一种访问处理方法,包括:
从所述第一虚拟驱动设备同步获得虚拟机请求访问的文件目录;其中,所述文件目录为所述第一虚拟驱动设备与所述文件目录对应的存储节点建立连接之后获得;其中,所述文件目录用以挂载至所述虚拟机的目标目录;
接收到所述虚拟机发送的访问指令,向所述第一虚拟驱动设备发送访问请求,以经由所述第一虚拟驱动设备从所述存储节点访问所述文件目录。
第五方面,本申请实施例中提供了一种访问处理方法,包括:
接收存储客户端发送的控制指令;所述控制指令包括虚拟机请求访问的文件目录;
确定所述文件目录对应的存储节点;
将所述存储节点的存储地址反馈至所述存储客户端;所述存储地址用于指示所述存储客户端在物理主机创建的第一虚拟驱动设备与所述存储节点建立连接。
第六方面,本申请实施例中提供了一种计算机设备,包括处理组件及存储组件;所述存储组件存储一条或多条计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,以运行上述第一方面以及第二方面以及第三方面以及第四方面或者第五方面所述的访问处理方法;其中,所述处理组件包括至少一个CPU以及至少一个DPU;所述至少一个CPU具体用以创建并运行所述虚拟机以及创建并运行所述第二驱动设备;所述至少一个DPU具体运行存储客户端。
本申请实施例中,根据虚拟机创建请求中包含的文件目录,从网络存储系统中确定对应的存储节点,并针对每个虚拟机创建第一虚拟驱动设备,第一虚拟驱动设备连接存储节点,虚拟机创建与第一虚拟驱动设备对应的第二虚拟驱动设备,并通过第二虚拟驱动设备将文件目录挂载至虚拟机的目标目录,从而虚拟机基于第一虚拟驱动设备以及第二虚拟驱动设备通过目标目录从存储节点中访问文件目录,由于物理主机与网络存储系统处于同一物理网络中,因此无需经由网关进行转换,借助第一虚拟驱动设备和第二虚拟驱动设备即可以实现对网络存储系统的访问,从而提高了对网络存储系统的访问效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a示出了本申请提供的一种访问处理方法的一种系统架构图;
图1b示出了本申请提供的一种访问处理方法的又一种系统架构图;
图2示出了本申请提供的一种访问处理方法一个实施例的流程图;
图3示出了本申请提供的一种访问处理方法又一个实施例的流程图;
图4示出了本申请提供的一种访问处理方法又一个实施例的流程图;
图5示出了本申请提供的一种访问处理方法又一个实施例的流程图;
图6示出了本申请提供的一种访问处理方法又一个实施例的流程图;
图7示出了本申请提供的一种访问处理方法的一个信令图;
图8示出了本申请提供的一种访问处理装置一个实施例的结构图;
图9示出了本申请提供的一种访问处理装置又一个实施例的结构图;
图10示出了本申请提供的一种访问处理装置又一个实施例的结构图;
图11示出了本申请提供的一种访问处理装置又一个实施例的结构图;
图12示出了本申请提供的一种访问处理装置又一个实施例的结构图;
图13示出了本申请提供的一种计算机设备一个实施例的结构图;
图14示出了本申请提供的一种计算机设备一个实施例的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例的技术方案可以应用于虚拟机访问网络存储系统的应用场景中,特别是云计算机场景中的云应用访问网络存储系统,云应用部署在虚拟机中,在云计算场景中,虚拟机可以是指云服务器、云容器等。
为了便于理解本申请的技术方案,下面首先对本申请中可能涉及的技术术语进行相应解释说明:
虚拟机:指在一个物理主机中通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。该物理主机相对虚拟机为宿主机(Host),该虚拟机相对物理主机为客户机(Guest)。
Underlay:是由各种物理设备和介质连接起来形成的物理网络。
Overlay:是通过网络虚拟化技术,在Underlay网络上构建出虚拟网络。
云计算:云计算是计算机技术发展最快的趋势之一,它涉及通过网络提供托管服务。云计算环境将计算和存储资源作为服务提供给最终用户。最终用户可以向提供的服务发出请求以进行处理。服务的处理能力通常受到配置资源的限制。云计算是一种服务交付模式,旨在实现,按需网络访问共享的可配置计算资源池(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务),这些资源可以通过最小的管理工作或与服务提供商的交互来快速调配和发布。
云服务器:云计算提供方所提供的一种云计算服务,云计算提供方可以采用多租户模型将资源集中起来形成资源池以为多个租户提供服务。用户意即是指租户。可以通过出资购买云计算提供方的资源,以搭建符合自己需求的云服务器等,用户在云计算提供方可以注册用户账号,云计算提供方通过用户账号来区分不同用户。
NAS(Network Attached Storage,网络附属存储):一种可共享访问、弹性扩展、高可靠以及高性能的文件系统。
VFS(Virtual File System,虚拟文件系统):采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。
FUSE(用户空间文件系统):是指完全在用户态实现的文件系统,实现了和内核VFS的对接,为用户提供编写用户态文件系统提供接口。
RDMA(Remote Direct Memory Access,远程直接数据存取):用于解决网络传输中数据处理的延迟的技术。
CXL(Compute Express Link,):一种业界标准的,为CPU、内存、加速器等设备,提供缓存一致性的互联总线。
VPC(Virtual Private Cloud,虚拟私有云):一种Overlay网络,在云服务器中的构建的隔离的、用户自主配置和管理的虚拟网络环境,通过VPC可以提升用户云中资源的安全性,简化用户的网络部署。
DPU(Data Processing Unit,数据处理单元):一种可编程的专用芯片,可以作为CPU的卸载引擎,释放CPU的算力,提供硬件加速功能。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1a和图1b分别示出了本申请实施例的技术方案可以应用于其中的系统架构图,该系统架构可以包括至少一个物理主机101以及网络存储系统102。
该网络存储系统102与物理主机101处于同一物理网络中,在云计算场景中,网络存储系统102与物理主机101可以是云计算提供方所提供的资源等。
网络存储系统102可以为分布式系统,包括多个存储节点,此外还可以包括负责分布式计算的控制节点等,在一个实际应用中,网络存储系统102可以为NAS系统。
其中,在物理主机101中可以创建并运行至少一个虚拟机103,每个虚拟机103运行在各自的虚拟网络中,以实现网络隔离目的。虚拟机103中可以构建一个或多个应用104,由于通过计算与数据分离,可以实现应用细粒度自动伸缩。对存储有高吞吐、低延时、海量实例、及弹性容量等要求,通常采用网络存储系统为应用提供存储服务,分布式NAS系统可以提供几十GB级吞吐量、亿级别文件、PB级容量,非常契合云应用场景。
在云计算场景中,虚拟机例如可以是云服务器、云容器等,虚拟网路为各自在物理网络至搭建的VPC(Virtual Private Cloud,虚拟私有云),VPC为云上的私有网络。
其中,根据图1a所示,物理网络与虚拟网络之间的互访需要通过网关105实现。由前文描述可知,传统方式中,虚拟机如果想要访问网络存储系统,需要首先将网络存储系统的远程目录挂载至本地目录中,这就需要经由网关105进行跳转,且挂载完成之后,访问远程目录,仍然需要网关105进行跳转,导致访问效率降低。
在本申请实施例中,根据图1b所示,在物理主机101中可以针对每个虚拟机103创建第一虚拟驱动设备106,并在虚拟机103中创建配对的第二虚拟驱动设备107,借助第一虚拟驱动设备106和第二虚拟驱动设备107可以实现虚拟机103与物理主机101之间的通信,第一虚拟驱动设备106可以与网络存储系统102连接,由于物理主机101与网络存储系统102处于同一物理网络中,因此无需经由网关105进行转换,借助第一虚拟驱动设备106和第二虚拟驱动设备107即可以实现对网络存储系统的访问。具体的,虚拟机中的应用可以通过VFS以及FUSE向第二虚拟驱动设备107发起访问操作,从而经由第一虚拟驱动设备106和第二虚拟驱动设备107即可以实现对网络存储系统的访问.
第一虚拟驱动设备以及第二虚拟驱动设备可以基于virtio-fs技术实现,virtio-fs是一种用于在host和guest之间共享文件的文件系统,基于FUSE协议在host和guest之间实现通信。当然,本申请并不限定于此。
其中,第一虚拟驱动设备可以由部署在物理主机中的存储客户端108创建,通过存储客户端可以与网络存储系统中的存储服务端进行交互通信,以查找或创建虚拟机请求访问的文件目录对应的存储节点,基于存储节点的存储地址,指示第一虚拟驱动设备与存储节点建立连接等。该存储服务端可以部署在网络存储系统的任一个节点中。
其中,存储客户端可以运行在物理主机的CPU中,第一虚拟驱动设备可以具体是在CPU中创建;此外,为了提高数据处理速度,该物理主机可以配置有DPU109,该存储客户端可以运行于物理主机的DPU109中,第一虚拟驱动设备106可以在DPU109中创建。
其中,物理主机与网络存储系统之间可以基于网络传输协议,建立网络连接,例如TCP连接等,在存储客户端与第一虚拟驱动设备运行在DPU中时,可以是DPU与网络存储系统之间建立网络连接。当然,为了提高传输效率,可以基于更高性能的网络传输协议建立网络通信连接,如RDMA连接等,从而存储客户端与第一虚拟驱动设备可以与网络存储系统之间建立更高传输性能的网络连接等。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2为本申请实施例提供的一种访问处理方法一个实施例的流程图,本实施例的技术方案由存储客户端执行,该存储客户端运行于物理主机中,作为一种可选方式,该存储客户端可以运行于物理主机的CPU中,作为另一种可选方式,该物理主机可以配置有DPU,该存储客户端可以运行于物理主机的DPU中。物理主机与网络存储系统可以建立连接,从而该存储客户端可以与部署于网络存储系统中的存储服务端连接,以与存储服务端交互实现相应操作等。实际应用中,该存储客户端可以是物理主机中启动的一个处理进程,存储服务端可以请求在物理主机中创建该处理进程以为虚拟机提供相应服务等。
该方法可以包括以下几个步骤:
201:根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点;
其中,该网络存储系统可以为NAS系统。该NAS系统可以由多个NAS服务器组成,以形成分布式系统,每个NAS服务器即作为一个存储节点。
可选地,该根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点可以包括:
根据虚拟机创建请求中包含的文件目录,从网络存储系统中确定对应的存储节点;虚拟机创建请求用以在物理主机中创建对应虚拟机。其中,虚拟机创建请求中还可以包括:所需物理主机的CPU(Central Processing Unit,中央处理器)、Mem(Memory,存储器)的配比大小以及网络带宽等虚拟机参数。
其中,虚拟机创建请求可以为用户经由客户控制台或者open API等触发,物理主机可以基于虚拟机创建请求中的虚拟机参数创建对应的虚拟机。用户还可以在虚拟机创建请求中指定请求访问的文件目录,存储客户端可以获得该文件目录并执行相应操作,使得虚拟机创建完成的同时,即可以实现文件目录挂载并可以访问该文件目录。
当然,该文件目录也可以是用户针对已创建的虚拟机而提供的。
202:在物理主机中创建第一虚拟驱动设备,并控制第一虚拟驱动设备连接存储节点。
存储客户端从网络存储系统中确定虚拟机对应的存储节点之后,可以获得该存储节点的存储地址,例如IP地址等。之后可以在物理机中创建第一虚拟驱动设备,并可以将存储地址提供给第一虚拟驱动设备,第一虚拟驱动设备可以基于存储地址连接该存储节点。
其中,为了进一步提高访问效率,存储客户端运行在DPU中时,可以是在物理主机的DPU中创建第一虚拟驱动设备。
其中,该文件目录用以通过第二虚拟驱动设备挂载至虚拟机的目标目录,以使得虚拟机基于第一虚拟驱动设备以及第二虚拟驱动设备通过目标目录从存储节点中访问文件目录;第二虚拟驱动设备为对应第一虚拟驱动设备在虚拟机中创建,并从第一虚拟驱动设备同步获得文件目录。
本实施例中,通过第一虚拟驱动设备来连接存储节点,由于物理主机与网络存储系统处于同一物理网络中,所以无需经由网关进行转换,借助第一虚拟驱动设备和第二虚拟驱动设备即可以实现对网络存储系统的访问,从而提高了对网络存储系统的访问效率。
其中,存储节点的确定可以有多种可能实现方式:
作为一种可能实现方式,根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点可以包括:
根据虚拟机请求访问的文件目录,从网络存储系统中查找是否存在提供文件目录的存储节点;
若是,获取存储节点的存储地址;
若否,选择任意存储节点以创建文件目录,并获取存储节点的存储地址;
其中,存储地址用于指示第一虚拟驱动设备连接至对应的存储节点。
其中,存储客户端可以向存储服务端发送查找请求,由存储服务端查找是否存在提供文件目录的存储节点,并在存在情况下,将存储节点的存储地址返回给存储客户端;否则,可以选择任意存储节点创建该文件目录,以便于在该文件目录中存储数据等。存储客户端可以向存储服务端发送创建请求,以请求存储服务端选择任意存储节点以创建文件目录。
作为另一种可能实现方式,根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点可以包括:
根据虚拟机请求访问的文件目录,从已保存的元数据信息中查找是否存在文件目录对应的存储节点;
若是,获取存储节点的存储地址;
若否,选择任意存储节点以创建文件目录,并获取文件目录的元数据信息。
其中,存储地址用于指示第一虚拟驱动设备连接至对应的存储节点。
其中,存储客户端可以是向存储服务端发送创建请求,以由存储服务端选择任意存储节点以创建文件目录,并将文件目录的元数据信息反馈给存储客户端。存储客户端可以保存不同文件目录的元数据信息,以方便后续查找。
其中,元数据信息可以包括文件目录所对应存储节点的存储地址。此外,还可以包括文件目录的存储方式、访问权限、访问时间以及修改时间等信息。其中,存储方式可以包括在存储介质中存储位置等。
上述几种实现方式中,可以是从网络存储系统中选择符合创建要求的存储节点来创建文件目录。该创建要求例如可以结合I/O带宽,网络带宽,机架高可用等来确定。
图3为本申请实施例提供的一种访问处理方法一个实施例的流程图,本实施例的技术方案由第一虚拟驱动设备执行,第一虚拟驱动设备可以基于virtio-fs技术实现,该方法可以包括以下几个步骤:
301:与网络存储系统中虚拟机对应的存储节点建立连接。
其中,存储节点基于虚拟机请求访问的文件目录所确定,具体确定方式可以详见前文相应实施例中,此处不再赘述。
可选地,与网络存储系统中虚拟机对应的存储节点建立连接可以包括:
基于存储客户端提供的存储地址,连接存储地址对应的存储节点;存储地址为存储客户端根据虚拟机请求访问的文件目录,从网络存储系统查找获得。
为了进一步提高访问效率,可选地,与网络存储系统中虚拟机对应的存储节点建立连接可以包括:与网络存储系统中虚拟机对应的存储节点建立RDMA连接;
可以是基于RDMA协议建立RDMA连接,当然,也可以采用RDMA网卡建立RDMA连接,本申请对此不进行限定。
302:将文件目录同步至第二虚拟驱动设备。
其中,第二虚拟驱动设备为对应第一虚拟驱动设备在虚拟机中创建;文件目录用以通过第二虚拟驱动设备挂载至虚拟机的目标目录。
303:基于第二虚拟驱动设备生成的访问请求,从存储节点中访问文件目录。
其中,访问请求为第二虚拟驱动设备接收到虚拟机的访问指令而生成;访问指令为虚拟机基于针对目标目录的访问操作而生成。该针对目标目录的访问操作可以为虚拟机中的任一个应用发起。
其中,第一虚拟驱动设备与存储节点建立RDMA连接的情况,该基于第二虚拟驱动设备生成的访问请求,向存储节点发送访问报文以访问文件目录可以包括:
基于第二虚拟驱动设备生成的访问请求,生成RDMA访问报文;
将RDMA访问报文发送至网络存储系统,以访问存储节点中的文件目录。
其中,可以按照RDMA协议,将访问请求封装为RDMA访问报文,此外,可以在访问请求中添加相应元数据信息,如存储节点的存储地址、访问权限等,封装获得该RDMA访问报文。网络存储系统获得RDMA访问报文之后,具体可以由控制节点执行,可以从中解封装获得访问请求以及相应元数据信息,基于相应元数据信息如访问权限、访问时间等对该访问请求进行验证之后,可以将访问请求发送至该存储节点,存储节点响应该访问请求,实现对文件目录的访问操作。
在本实施例中,由于物理主机与网络存储系统处于同一网络中,所以无需经由网关进行转换,借助第一虚拟驱动设备和第二虚拟驱动设备即可以实现对网络存储系统的访问,从而提高了对网络存储系统的访问效率。并且将第一虚拟驱动设备与存储节点可以建立RDMA连接,可以更进一步的提高了对文件目录的访问效率。
一些实施例中,基于第二虚拟驱动设备生成的访问请求,从存储节点中访问文件目录可以包括:
以第二虚拟驱动设备在虚拟机中申请的共享内存作为数据缓存,基于第二虚拟驱动设备生成的访问请求,向存储节点发送访问报文以访问文件目录。
其中,访问请求可以包括读请求或者写请求,访问请求为读请求时,该读请求中可以包括请求读取的文件标识以及该共享内存的内存地址,该共享内容用于缓存从文件目录读取的第一数据;访问请求为写请求时,可以缓存请求写入文件目录的第二数据,该写请求中即包括该第二数据。因此,一些实施例中,以第二虚拟驱动设备在虚拟机中申请的共享内存作为数据缓存,基于第二虚拟驱动设备生成的访问请求,向存储节点发送访问报文以访问文件目录可以包括:
在第二虚拟驱动设备生成的访问请求为读请求时,基于共享内容的内存地址,向存储节点发送访问报文,以读取文件目录中的第一数据;
将第一数据写入内存地址对应的共享内存;
在访问请求为写请求时,从共享内存获取第一虚拟驱动设备写入的第二数据;
向存储节点发送包括第二数据的访问报文,以将第二数据写入文件目录。
其中,访问请求为读请求时,第一虚拟驱动设备将第一数据写入内存地址对应的共享内存之后,第二虚拟驱动设备即可以从中获得该第一数据并反馈给虚拟机。
访问请求为写请求时,第二虚拟驱动设备可以将虚拟机请求写入的第二数据缓存至共享内容中,以供第一虚拟驱动设备从中获取该第二数据。
可选地,存储节点写入第二数据的过程中,若存储节点达到存储上限,则可以增加其他存储节点继续写入第二数据,对于其他存储节点的选择可以结合创建要求来选择,例如考虑I/O带宽,网络带宽,机架高可用等来进行选择。
该共享内存可以供第一虚拟驱动设备以及第二虚拟驱动设备共同访问。其中,该共享内容的访问方式可以有多种实现方式:
作为一种可选方式,第一虚拟驱动设备与存储节点建立连接之后,还可以包括:
申请内存地址,并将内存地址映射至共享内存,以基于内存地址访问共享内存。
作为另一种可选方式,还可以通过缓存一致性总线,例如CXL,获取共享内存的内存地址,以实现访问共享内存。
一些实施例中,方法还可以包括:
从存储节点获取文件目录的元数据信息。
基于第二虚拟驱动设备生成的访问请求,从存储节点访问文件目录可以包括:
基于第二虚拟驱动设备生成的访问请求,按照元数据信息向网络存储系统发送访问报文,以访问存储节点中的文件目录。
可以是将元数据信息与访问请求封装生成该访问报文,该访问报文可以是RDMA报文。
此外,第一虚拟驱动设备还可以接收存储节点反馈的响应报文,并将响应报文经由第二虚拟驱动设备发送至虚拟机。该响应报文用于确认访问请求响应成功,在访问请求为读请求时,该响应报文中还可以包括请求读取的第二数据。该响应报文可以由第一虚拟驱动设备写入共享内存中,第二虚拟驱动设备可以从共享内容中获得该响应报文并反馈给虚拟机。
图4为本申请实施例提供的一种访问处理方法一个实施例的流程图,本实施例中由虚拟机执行,该方法可以包括以下几个步骤:
401:在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备。
其中,第一虚拟驱动设备与虚拟机对应的存储节点连接;存储节点基于虚拟机请求访问的文件目录所确定。
其中,在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备可以包括:
响应于启动指令,检测到物理主机存在第一虚拟驱动设备,创建对应的第二虚拟驱动设备。
其中,虚拟机中可以配置有ACPI(Advanced Configuration and PowerManagement Interface,高级配置和电源管理接口),通过ACPI可检测物理主机上存在的该第一虚拟驱动设备。
针对每个虚拟机均可以创建对应的第一虚拟驱动设备以及第二虚拟驱动设备。在虚拟机中创建第二虚拟驱动设备之后,第二虚拟驱动设备可以与第一虚拟驱动设备建立连接,以实现通信。
402:挂载第二虚拟驱动设备,以将第二虚拟驱动设备从第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
通过挂载第二虚拟驱动设备,相当于为第二虚拟驱动设备分配盘符,从而可以将文件目录挂载至目标目录。其中,目标目录为虚拟机中的任意一个本地目录。该挂载操作例如可以通过“mount–t virtio fs myfs/mnt/data”的挂载命令实现。其中,virtio fs表示第二虚拟驱动设备,myfs表示文件目录,/data表示本地的目标目录。
其中,可以是接收到挂载命令,挂载第二虚拟驱动设备,以将第二虚拟驱动设备从第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
该挂载命令可以是用户触发的,或者是虚拟机创建第二虚拟驱动设备之后而生成。
其中,虚拟机中的应用若想访问文件目录,需要经由VFS系统实现,因此可以是通过VFS以及FUSE,挂载第二虚拟驱动设备,以将第二虚拟驱动设备从第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
403:检测针对目标目录的访问操作。
其中,该访问操作是由虚拟机中的应用发起。
404:向第二虚拟驱动设备发送访问指令,以利用第二虚拟驱动设备以及第一虚拟驱动设备从存储节点中访问文件目录。
其中,具体访问过程在前文相应实施例中已进行了详细描述,此处不再重复赘述。
本实施例中,虚拟机创建与检测到的第一虚拟驱动设备对应的第二虚拟驱动设备,并由第二虚拟驱动设备将文件目录挂载至目标目录后,虚拟机便可通过第二虚拟驱动设备以及第一虚拟驱动设备从存储节点中访问文件目录,由于物理主机与网络存储系统处于同一网络中,所以无需经由网关进行转换,借助第一虚拟驱动设备和第二虚拟驱动设备即可以实现对网络存储系统的访问,从而提高了对网络存储系统的访问效率。
图5为本申请实施例提供的一种访问处理方法一个实施例的流程图,本实施例技术方案第二虚拟驱动设备执行,该方法可以包括以下几个步骤:
501:从第一虚拟驱动设备同步获得虚拟机请求访问的文件目录。
其中,文件目录为第一虚拟驱动设备与文件目录对应的存储节点建立连接之后获得。
其中,文件目录用以挂载至虚拟机的目标目录。
其中,第二虚拟驱动设备可以首先与第一虚拟驱动设备建立连接,因此步骤501之前还可以包括:与第一虚拟驱动设备建立连接。
502:接收到虚拟机发送的访问指令,向第二虚拟驱动设备发送访问请求,以经由第二虚拟驱动设备从存储节点访问文件目录。
一些实施例中,该方法还可以包括:
在虚拟机中申请共享内存;
向第二虚拟驱动设备发送访问请求可以包括:
将共享内容作为数据缓存,向第二虚拟驱动设备发送访问请求。
一些实施例中,将共享内容作为数据缓存,向第二虚拟驱动设备发送访问请求可以包括:
在访问指令为读指令,向第二虚拟驱动设备发送读请求,以供第二虚拟驱动设备从存储节点中的文件目录中读取第一数据,并将第一数据写入共享内存;
在访问指令为写指令,将第二数据写入共享内存,并向第二虚拟驱动设备发送写请求,以供第二虚拟驱动设备从共享内存中获取第二数据,并将第二数据写入文件目录。
与该实施例有关步骤所执行的具体内容已在前述实施例详细描述,其具体的执行步骤、内容可以参考前述实施例的描述在此不再赘述。
图6为本申请实施例提供的一种访问处理方法一个实施例的流程图,本实施例的技术方案应用于网络存储系统,由存储服务端执行,该方法可以包括以下几个步骤:
601:接收存储客户端发送的控制指令。
其中,控制指令包括虚拟机请求访问的文件目录。
602:确定文件目录对应的存储节点。
作为一种实现方式,确定文件目录对应的存储节点包括:
查找是否存在提供文件目录的存储节点;
若是,则可以执行步骤603的操作;若否,选择符合创建要求的存储节点,创建文件目录,再执行步骤603的操作。
作为另一种实现方式,控制指令可以是存储客户端确定网络存储系统未存在文件目录的情况下生成;
确定文件目录对应的存储节点包括:
选择符合创建要求的存储节点,创建文件目录;
603:将存储节点的存储地址反馈至存储客户端;存储地址用于指示存储客户端在物理主机创建的第一虚拟驱动设备与存储节点建立连接。
一些实施例中,方法还包括:
将文件目录的元数据信息反馈至存储客户端。
其中,所述元数据信息可以用于查找所述网络存储系统是否存在所述文件目录。此外,还可以用于查找所述文件目录的的访问权限,访问时间以及修改时间等。
与该实施例有关步骤所执行的具体内容已在前述实施例详细描述,其具体的执行步骤、内容可以参考前述实施例的描述在此不再赘述。
为了便于理解本申请实施例的技术方案,下面结合图7所示的信令图,对本申请实施例的技术方案进行说明,如图7所示的访问处理方法,可以包括以下几个步骤:
701:存储客户端根据用户触发的虚拟机创建请求,确定请求访问的文件目录。
物理主机可以接收虚拟机创建请求,并可以启动DPU中的存储客户端。虚拟机创建请求中包括请求访问的文件目录。存储客户端即可以基于虚拟机请求访问的文件目录。
702:存储客户端确定该文件目录对应存储节点的存储地址。
存储客户端可以与存储服务端进行交互通信,以确定网络存储系统中该文件目录对应存储节点的存储地址。该存储节点的具体确定方式可以详见前文相应实施例中所述,此处不再赘述。
其中,DPU可以与网络存储系统建立RDMA连接,因此,存储客户端可以与存储服务端基于RDMA连接进行通信。
703:存储客户端在物理主机中创建第一虚拟驱动设备。
可选地,可以是在DPU中创建第一虚拟驱动设备。
704:第一虚拟驱动设备基于存储地址,与对应的存储节点建立连接。
此外,第一虚拟驱动设备还可以从存储节点获取文件目录的元数据信息等。
705:虚拟机响应于启动指令,在物理主机中创建与第一虚拟驱动设备对应的第二虚拟驱动设备。
706:第二虚拟驱动设备从第一虚拟驱动设备同步获得文件目录。
707:虚拟机挂载所述第二虚拟驱动设备,以将文件目录挂载至目标目录。
708:虚拟机检测针对所述目标目录的访问操作,向第二虚拟驱动设备发送访问指令。
709:第二虚拟驱动设备基于访问指令,向第一虚拟驱动设备发送访问请求。
710:第一虚拟驱动设备基于访问请求,向网络存储系统发送访问报文,以访问所述存储节点中的文件目录。
其中,该访问报文可以为RDMA报文。
711:存储节点基于访问结果,生成响应报文,并将响应报文经由第二虚拟驱动设备以及第一虚拟驱动设备反馈至虚拟机。
与该实施例有关步骤所执行的具体内容已在前述实施例详细描述,其具体的执行步骤、内容可以参考前述实施例的描述在此不再赘述。
本实施例中,存储客户端可以在DPU中创建第一虚拟驱动设备,第一虚拟驱动设备基于存储地址,可以与对应的存储节点建立RDMA连接,然后虚拟机在物理主机中创建与检测到的第一虚拟驱动设备对应的第二虚拟驱动设备,由第二虚拟驱动设备将文件目录挂载至目标目录,虚拟机便可通过第二虚拟驱动设备以及第一虚拟驱动设备从存储节点中访问文件目录。由于物理主机与网络存储系统处于同一物理网络中,所以无需经由网关进行转换,借助第一虚拟驱动设备和第二虚拟驱动设备即可以实现对网络存储系统的访问,从而提高了对网络存储系统的访问效率。
图8为本申请提供的一种访问处理装置一个实施例的结构图,该装置可以实现为上文所描述的存储客户端,该装置可以包括:
第一节点确定模块801:用于根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点。
第一设备创建模块802:用于在物理主机中创建第一虚拟驱动设备,并控制所述第一虚拟驱动设备连接所述存储节点。
其中,所述文件目录用以通过第二虚拟驱动设备挂载至所述虚拟机的目标目录,以使得所述虚拟机基于所述第一虚拟驱动设备以及所述第二虚拟驱动设备通过所述目标目录从所述存储节点中访问所述文件目录;所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建,并从所述第一虚拟驱动设备同步获得所述文件目录。
一些实施例中,第一节点确定模块801可以具体是:根据虚拟机创建请求中包含的文件目录,从网络存储系统中确定对应的存储节点;所述虚拟机创建请求用以在所述物理主机中创建对应虚拟机。
一些实施例中,第一节点确定模块801可以具体是:根据虚拟机请求访问的文件目录,从网络存储系统中查找是否存在提供所述文件目录的存储节点;若是,获取所述存储节点的存储地址;若否,选择任意存储节点以创建所述文件目录,并获取所述存储节点的存储地址;其中,所述存储地址用于指示所述第一虚拟驱动设备连接至对应的存储节点。
一些实施例中,第一设备创建模块802在物理主机中创建第一虚拟驱动设备可以具体是:在所述物理主机的数据处理单元DPU中创建第一虚拟驱动设备。
一些实施例中,所述网络存储系统可以为网络附属存储NAS系统。
一些实施例中,第一节点确定模块801可以具体是:根据虚拟机请求访问的文件目录,从已保存的元数据信息中查找是否存在所述文件目录对应的存储节点;若是,获取所述存储节点的存储地址;若否,选择任意存储节点以创建所述文件目录,并获取所述文件目录的元数据信息。
图8所述的访问处理装置可以执行图2所示实施例所述的访问处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的访问处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9为本申请提供的一种访问处理装置又一个实施例的结构图,该装置可以实现为上文所描述的第一虚拟驱动设备,该装置可以包括:
连接建立模块901:用于第一虚拟驱动设备与网络存储系统中虚拟机对应的存储节点建立连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定。
目录同步模块902:用于将所述文件目录同步至第二虚拟驱动设备;其中,所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建;所述文件目录用以通过所述第二虚拟驱动设备挂载至所述虚拟机的目标目录。
目录访问模块903:用于基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点中访问所述文件目录。
其中,所述访问请求可以为所述第二虚拟驱动设备接收到所述虚拟机的访问指令而生成;所述访问指令可以为所述虚拟机基于针对所述目标目录的访问操作而生成。
一些实施例中,连接建立模块901可以具体是:基于存储客户端提供的存储地址,连接所述存储地址对应的存储节点;所述存储地址为所述存储客户端根据虚拟机请求访问的文件目录,从所述网络存储系统查找获得。
一些实施例中,该装置还可以包括信息获取模块:用于从所述存储节点获取所述文件目录的元数据信息;其中,目录访问模块903可以具体是:基于所述第二虚拟驱动设备生成的访问请求,按照所述元数据信息向所述网络存储系统发送访问报文,以访问所述存储节点中的所述文件目录。
一些实施例中,连接建立模块901可以具体是:与网络存储系统中虚拟机对应的存储节点建立RDMA连接;所述基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点访问所述文件目录包括:基于所述第二虚拟驱动设备生成的访问请求,生成RDMA访问报文;将所述RDMA访问报文发送至所述网络存储系统,以访问所述存储节点中的所述文件目录。
一些实施例中,目录访问模块903可以具体是:以所述第二虚拟驱动设备在所述虚拟机中申请的共享内存作为数据缓存,基于所述第二虚拟驱动设备生成的访问请求,向所述存储节点发送访问报文以访问所述文件目录。其中,所述以所述第二虚拟驱动设备在所述虚拟机中申请的共享内存作为数据缓存,基于所述第二虚拟驱动设备生成的访问请求,向所述存储节点发送访问报文以访问所述文件目录可以包括:在所述第二虚拟驱动设备生成的访问请求为读请求时,基于所述共享内容的内存地址,向所述存储节点发送访问报文,以读取所述文件目录中的第一数据;将所述第一数据写入所述内存地址对应的共享内存;在所述访问请求为写请求时,从所述共享内存获取所述第一虚拟驱动设备写入的第二数据;向所述存储节点发送包括所述第二数据的访问报文,以将所述第二数据写入所述文件目录。
一些实施例中,该装置还可以包括地址获取模块:用于申请内存地址,并将所述内存地址映射至所述共享内存,以基于所述内存地址访问所述共享内存;或者:通过缓存一致性总线获取所述共享内存的内存地址。
图9所述的访问处理装置可以执行图3所示实施例所述的访问处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的访问处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10为本申请提供的一种访问处理装置又一个实施例的结构图,该装置可以实现为上文所描述的虚拟机,该装置可以包括:
第二设备创建模块1001:用于在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备;所述第一虚拟驱动设备与所述虚拟机对应的存储节点连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定。
设备挂载模块1002:用于挂载所述第二虚拟驱动设备,以将所述第二虚拟驱动设备从所述第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
操作检测模块1003:用于检测针对所述目标目录的访问操作。
指令发送模块1004:用于向第二虚拟驱动设备发送访问指令,以利用所述第二虚拟驱动设备以及所述第一虚拟驱动设备从所述存储节点中访问所述文件目录。
一些实施例中,第二设备创建模块1001可以具体是:响应于启动指令,检测到所述物理主机存在所述第一虚拟驱动设备,创建对应的第二虚拟驱动设备。
一些实施例中,设备挂载模块1002挂载所述第二虚拟驱动设备可以具体是:接收到挂载命令,挂载所述第二虚拟驱动设备,以将所述第二虚拟驱动设备从所述第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
一些实施例中,设备挂载模块1002可以具体是:通过VFS系统,基于FUSE协议,挂载所述第二虚拟驱动设备,以将所述第二虚拟驱动设备从所述第一虚拟驱动设备同步获得的文件目录挂载至目标目录。
图10所述的访问处理装置可以执行图4所示实施例所述的访问处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的访问处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11为本申请提供的一种访问处理装置又一个实施例的结构图,该装置可以实现为上文所描述的第二虚拟驱动设备,该装置可以包括:
目录获取模块1101:用于从所述第一虚拟驱动设备同步获得虚拟机请求访问的文件目录;其中,所述文件目录为所述第一虚拟驱动设备与所述文件目录对应的存储节点建立连接之后获得;其中,所述文件目录用以挂载至所述虚拟机的目标目录。
请求发送模块1102:用于接收到所述虚拟机发送的访问指令,向所述第一虚拟驱动设备发送访问请求,以经由所述第一虚拟驱动设备从所述存储节点访问所述文件目录。
一些实施例中,该装置还可以包括内存申请模块:用于在所述虚拟机中申请共享内存;其中,请求发送模块1102接收到所述虚拟机发送的访问指令后可以具体是:将所述共享内容作为数据缓存,向所述第一虚拟驱动设备发送访问请求。
一些实施例中,请求发送模块1102可以具体是:将所述共享内存作为数据缓存,向第一虚拟驱动设备发送访问请求。在所述访问指令为读指令,向第一虚拟驱动设备发送读请求,以供所述第一虚拟驱动设备从所述存储节点中的所述文件目录中读取第一数据,并将所述第一写入所述共享内存;在所述访问指令为写指令,将第二数据写入所述共享内存,并所述向第一虚拟驱动设备发送写请求,以供所述第一虚拟驱动设备从所述共享内存中获取所述第二数据,并将所述第二数据写入所述文件目录。
图11所述的访问处理装置可以执行图5所示实施例所述的访问处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的访问处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12为本申请提供的一种访问处理装置又一个实施例的结构图,该装置可以实现为上文所描述的网络存储系统,该装置可以包括:
指令接收模块1201:用于接收存储客户端发送的控制指令;所述控制指令包括虚拟机请求访问的文件目录。
第二节点确定模块1202:用于确定所述文件目录对应的存储节点。
节点反馈模块1203:用于将所述存储节点的存储地址反馈至所述存储客户端;所述存储地址用于指示所述存储客户端在物理主机创建的第一虚拟驱动设备与所述存储节点建立连接。
一些实施例中,第二节点确定模块1202可以具体是:查找是否存在提供所述文件目录的存储节点;若否,选择符合创建要求的存储节点,创建所述文件目录。
一些实施例中,所述控制指令可以为所述存储客户端确定所述网络存储系统未存在所述文件目录的情况下生成;第二节点确定模块1202可以具体是:选择符合创建要求的存储节点,创建所述文件目录。该装置还可以包括信息反馈模块:用于将所述文件目录的元数据信息反馈至所述存储客户端;所述元数据信息用于查找所述网络存储系统是否存在所述文件目录。
图12所述的访问处理装置可以执行图6所示实施例所述的访问处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的访问处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13为本申请提供的一种计算机设备一个实施例的结构图,该设备可以包括处理组件1301及存储组件1302;所述存储组件1302存储一条或多条计算机指令;所述一个或多个计算机指令用以被所述处理组件1301调用执行,以运行存储客户端实现图2所述实施例的访问处理方法,以及创建并运行第一虚拟驱动设备实现图3所述实施例的访问处理方法,以及创建并运行虚拟机实现图4所述实施例的访问处理方法,以及创建并运行第二虚拟驱动设备实现图5所述实施例的访问处理方法。
其中,处理组件可以包括至少一个CPU以及至少一个DPU;
所述至少一个CPU可以具体用以创建并运行虚拟机以及创建并运行第二驱动设备;
所述至少一个DPU可以具体运行存储客户端。
当然,该计算机设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
其中,输入/输出接口可以为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
此外,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图2所示实施例的访问处理方法,或者图3所示实施例的访问处理方法,或者图4所示实施例的访问处理方法,或者图5所示实施例的访问处理方法,该计算机可读介质可以是上述实施例中描述的计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
此外,本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时可以实现如上述图2所示实施例的访问处理方法,或者图3所示实施例的访问处理方法,或者图4所示实施例的访问处理方法,或者图5所示实施例的访问处理方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
图14为本申请提供的一种计算机设备一个实施例的结构图,该设备可以包括处理组件1401及存储组件1402;所述存储组件1402存储一条或多条计算机指令;所述一个或多个计算机指令用以被所述处理组件1401调用执行,以实现图6所述实施例的访问处理方法。
当然,该计算机设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
其中,输入/输出接口可以为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中,处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。
需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。
此外,本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图6所示实施例的访问处理方法,该计算机可读介质可以是上述实施例中描述的计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
此外,本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时可以实现如上述如图6所示实施例的数据访问方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (14)
1.一种访问处理方法,其特征在于,包括:
根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点;
在物理主机中创建第一虚拟驱动设备,并控制所述第一虚拟驱动设备连接所述存储节点;
其中,所述文件目录用以通过第二虚拟驱动设备挂载至所述虚拟机的目标目录,以使得所述虚拟机基于所述第一虚拟驱动设备以及所述第二虚拟驱动设备通过所述目标目录从所述存储节点中访问所述文件目录;所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建,并从所述第一虚拟驱动设备同步获得所述文件目录。
2.根据权利要求1所述的方法,其特征在于,所述根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点包括:
根据虚拟机创建请求中包含的文件目录,从网络存储系统中确定对应的存储节点;所述虚拟机创建请求用以在所述物理主机中创建对应虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述根据虚拟机请求访问的文件目录,从网络存储系统中确定对应的存储节点包括:
根据虚拟机请求访问的文件目录,从网络存储系统中查找是否存在提供所述文件目录的存储节点;
若是,获取所述存储节点的存储地址;
若否,选择任意存储节点以创建所述文件目录,并获取所述存储节点的存储地址;
其中,所述存储地址用于指示所述第一虚拟驱动设备连接至对应的存储节点。
4.根据权利要求1所述的方法,其特征在于,所述在物理主机中创建第一虚拟驱动设备包括:
在所述物理主机的数据处理单元DPU中创建第一虚拟驱动设备。
5.一种访问处理方法,其特征在于,包括:
第一虚拟驱动设备与网络存储系统中虚拟机对应的存储节点建立连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定;
将所述文件目录同步至第二虚拟驱动设备;其中,所述第二虚拟驱动设备为对应所述第一虚拟驱动设备在所述虚拟机中创建;所述文件目录用以通过所述第二虚拟驱动设备挂载至所述虚拟机的目标目录;
基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点中访问所述文件目录;
其中,所述访问请求为所述第二虚拟驱动设备接收到所述虚拟机的访问指令而生成;所述访问指令为所述虚拟机基于针对所述目标目录的访问操作而生成。
6.根据权利要求5所述的方法,其特征在于,所述与网络存储系统中虚拟机对应的存储节点建立连接包括:
与网络存储系统中虚拟机对应的存储节点建立RDMA连接;
所述基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点访问所述文件目录包括:
基于所述第二虚拟驱动设备生成的访问请求,生成RDMA访问报文;
将所述RDMA访问报文发送至所述网络存储系统,以访问所述存储节点中的所述文件目录。
7.根据权利要求5所述的方法,其特征在于,所述基于所述第二虚拟驱动设备生成的访问请求,从所述存储节点中访问所述文件目录包括:
以所述第二虚拟驱动设备在所述虚拟机中申请的共享内存作为数据缓存,基于所述第二虚拟驱动设备生成的访问请求,向所述存储节点发送访问报文以访问所述文件目录。
8.一种访问处理方法,其特征在于,包括:
在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备;所述第一虚拟驱动设备与所述虚拟机对应的存储节点连接;所述存储节点基于所述虚拟机请求访问的文件目录所确定;
挂载所述第二虚拟驱动设备,以将所述第二虚拟驱动设备从所述第一虚拟驱动设备同步获得的文件目录挂载至目标目录;
检测针对所述目标目录的访问操作;
向第二虚拟驱动设备发送访问指令,以利用所述第二虚拟驱动设备以及所述第一虚拟驱动设备从所述存储节点中访问所述文件目录。
9.根据权利要求8所述的方法,其特征在于,所述在虚拟机中创建与物理主机中的第一虚拟驱动设备对应的第二虚拟驱动设备包括:
响应于启动指令,检测到所述物理主机存在所述第一虚拟驱动设备,创建对应的第二虚拟驱动设备。
10.一种访问处理方法,其特征在于,包括:
从第一虚拟驱动设备同步获得虚拟机请求访问的文件目录;其中,所述文件目录为所述第一虚拟驱动设备与所述文件目录对应的存储节点建立连接之后获得;其中,所述文件目录用以挂载至所述虚拟机的目标目录;
接收到所述虚拟机发送的访问指令,向所述第一虚拟驱动设备发送访问请求,以经由所述第一虚拟驱动设备从所述存储节点访问所述文件目录。
11.根据权利要求10所述的方法,其特征在于,还包括:
在所述虚拟机中申请共享内存;
所述向所述第一虚拟驱动设备发送访问请求包括:
将所述共享内容作为数据缓存,向所述第一虚拟驱动设备发送访问请求。
12.一种访问处理方法,其特征在于,包括:
接收存储客户端发送的控制指令;所述控制指令包括虚拟机请求访问的文件目录;
确定所述文件目录对应的存储节点;
将所述存储节点的存储地址反馈至所述存储客户端;所述存储地址用于指示所述存储客户端在物理主机创建的第一虚拟驱动设备与所述存储节点建立连接。
13.根据权利要求12所述的方法,其特征在于,所述控制指令为所述存储客户端确定网络存储系统未存在所述文件目录的情况下生成;
所述确定所述文件目录对应的存储节点包括:
选择符合创建要求的存储节点,创建所述文件目录;
所述方法还包括:
将所述文件目录的元数据信息反馈至所述存储客户端;所述元数据信息用于查找所述网络存储系统是否存在所述文件目录。
14.一种计算机设备,其特征在于,包括处理组件及存储组件;所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行,以运行存储客户端实现如权利要求1~4任意一项所述的访问处理方法,以及创建并运行第一虚拟驱动设备以实现如权利要求5~7任意一项所述的访问处理方法,以及创建并运行虚拟机以实现权利要求8~9任意一项所述的访问处理方法,以及创建并运行第二虚拟驱动设备以实现权利要求10~11任意一项所述的访问处理方法;或者,实现如权利要求12~13任意一项所述的访问处理方法;
其中,所述处理组件包括至少一个CPU以及至少一个DPU;
所述至少一个CPU具体用以创建并运行所述虚拟机以及创建并运行所述第二驱动设备;
所述至少一个DPU具体运行存储客户端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210893995.3A CN115309545A (zh) | 2022-07-27 | 2022-07-27 | 访问处理方法及计算机设备 |
PCT/CN2023/109432 WO2024022409A1 (zh) | 2022-07-27 | 2023-07-26 | 访问处理方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210893995.3A CN115309545A (zh) | 2022-07-27 | 2022-07-27 | 访问处理方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115309545A true CN115309545A (zh) | 2022-11-08 |
Family
ID=83859612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210893995.3A Pending CN115309545A (zh) | 2022-07-27 | 2022-07-27 | 访问处理方法及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115309545A (zh) |
WO (1) | WO2024022409A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022409A1 (zh) * | 2022-07-27 | 2024-02-01 | 阿里巴巴(中国)有限公司 | 访问处理方法及计算机设备 |
CN117560408A (zh) * | 2023-11-06 | 2024-02-13 | 中科驭数(北京)科技有限公司 | 用于dpu的文件系统远程访问方法及装置 |
CN118264617A (zh) * | 2024-05-31 | 2024-06-28 | 济南浪潮数据技术有限公司 | 一种重叠网络数据传输方法、系统、设备及存储介质 |
WO2024198534A1 (zh) * | 2023-03-27 | 2024-10-03 | 华为技术有限公司 | 访问方法、存储节点及数据中心 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118550769A (zh) * | 2024-07-24 | 2024-08-27 | 长春吉大正元信息技术股份有限公司 | 基于虚拟化场景的双机热备实现方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878457B (zh) * | 2017-03-24 | 2019-11-29 | 网宿科技股份有限公司 | 分布式网络附属存储方法及系统 |
CN108390927B (zh) * | 2018-02-09 | 2020-11-20 | 山东乾云启创信息科技股份有限公司 | 一种在客户机与虚拟机之间双向传输文件的方法及装置 |
CN113961520A (zh) * | 2021-10-22 | 2022-01-21 | 杭州安恒信息技术股份有限公司 | 动态文件挂载方法、系统、计算机设备及可读存储介质 |
CN114489945A (zh) * | 2022-01-25 | 2022-05-13 | 联想(北京)有限公司 | 访问控制方法和电子设备 |
CN114675932A (zh) * | 2022-03-29 | 2022-06-28 | 浪潮云信息技术股份公司 | 一种安全挂载分布式文件系统的系统及方法 |
CN115309545A (zh) * | 2022-07-27 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 访问处理方法及计算机设备 |
-
2022
- 2022-07-27 CN CN202210893995.3A patent/CN115309545A/zh active Pending
-
2023
- 2023-07-26 WO PCT/CN2023/109432 patent/WO2024022409A1/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022409A1 (zh) * | 2022-07-27 | 2024-02-01 | 阿里巴巴(中国)有限公司 | 访问处理方法及计算机设备 |
WO2024198534A1 (zh) * | 2023-03-27 | 2024-10-03 | 华为技术有限公司 | 访问方法、存储节点及数据中心 |
CN117560408A (zh) * | 2023-11-06 | 2024-02-13 | 中科驭数(北京)科技有限公司 | 用于dpu的文件系统远程访问方法及装置 |
CN117560408B (zh) * | 2023-11-06 | 2024-10-18 | 中科驭数(北京)科技有限公司 | 用于dpu的文件系统远程访问方法及装置 |
CN118264617A (zh) * | 2024-05-31 | 2024-06-28 | 济南浪潮数据技术有限公司 | 一种重叠网络数据传输方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024022409A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115309545A (zh) | 访问处理方法及计算机设备 | |
US10341251B2 (en) | Method and system for securely transmitting volumes into cloud | |
CN113614697B (zh) | 减少无服务器函数启动延迟的机制 | |
US10880232B1 (en) | Availability groups of cloud provider edge locations | |
US9525592B2 (en) | Client/server network environment setup method and system | |
US20210168052A1 (en) | Multi-carrier access to provider substrate extensions | |
US10148736B1 (en) | Executing parallel jobs with message passing on compute clusters | |
CN106933648B (zh) | 用于多租户容器资源管理的方法和系统 | |
US12106132B2 (en) | Provider network service extensions | |
CN107547250A (zh) | 在云计算管理平台中部署数据库的方法和装置 | |
EP3117314B1 (en) | Method and system for securely transmitting volumes into cloud | |
US11714674B2 (en) | Data mobility for immobile storage services | |
CN106598692A (zh) | 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器 | |
CN106817388B (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
US11055108B2 (en) | Network booting in a peer-to-peer environment using dynamic magnet links | |
US10742489B2 (en) | Validating network configuration using shadow databases | |
CN113741952A (zh) | 一种软件包管理方法、装置、设备及介质 | |
CN114115912A (zh) | 基于云手机的应用安装方法、云平台及相关设备 | |
CN112597406A (zh) | 一种文件传输方法、装置、终端设备及存储介质 | |
US12001859B1 (en) | Driver plugin wrapper for container orchestration systems | |
US11907173B1 (en) | Composable network-storage-based file systems | |
CN113222174B (zh) | 模型管理方法及装置 | |
US11363113B1 (en) | Dynamic micro-region formation for service provider network independent edge locations | |
CN115623081A (zh) | 数据下载方法、上传方法及分布式存储系统 | |
US11789825B2 (en) | Hashing information of an input/output (I/O) request against a plurality of gateway nodes |
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 |