一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种安全挂载分布式文件系统的系统及方法与流程

2022-06-29 20:01:51 来源:中国专利 TAG:


1.本发明涉及云计算技术领域,特别是涉及一种安全挂载分布式文件系统的系统以及一种安全挂载分布式文件系统的方法。


背景技术:

2.hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做vmm(virtual machine monitor),即虚拟机监视器。hypervisor是所有虚拟化技术的核心,根据hypervisor的不同,将虚拟化分为i型虚拟化和ii型虚拟化。其中i型虚拟化为虚拟机直接运行在系统硬件上,创建硬件全仿真实例,被称为“裸机”型;ii型虚拟化为虚拟机运行在传统操作系统上,创建硬件全仿真实例,被称为“托管(宿主)”型。托管型/主机型hypervisor运行在基础操作系统上,构建出一整套虚拟硬件平台,包括cpu、内存,以及网卡、硬盘等外设,使用者根据需要安装guest操作系统和应用软件,host底层和guest层的操作系统可以完全无关化,如windows运行linux操作系统。目前,主流的ii型虚拟化hypervisor有kvm qemu、virtual pc等。
3.cephfs是一个支持posix(可移植操作系统接口)接口的文件系统,它使用ceph存储集群来存储数据,将文件系统的元数据与数据分离管理与存储。cephfs构建在rados之上,继承rados的容错性和扩展性,支持荣誉副本和数据高可靠性。目前,虚拟化环境虚拟机使用cephfs文件系统的方法要么存在巨大的安全风险,要么网络拓扑复杂,要么集成度不高,不方便管理维护。所以如何提供一种结构简单且安全性高的安全挂载分布式文件系统的技术方案是本领域技术人员急需解决的问题。


技术实现要素:

4.本发明的目的是提供一种安全挂载分布式文件系统的系统,其结构简单且安全性高;本发明的另一目的在于提供一种安全挂载分布式文件系统的方法,其系统结构简单且安全性高。
5.为解决上述技术问题,本发明提供一种安全挂载分布式文件系统的系统,包括vfs层、驱动层和虚拟机监视器层;所述驱动层包括相互通信连接的前端驱动和后端驱动,所述虚拟机监视器层建立有客户端;
6.所述vfs层与所述前端驱动位于guest端,所述vfs层挂载有所述客户端对应分布式集群的文件系统,所述前端驱动用于驱动所述vfs层;
7.所述后端驱动与所述虚拟机监视器层位于host端,所述后端驱动用于驱动所述客户端,所述客户端与所述分布式集群直接通信连接,所述虚拟机监视器层向所述guest端屏蔽所述分布式集群的认证信息。
8.可选的,还包括位于所述host端的动态管理模块,所述动态管理模块通过动态挂载或动态卸载所述文件系统。
9.可选的,所述分布式集群为ceph集群、所述客户端为cephfs客户端、所述后端驱动
为virtio-cephfs后端驱动、所述前端驱动为virtio-cephfs前端驱动、所述文件系统为cephfs文件系统。
10.可选的,所述文件系统为vfs层依据虚拟机监视器层上报的挂载点所挂载的文件系统。
11.可选的,所述挂载点为cephfs文件系统标识标签。
12.可选的,所述动态管理模块用于:
13.当动态挂载所述文件系统时,触发所述客户端接入所述分布式集群,使能所述后端驱动发起所述挂载点的注册中断,完成所述文件系统的动态挂载。
14.可选的,所述动态管理模块用于:
15.当动态卸载所述文件系统时,触发所述客户端关闭与所述分布式集群的通信连接,使能所述后端驱动发起所述挂载点的释放中断,完成所述文件系统的动态卸载。
16.可选的,所述前端驱动与所述后端驱动使用同一共享内存。
17.本发明还提供了一种安全挂载分布式文件系统的方法,包括:
18.在host端的虚拟机监视器中建立客户端,使所述客户端与分布式集群直接通信连接;
19.在guest端的vfs层中挂载所述分布式集群的文件系统;
20.通过前端驱动和后端驱动建立所述文件系统与所述客户端之间的通信连接;驱动层包括相互通信连接的前端驱动和后端驱动,所述前端驱动位于所述guest端,所述前端驱动用于驱动所述vfs层;所述后端驱动位于所述host端,所述后端驱动用于驱动所述客户端,所述虚拟机监视器层向所述guest屏蔽所述分布式集群的认证信息。
21.可选的,还包括:
22.通过动态管理模块动态挂载或动态卸载所述文件系统。
23.本发明所提供的一种安全挂载分布式文件系统的系统,包括vfs层、驱动层和虚拟机监视器层;驱动层包括相互通信连接的前端驱动和后端驱动,虚拟机监视器层建立有客户端;vfs层与前端驱动位于guest端,vfs层挂载有客户端对应分布式集群的文件系统,前端驱动用于驱动vfs层;后端驱动与虚拟机监视器层位于host端,后端驱动用于驱动客户端,客户端与分布式集群直接通信连接,虚拟机监视器层向guest端客户端屏蔽分布式集群的认证信息。
24.通过将ii型虚拟化中的虚拟机监视器改造为用户态客户端,直接与分布式集群建立网络通信,将文件系统动态注册在guest端中的vfs层,在虚拟机监视器层屏蔽分布式集群的认证信息,具有高安全性,同时其结构简单,可以仅使用较少的资源实现数据的读写功能,方便管理维护。
25.本发明还提供了一种安全挂载分布式文件系统的方法,同样具有上述有益效果,在此不再进行赘述。
附图说明
26.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其他的附图。
27.图1为本发明实施例所提供的一种安全挂载分布式文件系统的系统的系统架构图;
28.图2为本发明实施例所提供的一种安全挂载分布式文件系统的系统的部署架构图;
29.图3为本发明实施例所提供的一种安全挂载分布式文件系统的方法的流程图。
30.图中:1.vfs层、2.驱动层、3.客户端。
具体实施方式
31.本发明的核心是提供一种安全挂载分布式文件系统的系统。在现有技术中,目前,虚拟化环境虚拟机使用cephfs文件系统的方法主要有三种:第一种,直接使用法,guest系统作为cephfs的客户端,可通过ceph-fuse或者ceph内核模块直接访问cephfs集群,这种使用方法,将底层ceph集群认证信息直接暴露给租户访问,并且要求租户虚拟机与ceph网络互通,存在巨大的安全风险,因此,云平台厂商无法使用该方法。第二种,nfs协议转换间接使用法,nfs-ganesha是一款基于nfs的开源文件服务器,支持多种存储后端。通过nfs-ganesha将cephfs导出为nfs,在虚拟机内部使用nfs客户端挂载nfs-ganesha导出的nfs,间接使用cephfs。该方法是目前的主流方式。该方法虚拟机访问nfs-ganesha服务,nfs-ganesha服务再对接cephfs集群,中间媒介nfs-ganesha服务器的存在,增加了软件栈、资源消耗与运维成本;网络路径长,且要求虚拟机网络与nfs-ganesha服务网络可达,网络拓扑复杂,不增加运维成本;存在网络路径长、nfs-ganesha协议转换消耗等问题,影响数据读写性能。第三种,宿主机目录挂载间接使用法,宿主机使用内核方式挂载cephfs文件系统到本地目录,虚拟机使用9pfs、virtiofs等协议访问本地目录,间接使用cephfs文件系统;该方法只支持在guest启动时挂载文件系统,不支持动态挂载与卸载;并且,该方法涉及的9pfs协议,转换效率很低,文件系统读写性能不足;virtiofs协议要求宿主机部署virtio-fsd程序,guest安装virtio-fs文件系统与virtio-fs驱动程序,依赖多,集成度不高,不方便管理维护。
32.而本发明所提供的一种安全挂载分布式文件系统的系统,包括vfs层、驱动层和虚拟机监视器层;驱动层包括相互通信连接的前端驱动和后端驱动,虚拟机监视器层建立有客户端;vfs层与前端驱动位于guest端,vfs层挂载有客户端对应分布式集群的文件系统,前端驱动用于驱动vfs层;后端驱动与虚拟机监视器层位于host端,后端驱动用于驱动客户端,客户端与分布式集群直接通信连接,虚拟机监视器层向guest端客户端屏蔽分布式集群的认证信息。
33.通过将ii型虚拟化中的虚拟机监视器改造为用户态客户端,直接与分布式集群建立网络通信,将文件系统动态注册在guest端中的vfs层,在虚拟机监视器层屏蔽分布式集群的认证信息,具有高安全性,同时其结构简单,可以仅使用较少的资源实现数据的读写功能,方便管理维护。
34.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提
下所获得的所有其他实施例,都属于本发明保护的范围。
35.请参考图1以及图2,图1为本发明实施例所提供的一种安全挂载分布式文件系统的系统的系统架构图;图2为本发明实施例所提供的一种安全挂载分布式文件系统的系统的部署架构图。
36.参见图1以及图2,在本发明实施例中,安全挂载分布式文件系统的系统包括vfs层1、驱动层2和虚拟机监视器层;所述驱动层2包括相互通信连接的前端驱动和后端驱动,所述虚拟机监视器层建立有客户端3;所述vfs层1与所述前端驱动位于guest端,所述vfs层1挂载有所述客户端3对应分布式集群的文件系统,所述前端驱动用于驱动所述vfs层1;所述后端驱动与所述虚拟机监视器层位于host端,所述后端驱动用于驱动所述客户端3,所述客户端3与所述分布式集群直接通信连接,所述虚拟机监视器层向所述guest屏蔽所述分布式集群的认证信息。
37.在实体结构中,本发明实施例会在各个宿主机中虚拟出各个虚机,以及与各个虚机对应的ii型虚拟化的虚拟机监视器层hypervisor,即ii hypervisor,之后会在该虚拟机监视器层建立对应的客户端3,通过其对应宿主机的网卡与分布式集群直接通信。而对于系统架构来说,本发明实施例所提供的一种安全挂载分布式文件系统的系统共分为三层,其分别为vfs层1、驱动层2和虚拟机监视器层。其中驱动层2包括相互通信连接的前端驱动和后端驱动,分别设置在guest端以及host端,实现驱动功能;而虚拟机监视器层建立有客户端3。
38.在guest端的操作系统vfs层1,即virtio-cephfs挂载有上述客户端3对应分布式集群的文件系统,例如cephfs文件系统,从而便于用户在guest端进行操作。具体的,在本发明实施例中具体需要在guest内核增加一种virtio-cephfs文件系统类型,将远端的cephfs文件系统映射为guest端中的virtio-cephfs文件系统,供用户使用。而上述前端驱动通常位于guest操作系统内核模块,其主要为vfs层1的文件系统提供底层驱动,即提供底层接口支持,实现数据的读写等操作。
39.在host端,通常具体在虚拟机监视器层,即hypervisor中实现后端驱动,该后端驱动首先需要与上述位于guest端中的前端驱动进行数据交互。具体的,当上述前端驱动响应vfs层1的数据读写请求后,会转交上述后端驱动,进行后续的数据读写操作。
40.上述在hypervisor中建立的客户端3会直接与分布式集群通信连接,上述后端驱动还需要与在虚拟机监视器层建立的客户端3进行交互,其在接收到前端驱动发送的读写请求后,需要转换为对应的接口进行调用,例如转换为libcephfs库接口调用,从而将该请求发送至虚拟机监视器层建立的客户端3,使其直接与分布式集群进行通信,完成该请求。
41.在本发明实施例中虚拟机监视器层会向guest端屏蔽所述分布式集群的认证信息,该认证信息包括分布式集群的ip地址与端口号,以及认证使用的用户名和keyring(类似于秘钥)等信息,实现guest端的安全访问。
42.具体的,在本发明实施例中,所述分布式集群为ceph集群、所述客户端3为cephfs客户端3、所述后端驱动为virtio-cephfs后端驱动、所述前端驱动为virtio-cephfs前端驱动、所述文件系统为cephfs文件系统。即本发明实施例所提供的系统具体针对的cephfs所建立的系统,cephfs是一个支持posix接口的文件系统,它使用ceph存储集群来存储数据,其将文件系统的元数据与数据分离管理与存储,从而便于在vfs层1挂载cephfs文件系统。
43.具体的,在本发明实施例中所述文件系统为vfs层1依据虚拟机监视器层上报的挂载点所挂载的文件系统。即在实际过程中,上述虚拟机监视器层会首先上报一挂载点,该挂载点会对应一文件系统。而通过上述驱动层2数据的传输可以将该挂载点上传至vfs层1,从而映射出对应而定文件系统。此时,vfs层1的映射依据为虚拟机监视器层上报的挂载点。
44.进一步的,在本发明实施例中所述挂载点为cephfs文件系统标识标签。此时,guest端中使用到的文件系统唯一信息就是这个挂载点或者其标识标签,实现guest的安全访问。通常情况下,cephfs文件系统类似于ext4、virtio-fs等,支持posix协议,支持cephfs文件系统快照、配额等功能。
45.相应的,在本发明实施例中,虚拟机监视器层hypervisor可以使用libcephfs库与ceph集群认证信息,建立与cephfs集群的网络通信与数据交互,并且维护cephfs文件系统与guest端中该文件系统对应标识标签的一一映射关系。由于上述cephfs客户端3位于guest端之外,在虚拟机监视器层可以屏蔽ceph集群认证信息,具有天然的安全属性。
46.cephfs客户端3接收virtio-cephfs后端驱动的数据读写请求,使用libcephfs库接口与cephfs通信,从而完成真正意义上cephfs文件系统读写操作。
47.本发明实施例所提供的一种安全挂载分布式文件系统的系统,通过将ii型虚拟化中的虚拟机监视器改造为用户态客户端3,直接与分布式集群建立网络通信,将文件系统动态注册在guest端中的vfs层1,在虚拟机监视器层屏蔽分布式集群的认证信息,具有高安全性,同时其结构简单,可以仅使用较少的资源实现数据的读写功能,方便管理维护。
48.有关本发明所提供的一种安全挂载分布式文件系统的系统的具体内容将在下述发明实施例中做详细介绍。
49.区别于上述发明实施例,本发明实施例是在上述发明实施例的基础上,进一步对挂载点的相关内容进行限定。其余内容已在上述发明实施例中做详细介绍,在此不再进行赘述。
50.参见图1,在本发明实施例中,安全挂载分布式文件系统的系统还包括位于所述host端的动态管理模块,所述动态管理模块通过动态挂载或动态卸载所述文件系统。
51.上述动态管理模块通常设置于虚拟机监视器层,该动态管理模块主要用于实现上述文件系统的动态挂载与动态卸载。在本发明实施例中,动态管理模块通常需要与上述客户端3以及后端驱动进行通信,从而实现上述动态挂载与动态卸载功能。通常情况下,上述动态管理模块需要负责上述客户端3与分布式集群,例如cephfs客户端3与cephfs集群连接生命周期管理,包括创建连接、关闭连接等。负责文件系统,包括cephfs文件系统的动态挂载与卸载。
52.具体的,在本发明实施例中,所述动态管理模块用于:
53.当动态挂载所述文件系统时,触发所述客户端3接入所述分布式集群,使能所述后端驱动发起所述挂载点的注册中断,完成所述文件系统的动态挂载。
54.即在需要动态挂载文件系统时,动态管理模块首先需要触发客户端3接入分布式集群的操作,使能动态管理模块控制后端驱动发起挂载点的注册中断。即在guest端运行时,通过中断机制向前端驱动发送动态注册挂载点的中断信号,此时前端驱动可以响应后端驱动的中断请求,进行挂载点的动态注册,实现文件系统,包括cephfs文件系统的动态挂载功能。
55.具体的,在本发明实施例中,所述动态管理模块还可以用于:
56.当动态卸载所述文件系统时,触发所述客户端3关闭与所述分布式集群的通信连接,使能所述后端驱动发起所述挂载点的释放中断,完成所述文件系统的动态卸载。
57.即在需要动态卸载文件系统时,动态管理模块首先需要触发客户端3关闭与分布式集群的通信连接的操作,使能动态管理模块控制后端驱动发起挂载点的释放中断。即在guest端运行时,通过中断机制向前端驱动发送动态释放挂载点的中断信号,此时前端驱动可以响应后端驱动的中断请求,进行挂载点的动态释放,实现文件系统,包括cephfs文件系统的动态卸载功能。
58.而在guest端首次启动时,前端驱动负责guest端启动时远端文件系统挂载点的扫描与注册;相应的,后端驱动会负责响应guest端启动时前端驱动的扫描信号,并上报挂载点信息。在本发明实施例中,所述前端驱动与所述后端驱动可以使用同一共享内存。即在本发明实施例中具体使用共享内存机制,实现前端驱动与后端驱动之间高效的数据传输,提高文件系统的读写性能。
59.在本发明实施例中,guest端具体可以使用mount

t virtio-cephfs src-tag dest命令挂载远端的文件系统,供内部使用。其中src-tag为前端驱动扫描发现并注册的挂载点,其是一个用户自定义的挂载点字符串。
60.本发明实施例所提供的系统将ii型hypervisor改造为用户态cephfs客户端3,直接与cephfs建立网络通信,cephfs客户端3分散于不同的hypervisor宿主机,无单点问题;对于网络要求,只要求hypervisor宿主机与ceph集群网络互通,对虚拟机网络无要求,因此,只涉及物理网络,网络拓扑简单;网络路径不涉及虚拟网络,网络路径短,减少了网络时延与抖动对数据读写性能的影响。
61.下面对本发明实施例所提供的一种安全挂载分布式文件系统的方法进行介绍,下文描述的安全挂载分布式文件系统的方法与上文描述的安全挂载分布式文件系统的系统可相互对应参照。
62.请参考图3,图3为本发明实施例所提供的一种安全挂载分布式文件系统的方法的流程图。
63.参见图3,在本发明实施例中,安全挂载分布式文件系统的方法包括:
64.s101:在host端的虚拟机监视器中建立客户端,使客户端与分布式集群直接通信连接。
65.s102:在guest端的vfs层中挂载分布式集群的文件系统。
66.s103:通过前端驱动和后端驱动建立文件系统与客户端之间的通信连接。
67.在本发明实施例中,驱动层2包括相互通信连接的前端驱动和后端驱动,所述前端驱动位于所述guest端,所述前端驱动用于驱动所述vfs层1;所述后端驱动位于所述host端,所述后端驱动用于驱动所述客户端3,所述虚拟机监视器层向所述guest屏蔽所述分布式集群的认证信息。有关上述vfs层1、驱动层2和虚拟机监视器层的具体内容已在上述发明实施例中做详细介绍,在此不再进行赘述。
68.在本发明实施例中,会分别在host端的虚拟机监视器层建立客户端3以及后端驱动,在guest端中设置前端驱动,并在guest端的vfs层1挂载文件系统,通过将ii型虚拟化中的虚拟机监视器改造为用户态客户端3,直接与分布式集群建立网络通信,将文件系统动态
注册在guest端中的vfs层1,在虚拟机监视器层屏蔽分布式集群的认证信息,具有高安全性,同时其结构简单,可以仅使用较少的资源实现数据的读写功能,方便管理维护。
69.具体的,在本发明实施例中,一种安全挂载分布式文件系统的方法还可以包括:
70.s104:通过动态管理模块动态挂载或动态卸载所述文件系统。
71.有关动态管理模块的具体内容已在上述发明实施例中做详细介绍,在此不再进行赘述。
72.本实施例的方法用于实现前述的系统,因此上述方法中的具体实施方式可见前文中的系统的实施例部分,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
73.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
74.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
75.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
76.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
77.以上对本发明所提供的一种安全挂载分布式文件系统的系统以及一种安全挂载分布式文件系统的方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献