CN109033328A - A kind of access request processing method, device, equipment and readable storage medium storing program for executing - Google Patents
A kind of access request processing method, device, equipment and readable storage medium storing program for executing Download PDFInfo
- Publication number
- CN109033328A CN109033328A CN201810797720.3A CN201810797720A CN109033328A CN 109033328 A CN109033328 A CN 109033328A CN 201810797720 A CN201810797720 A CN 201810797720A CN 109033328 A CN109033328 A CN 109033328A
- Authority
- CN
- China
- Prior art keywords
- access request
- rbd
- nbd
- module
- nbdclient
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 239000011800 void material Substances 0.000 claims 2
- 238000004364 calculation method Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域technical field
本发明涉及存储技术领域,特别是涉及一种访问请求处理方法、装置、设备及可读存储介质。The present invention relates to the field of storage technology, in particular to an access request processing method, device, device and readable storage medium.
背景技术Background technique
rbd是个操纵rados块设备(RBD)映像的工具,QEMU/KVM通过Linuxrbd内核驱动和rbd存储驱动来使用。其中,RBD映像是简单的块设备,它被条带化成小块对象后存储于分布式存储系统(ceph)中的RADOS(Reliable,Autonomic Distributed Object Store)对象存储集群。rbd is a tool for manipulating rados block device (RBD) images. QEMU/KVM is used through the Linuxrbd kernel driver and rbd storage driver. Among them, the RBD image is a simple block device, which is striped into small objects and stored in the RADOS (Reliable, Autonomic Distributed Object Store) object storage cluster in the distributed storage system (ceph).
目前,使用内核的rbd访问ceph存储,当ceph较新、内核较旧时,可能会有一些image(image为存放图片的标签,形式为<image src=“图片的相对或者绝对路径”/>)的内核不支持,就不能map(java的一种集合类)。分布式存储需要在内核(kernel)实现librbd(librbd为ceph对外提供的块存储接口)所有功能,无法满足用户需求。At present, the rbd of the kernel is used to access the ceph storage. When the ceph is relatively new and the kernel is relatively old, there may be some images (image is the label for storing pictures, in the form of <image src="the relative or absolute path of the picture" />) If the kernel does not support it, it cannot map (a collection class of java). Distributed storage needs to implement all functions of librbd (librbd is the block storage interface provided by ceph) in the kernel (kernel), which cannot meet user needs.
综上所述,如何有效地提升rbd性能等问题,是目前本领域技术人员急需解决的技术问题。To sum up, how to effectively improve rbd performance and other issues is a technical issue urgently needed to be solved by those skilled in the art.
发明内容Contents of the invention
本发明的目的是提供一种访问请求处理方法、装置、设备及可读存储介质,以提高rbd的性能。The object of the present invention is to provide an access request processing method, device, device and readable storage medium, so as to improve the performance of rbd.
为解决上述技术问题,本发明提供如下技术方案:In order to solve the above technical problems, the present invention provides the following technical solutions:
一种访问请求处理方法,包括:A method for processing an access request, comprising:
获取对/dev/nbdx的访问请求;Obtain access requests to /dev/nbdx;
利用nbdkernel module中的nbdkernel thread将所述访问请求通过nsock发送给reader进程;Utilize the nbdkernel thread in the nbdkernel module to send the access request to the reader process through nsock;
所述reader进程调用librbd将所述访问请求发给分布式文件系统,以便所述分布式文件系统处理所述访问请求;The reader process calls librbd to send the access request to the distributed file system, so that the distributed file system processes the access request;
利用所述librbd进程接收所述分布式文件系统返回的响应,并利用writer进程将所述响应通过dsock发送给nbdclient,以便所述nbdclient处理响应。The librbd process is used to receive the response returned by the distributed file system, and the writer process is used to send the response to nbdclient through dsock, so that the nbdclient processes the response.
优选地,在所述获取对/dev/nbdx的访问请求之前,还包括:Preferably, before obtaining the access request to /dev/nbdx, it also includes:
配置kvm虚拟化环境,并利用virt-manager或者virt-install安装一个虚机;Configure the kvm virtualization environment, and use virt-manager or virt-install to install a virtual machine;
写入预设rbd-nbd驱动程序,启动libvirtd守护进程;Write the default rbd-nbd driver and start the libvirtd daemon;
修改所述虚机的xml文件,找到添加device项目使用分布式文件系统映射出来的块设备。Modify the xml file of the virtual machine, and find the block device mapped by the distributed file system in the added device project.
优选地,所述修改所述虚机的xml文件,包括:Preferably, the modification of the xml file of the virtual machine includes:
利用libvirt api接口写入rbd的存储模式入虚拟的xml文件,并且使其生效;Use the libvirt api interface to write the storage mode of rbd into the virtual xml file and make it take effect;
写入预设rbd-nbd配置模式入xml文件。Write the default rbd-nbd configuration mode into the xml file.
优选地,在安装好虚机之后,在修改所述虚机的xml文件之前,还包括:Preferably, after installing the virtual machine, before modifying the xml file of the virtual machine, it also includes:
在使用virsh命令行dump虚机的xml文件。Use the virsh command line to dump the xml file of the virtual machine.
优选地,在获取对/dev/nbdx的访问请求之前,还包括:Preferably, before obtaining the access request to /dev/nbdx, further include:
在nbdclient启动时,创建一个socketpair;其中,所述socketpair包括nsock,rsock;When nbdclient starts, create a socketpair; wherein, the socketpair includes nsock, rsock;
利用NBD_SET_SOCK ioctl接口将所述nsock传递给nbdkernel module;Use the NBD_SET_SOCK ioctl interface to pass the nsock to the nbdkernel module;
利用所述nbdkernel module创建nbd kernel thread;Use the nbdkernel module to create nbd kernel thread;
利用所述nbdclient创建nbdserver;Use the nbdclient to create nbdserver;
所述nbd server创建reader和writer;其中,所述reader监听所述rsock,所述nbdclient调用NBD_DO_IT ioct l接口进入kernel监听所述nsock。The nbd server creates a reader and a writer; wherein, the reader monitors the rsock, and the nbdclient invokes the NBD_DO_IT ioct l interface to enter the kernel to monitor the nsock.
一种访问请求处理装置,包括:An access request processing device, comprising:
访问请求获取模块,用于获取对/dev/nbdx的访问请求;An access request acquisition module, configured to acquire an access request to /dev/nbdx;
第一转移模块,用于利用nbdkernel module中的nbdkernel thread将所述访问请求通过nsock发送给reader进程;The first transfer module is used to send the access request to the reader process through nsock by using the nbdkernel thread in the nbdkernel module;
第二转移模块,用于所述reader进程调用librbd将所述访问请求发给分布式文件系统,以便所述分布式文件系统处理所述访问请求;The second transfer module is used for the reader process to call librbd to send the access request to the distributed file system, so that the distributed file system processes the access request;
处理模块,用于利用所述librbd进程接收所述分布式文件系统返回的响应,并利用writer进程将所述响应通过dsock发送给nbdclient,以便所述nbdclient处理响应。The processing module is configured to use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that the nbdclient can process the response.
优选地,还包括:Preferably, it also includes:
配置模块,用于在所述获取对/dev/nbdx的访问请求之前,配置kvm虚拟化环境,并利用virt-manager或者virt-install安装一个虚机;写入预设rbd-nbd驱动程序,启动libvirtd守护进程;修改所述虚机的xml文件,找到添加device项目使用分布式文件系统映射出来的块设备。The configuration module is used to configure the kvm virtualization environment before obtaining the access request to /dev/nbdx, and install a virtual machine using virt-manager or virt-install; write the preset rbd-nbd driver, start The libvirtd daemon process; modify the xml file of the virtual machine to find the block device mapped by the distributed file system using the added device item.
优选地,所述配置模块,具体用于利用libvirt api接口写入rbd的存储模式入虚拟的xml文件,并且使其生效;写入预设rbd-nbd配置模式入xml文件。Preferably, the configuration module is specifically configured to use the libvirt api interface to write the storage mode of rbd into a virtual xml file, and make it take effect; write the default rbd-nbd configuration mode into the xml file.
一种访问请求处理设备,包括:An access request processing device, comprising:
存储器,用于存储计算机程序;memory for storing computer programs;
处理器,用于执行所述计算机程序时实现上述访问请求处理方法的步骤。A processor configured to implement the steps of the access request processing method when executing the computer program.
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述访问请求处理方法的步骤。A readable storage medium, where a computer program is stored on the readable storage medium, and when the computer program is executed by a processor, the steps of the above access request processing method are implemented.
应用本发明实施例所提供的方法,获取对/dev/nbdx的访问请求;利用nbdkernelmodule中的nbdkernel thread将访问请求通过nsock发送给reader进程;reader进程调用librbd将访问请求发给分布式文件系统,以便分布式文件系统处理访问请求;利用librbd进程接收分布式文件系统返回的响应,并利用writer进程将响应通过dsock发送给nbdclient,以便nbdclient处理响应。Apply the method provided by the embodiment of the present invention to obtain an access request to /dev/nbdx; utilize the nbdkernel thread in the nbdkernelmodule to send the access request to the reader process through nsock; the reader process calls librbd to send the access request to the distributed file system, In order for the distributed file system to process access requests; use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that nbdclient can process the response.
当获取到对/dev/nbdx的访问请求时,首先将访问请求发送至分布式文件系统,并将分布式文件系统返回的响应发送至nbdclient。也就是说,将rbd工具与nbd结合起来对分布式存储系统的访问请求进行处理,可将原本的rbd工具无法实现的功能,利用nbd实现。等同于将RBD映像映射为NBD(NetworkBlock Device,网络块设备)设备,这样就可以将RBD当作常规的本地块设备使用了。结合块驱动框架,可在kernel中对分布式系统,实现librdb中的所有功能,提升了rbd的性能,增强了rbd稳定性,提升用户体验。When an access request to /dev/nbdx is obtained, the access request is first sent to the distributed file system, and the response returned by the distributed file system is sent to nbdclient. That is to say, combining the rbd tool with nbd to process the access requests of the distributed storage system can realize functions that cannot be realized by the original rbd tool with nbd. It is equivalent to mapping the RBD image to an NBD (NetworkBlock Device, network block device) device, so that the RBD can be used as a regular local block device. Combined with the block driver framework, the distributed system in the kernel can realize all the functions in librdb, improve the performance of rbd, enhance the stability of rbd, and improve the user experience.
相应地,本发明实施例还提供了与上述访问请求处理方法相对应的访问请求处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。Correspondingly, the embodiments of the present invention also provide an access request processing device, device, and readable storage medium corresponding to the above access request processing method, which have the above technical effects, and will not be repeated here.
附图说明Description of drawings
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.
图1为本发明实施例中一种访问请求处理方法的实施流程图;FIG. 1 is an implementation flowchart of an access request processing method in an embodiment of the present invention;
图2为本发明实施例中一种访问请求处理装置的结构示意图;FIG. 2 is a schematic structural diagram of an access request processing device in an embodiment of the present invention;
图3为本发明实施例中一种访问请求处理设备的结构示意图。Fig. 3 is a schematic structural diagram of an access request processing device in an embodiment of the present invention.
具体实施方式Detailed ways
本发明的核心是提供一种访问请求处理方法,该方法结合rbd-nbd,最终实现将RBD映像映射为NBD(Network Block Device,网络块设备)设备,即将RBD当作常规的本地块设备使用了。具体的,rbd使用内核的rbd模块访问分布式存储系统(ceph)存储,当ceph较新、内核较旧时,可能会有一些image的feature内核不支持,就不能map;nbd使用librbd来访问ceph存储,基本不会存在feature不支持的情况。其中,nbd在host导出一个blockdevice是一种比较成熟的传统的模式,对该device的所有访问请求都转发给用户空间程序处理,nbd提供一个块设备驱动框架,可支持在用户空间实现块设备,类似FUSE支持在用户空间实现文件系统。也就是说,结合rbd和nbd,可在内核(kernel)中对分布式存储系统中,实现librdb中的所有功能,提升了rbd的性能,增强了rbd稳定性,提升用户体验。The core of the present invention is to provide a kind of access request processing method, this method combines rbd-nbd, finally realizes that RBD image is mapped to NBD (Network Block Device, network block device) device, is about to use RBD as a conventional local block device up. Specifically, rbd uses the rbd module of the kernel to access the distributed storage system (ceph) storage. When ceph is newer and the kernel is older, there may be some image feature kernels that do not support it, so they cannot map; nbd uses librbd to access ceph storage , basically there will be no situation where the feature is not supported. Among them, nbd exporting a blockdevice on the host is a relatively mature and traditional mode. All access requests to the device are forwarded to user space programs for processing. nbd provides a block device driver framework that supports the implementation of block devices in user space. Similar to FUSE support for implementing file systems in user space. That is to say, by combining rbd and nbd, all the functions in librdb can be realized in the distributed storage system in the kernel (kernel), which improves the performance of rbd, enhances the stability of rbd, and improves the user experience.
本发明的另一核心是通过一种与上述访问请求处理方法相对应的访问请求处理装置、设备和可读存储介质,具有上述技术效果。Another core of the present invention is an access request processing device, device and readable storage medium corresponding to the above access request processing method, which has the above technical effect.
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. Apparently, the described embodiments are only some of the embodiments of the present invention, but not all of them. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
实施例一:Embodiment one:
请参考图1,图1为本发明实施例中一种访问请求处理方法的流程图,该方法包括以下步骤:Please refer to FIG. 1. FIG. 1 is a flowchart of a method for processing an access request in an embodiment of the present invention. The method includes the following steps:
S101、获取对/dev/nbdx的访问请求。S101. Obtain an access request to /dev/nbdx.
在本发明实施例中,可以设置一个虚机,虚机的IO请求即为对/dev/nbdx的访问请求。In the embodiment of the present invention, a virtual machine can be set, and the IO request of the virtual machine is an access request to /dev/nbdx.
其中,/dev/nbdx中的dev为设备文件系统,nbd为设备文件系统中的NBD(NetworkBlock Device,网络块设备)设备,x为NBD设备标号。例如,x可以为0至32中的任一数值。可以利用预先为/dev/nbdx设置的监控进程/监视器,对/dev/nbdx进行监听,从而获取NBD的访问请求。Wherein, dev in /dev/nbdx is a device file system, nbd is an NBD (NetworkBlock Device, network block device) device in the device file system, and x is an NBD device label. For example, x can be any value from 0 to 32. You can use the pre-set monitoring process/monitor for /dev/nbdx to monitor /dev/nbdx to obtain NBD access requests.
S102、利用nbdkernel module中的nbdkernel thread将访问请求通过nsock发送给reader进程。S102. Utilize the nbdkernel thread in the nbdkernel module to send the access request to the reader process through nsock.
其中,nbdkernel module为nbd内核,nbdkernel thread为nbd进程。Among them, nbdkernel module is the nbd kernel, and nbdkernel thread is the nbd process.
在本发明实施例中,可以预先创建套接字nsock,nsock为nbdkernel module中的nbdkernel thread与reader进程之间的进行通信的套接字。在实际实施时,为了便于操作,可先利用nbdkernel module将访问请求放到队列一,然后唤醒nbdkernel thread,nbdkernel thread将访问请求通过nsock发送给reader进程。In the embodiment of the present invention, the socket nsock can be created in advance, and nsock is a socket for communication between the nbdkernel thread in the nbdkernel module and the reader process. In actual implementation, in order to facilitate the operation, you can use the nbdkernel module to put the access request into queue 1 first, then wake up the nbdkernel thread, and the nbdkernel thread sends the access request to the reader process through nsock.
S103、reader进程调用librbd将访问请求发给分布式文件系统,以便分布式文件系统处理访问请求。S103. The reader process invokes librbd to send the access request to the distributed file system, so that the distributed file system can process the access request.
其中,librbd为ceph对外提供的块存储接口,librbd接口具体为c/c++两种类型的接口,头文件分别在ceph-master\ceph-master\src\include\rbd\librbd.hpp和source\ceph-master\ceph-master\src\include\rbd\librbd.h中。利用该接口在ceph中可以进行镜像创建、删除、clone和读写等操作。也就是说,通过librbd接口,可将访问请求发送至ceph,在ceph中对访问请求进行处理。具体的,由于librbd对外提供了一个namspace。如此,using librbd就可以使用linrbd提供的函数。在libedb中,提供了两个class,分别是rbd和image,便可在ceph-master\ceph-master\src\librbd\librbd.cc中实现相应功能。Among them, librbd is the block storage interface provided by ceph. The librbd interface is specifically c/c++ two types of interfaces. The header files are respectively in ceph-master\ceph-master\src\include\rbd\librbd.hpp and source\ceph -master\ceph-master\src\include\rbd\librbd.h. Use this interface to perform operations such as image creation, deletion, clone, and read and write in ceph. That is to say, through the librbd interface, the access request can be sent to ceph, and the access request is processed in ceph. Specifically, because librbd provides a namspace externally. In this way, using librbd can use the functions provided by linrbd. In libedb, two classes are provided, namely rbd and image, and the corresponding functions can be realized in ceph-master\ceph-master\src\librbd\librbd.cc.
在实际应用时,为了便于操作,Reader进程可将访问请求放到队列二,并调用librbd将请求发给ceph。Ceph接收到访问请求之后,对访问请求进行处理,并将响应返回至librbd。In actual application, for the convenience of operation, the Reader process can put the access request into queue 2, and call librbd to send the request to ceph. After Ceph receives the access request, it processes the access request and returns the response to librbd.
S104、利用librbd进程接收分布式文件系统返回的响应,并利用writer进程将响应通过dsock发送给nbdclient,以便nbdclient处理响应。S104. Use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that nbdclient can process the response.
在本发明实施例中,可以预先创建writer进程,该进程通过dsock套接字与nbdclient连接。In the embodiment of the present invention, a writer process can be created in advance, and the process is connected to nbdclient through a dsock socket.
接收到访问请求对应的响应之后,可以利用writer进程通过dsock将响应发送给nbdclient。以便nbdclient对响应做相应处理。具体的,该响应可以为向nbdclient发送的操作请求,也就是说需要借助nbdclient最终完成对访问请求的处理。After receiving the response corresponding to the access request, the writer process can be used to send the response to nbdclient through dsock. So that nbdclient can deal with the response accordingly. Specifically, the response may be an operation request sent to the nbdclient, that is to say, the nbdclient needs to be used to finally complete the processing of the access request.
实际应用中,为了便于操作,可将响应放到队列三,唤醒writer进程,writer进程将响应通过dsock发送给nbdclient(用户空间,即nbd客户端),nbdclient处理响应。在nbdclient处理完之后,可将最终的处理结果返回至rbd中,以便针对访问请求进行信息反馈,例如输出提示信息。In practical applications, for the convenience of operation, the response can be placed in queue three, and the writer process can be woken up. The writer process sends the response to nbdclient (user space, nbd client) through dsock, and nbdclient processes the response. After nbdclient finishes processing, the final processing result can be returned to rbd, so as to provide information feedback for the access request, such as outputting prompt information.
应用本发明实施例所提供的方法,获取对/dev/nbdx的访问请求;利用nbdkernelmodule中的nbdkernel thread将访问请求通过nsock发送给reader进程;reader进程调用librbd将访问请求发给分布式文件系统,以便分布式文件系统处理访问请求;利用librbd进程接收分布式文件系统返回的响应,并利用writer进程将响应通过dsock发送给nbdclient,以便nbdclient处理响应。Apply the method provided by the embodiment of the present invention to obtain an access request to /dev/nbdx; utilize the nbdkernel thread in the nbdkernelmodule to send the access request to the reader process through nsock; the reader process calls librbd to send the access request to the distributed file system, In order for the distributed file system to process access requests; use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that nbdclient can process the response.
当获取到对/dev/nbdx的访问请求时,首先将访问请求发送至分布式文件系统,并将分布式文件系统返回的响应发送至nbdclient。也就是说,将rbd工具与nbd结合起来对分布式存储系统的访问请求进行处理,可将原本的rbd工具无法实现的功能,利用nbd实现。等同于将RBD映像映射为NBD(Network Block Device,网络块设备)设备,这样就可以将RBD当作常规的本地块设备使用了。结合块驱动框架,可在kernel中对分布式系统,实现librdb中的所有功能,提升了rbd的性能,增强了rbd稳定性,提升用户体验。When an access request to /dev/nbdx is obtained, the access request is first sent to the distributed file system, and the response returned by the distributed file system is sent to nbdclient. That is to say, combining the rbd tool with nbd to process the access requests of the distributed storage system can realize functions that cannot be realized by the original rbd tool with nbd. It is equivalent to mapping the RBD image to an NBD (Network Block Device, network block device) device, so that the RBD can be used as a regular local block device. Combined with the block driver framework, the distributed system in the kernel can realize all the functions in librdb, improve the performance of rbd, enhance the stability of rbd, and improve the user experience.
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。It should be noted that, based on the first embodiment above, the embodiment of the present invention also provides a corresponding improvement solution. In subsequent embodiments, the same steps as in the first embodiment above or corresponding steps may be referred to each other, and the corresponding beneficial effects may also be referred to each other, and will not be repeated in the improved embodiments below.
实施例二:Embodiment two:
为了本领域技术人员理解本发明实施例所提供的技术方案,下面将结合在获取访问请求之前,进行环境搭建配置,对本发明实施例所提供的技术方案进行详细描述。环境搭建配置过程包括:In order for those skilled in the art to understand the technical solution provided by the embodiment of the present invention, the technical solution provided by the embodiment of the present invention will be described in detail below in conjunction with performing environment construction and configuration before obtaining an access request. The environment construction and configuration process includes:
步骤一、配置kvm虚拟化环境,并利用virt-manager或者virt-install安装一个虚机;Step 1. Configure the kvm virtualization environment, and use virt-manager or virt-install to install a virtual machine;
步骤二、写入预设rbd-nbd驱动程序,启动libvirtd守护进程;Step 2, write the default rbd-nbd driver, and start the libvirtd daemon process;
步骤三、修改虚机的xml文件,找到添加device项目使用分布式文件系统映射出来的块设备。Step 3: Modify the xml file of the virtual machine, and find the block device mapped by the distributed file system in the added device project.
为便于描述,下面将上述三个步骤结合起来进行说明。For ease of description, the above three steps will be described in combination below.
首先,配置kvm虚拟化环境,并且通过virt-manager或者virt-install等方式安装一个虚机。对于如何配置kvm虚拟化环境,以及具体如何安装虚机可参见常见处理流程,在此不作赘述。优选地,在安装完虚机之后,在对虚机的xml文件就行修改之前,还可以使用virsh命令行dump虚机的xml文件。也就是说,将xml文件进行备份保存,以便在出现xml文件修改不当时,恢复为原始状态。First, configure the kvm virtualization environment, and install a virtual machine through virt-manager or virt-install. For how to configure the kvm virtualization environment and how to install the virtual machine, please refer to the common processing flow, and will not repeat them here. Preferably, after the virtual machine is installed, before the xml file of the virtual machine is modified, the xml file of the virtual machine can also be dumped using the virsh command line. That is to say, backup and save the xml file, so that when the xml file is improperly modified, it can be restored to the original state.
可将上述实施例一所提供的写入访问请求处理方法的步骤写入rbd-nbd驱动程序中,然后将rbd-nbd驱动程序写入到虚拟中,然后启动libvirtd守护进程。The steps of the write access request processing method provided by the first embodiment above can be written into the rbd-nbd driver, then the rbd-nbd driver is written into the virtual, and then the libvirtd daemon process is started.
然后,对xml文件进行修改,以便实现本发明实施例所提供的访问请求处理方法。在修改虚机的xml文件时,可以将rbd的存储模式写入虚拟的xml文件中。具体的,即利用libvirt api接口写入rbd的存储模式入虚拟的xml文件,并且使其生效;写入预设rbd-nbd配置模式入xml文件。rbd的存储模式,具体为,在linux上,上层虚机应用所需的磁盘,即所需rbd映射的块设备通过主机的kernel层来操作获取分布式文件系统的osd中的块设备。通过虚拟化qemu-kvm的块驱动设备,将其请求传递给qmeu-rbd转换成host的IO队列。Then, modify the xml file so as to realize the access request processing method provided by the embodiment of the present invention. When modifying the xml file of the virtual machine, the rbd storage mode can be written into the virtual xml file. Specifically, use the libvirt api interface to write the rbd storage mode into the virtual xml file and make it take effect; write the default rbd-nbd configuration mode into the xml file. The storage mode of rbd, specifically, on linux, the disk required by the upper layer virtual machine application, that is, the block device mapped by rbd is operated through the kernel layer of the host to obtain the block device in the osd of the distributed file system. By virtualizing the block-driven device of qemu-kvm, the request is passed to qmeu-rbd to be converted into the IO queue of the host.
修改后的xml文件包括rbd的存储模式和rbd-nbd配置模式。例如,修改后的虚机的xml文件可以为:The modified xml file includes rbd storage mode and rbd-nbd configuration mode. For example, the xml file of the modified virtual machine can be:
具体的,在修改虚机的xml文件时,为了减少修改的工作量,可以找到添加device项目使用分布式文件系统映射出来的块设备。也就是说,将需要将RBD映像映射为NBD(Network Block Device,网络块设备)设备先行找出,如此便可将找出的RBD映像在应用中,当作常规的本地块设备使用。在实际应用中,增加的rbd-nbd的处理模块后,上层的虚机io请求可通过nbd模块处理,然后传递给librbd,然后再回馈分布式文件系统存储。也就是说,rbd无法实现的librbd中的功能,可以利用nbd实现。Specifically, when modifying the xml file of the virtual machine, in order to reduce the modification workload, you can find the block device mapped by the distributed file system using the added device project. That is to say, it is necessary to map the RBD image as an NBD (Network Block Device, network block device) device to be found first, so that the found RBD image can be used as a conventional local block device in the application. In practical applications, after adding the rbd-nbd processing module, the upper-layer virtual machine io request can be processed by the nbd module, and then passed to librbd, and then fed back to the distributed file system storage. In other words, the functions in librbd that rbd cannot implement can be implemented by using nbd.
优选地,为了更好的实现本发明实施例所提供的技术方案,还可以在搭建好虚拟环境,配置好xml文件之后,将实现本发明实施例所提供的技术方案所所需的各个进程进行创建,以及创建相应套接字将进程建立通信连接。以便在接收到访问请求之后,对该请求进行处理。令rbd实现更多功能。具体的,即,在获取对/dev/nbdx的访问请求之前,执行:Preferably, in order to better realize the technical solutions provided by the embodiments of the present invention, after the virtual environment is set up and the xml file is configured, each process required to realize the technical solutions provided by the embodiments of the present invention can be carried out Create, and create the corresponding socket to establish a communication connection for the process. In order to process the request after receiving the access request. Make rbd realize more functions. Specifically, before obtaining access requests to /dev/nbdx, execute:
步骤一、在nbdclient启动时,创建一个socketpair;其中,socketpair包括nsock,rsock;Step 1. When nbdclient starts, create a socket pair; where, the socket pair includes nsock and rsock;
步骤二、利用NBD_SET_SOCK ioctl接口将nsock传递给nbdkernel module;Step 2. Use the NBD_SET_SOCK ioctl interface to pass nsock to the nbdkernel module;
步骤三、利用nbdkernel module创建nbd kernel thread;Step 3: Use nbdkernel module to create nbd kernel thread;
步骤四、利用nbdclient创建nbdserver;Step 4: Use nbdclient to create nbdserver;
步骤五、nbd server创建reader和writer;其中,reader监听rsock,nbdclient调用NBD_DO_IT ioct l接口进入kernel监听nsock。Step 5: nbd server creates reader and writer; among them, reader listens to rsock, and nbdclient calls NBD_DO_IT ioct l interface to enter kernel to listen to nsock.
为了便于描述,下面将上述五个步骤结合起来进行说明。For the convenience of description, the above five steps are combined for description below.
在用户空间间实现一个rbd-nbd程序,即nbdclient,启动时创建一个socketpair,两个socket分别为nsock、rsock。将nsock利用NBD_SET_SOCK ioctl接口传递给nbdkernelmodule,nbdkernel module创建nbd kernel thread在队列一,nbdclient创建nbdserver。Nbd server创建两个线程:reader,writer。其中,reader监听rsock,writer在队列二,nbdclient调用NBD_DO_IT ioct l接口进入kernel监听nsock。Implement an rbd-nbd program between user spaces, that is, nbdclient, create a socketpair when starting, and the two sockets are nsock and rsock respectively. Pass nsock to nbdkernelmodule using NBD_SET_SOCK ioctl interface, nbdkernel module creates nbd kernel thread in queue one, and nbdclient creates nbdserver. Nbd server creates two threads: reader and writer. Among them, the reader listens to rsock, the writer is in queue 2, and nbdclient calls the NBD_DO_IT ioct l interface to enter the kernel to listen to nsock.
相应于上面的方法实施例,本发明实施例还提供了一种访问请求处理装置,下文描述的访问请求处理装置与上文描述的访问请求处理方法可相互对应参照。Corresponding to the above method embodiments, an embodiment of the present invention further provides an access request processing device, and the access request processing device described below and the access request processing method described above may refer to each other correspondingly.
参见图2所示,该装置包括以下模块:Referring to shown in Figure 2, the device includes the following modules:
访问请求获取模块101,用于获取对/dev/nbdx的访问请求;An access request obtaining module 101, configured to obtain an access request to /dev/nbdx;
第一转移模块102,用于利用nbdkernel module中的nbdkernel thread将访问请求通过nsock发送给reader进程;The first transfer module 102 is used for utilizing the nbdkernel thread in the nbdkernel module to send the access request to the reader process through nsock;
第二转移模块103,用于reader进程调用librbd将访问请求发给分布式文件系统,以便分布式文件系统处理访问请求;The second transfer module 103 is used for the reader process to call librbd to send the access request to the distributed file system, so that the distributed file system processes the access request;
处理模块104,用于利用librbd进程接收分布式文件系统返回的响应,并利用writer进程将响应通过dsock发送给nbdclient,以便nbdclient处理响应。The processing module 104 is configured to use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that nbdclient can process the response.
其中,第一转移模块和第一转移模块仅用于区别访问请求在不同的进程和/或套接字之间进行传输,并非表明实际应用中,一定存在有次序关系的第一转移模块和第二转移模块。即,在实际应用中,上述第一转移模块和第二转移模块所执行的动作可调换,也可以仅有一个模块实现。Among them, the first transfer module and the first transfer module are only used to distinguish the transmission of access requests between different processes and/or sockets, and do not indicate that in actual applications, there must be a first transfer module and a second Two transfer modules. That is, in practical applications, the actions performed by the above-mentioned first transfer module and the second transfer module may be exchanged, or implemented by only one module.
应用本发明实施例所提供的装置,获取对/dev/nbdx的访问请求;利用nbdkernelmodule中的nbdkernel thread将访问请求通过nsock发送给reader进程;reader进程调用librbd将访问请求发给分布式文件系统,以便分布式文件系统处理访问请求;利用librbd进程接收分布式文件系统返回的响应,并利用writer进程将响应通过dsock发送给nbdclient,以便nbdclient处理响应。Apply the device provided by the embodiment of the present invention to obtain an access request to /dev/nbdx; use the nbdkernel thread in the nbdkernelmodule to send the access request to the reader process through nsock; the reader process calls librbd to send the access request to the distributed file system, In order for the distributed file system to process access requests; use the librbd process to receive the response returned by the distributed file system, and use the writer process to send the response to nbdclient through dsock, so that nbdclient can process the response.
当获取到对/dev/nbdx的访问请求时,首先将访问请求发送至分布式文件系统,并将分布式文件系统返回的响应发送至nbdclient。也就是说,将rbd工具与nbd结合起来对分布式存储系统的访问请求进行处理,可将原本的rbd工具无法实现的功能,利用nbd实现。等同于将RBD映像映射为NBD(NetworkBlock Device,网络块设备)设备,这样就可以将RBD当作常规的本地块设备使用了。结合块驱动框架,可在kernel中对分布式系统,实现librdb中的所有功能,提升了rbd的性能,增强了rbd稳定性,提升用户体验。When an access request to /dev/nbdx is obtained, the access request is first sent to the distributed file system, and the response returned by the distributed file system is sent to nbdclient. That is to say, combining the rbd tool with nbd to process the access requests of the distributed storage system can realize functions that cannot be realized by the original rbd tool with nbd. It is equivalent to mapping the RBD image to an NBD (NetworkBlock Device, network block device) device, so that the RBD can be used as a regular local block device. Combined with the block driver framework, the distributed system in the kernel can realize all the functions in librdb, improve the performance of rbd, enhance the stability of rbd, and improve the user experience.
在本发明的一种具体实施方式中,还包括:In a specific embodiment of the present invention, it also includes:
配置模块,用于在获取对/dev/nbdx的访问请求之前,配置kvm虚拟化环境,并利用virt-manager或者virt-install安装一个虚机;写入预设rbd-nbd驱动程序,启动libvirtd守护进程;修改虚机的xml文件,找到添加device项目使用分布式文件系统映射出来的块设备。The configuration module is used to configure the kvm virtualization environment before obtaining access requests to /dev/nbdx, and install a virtual machine using virt-manager or virt-install; write the default rbd-nbd driver, and start the libvirtd daemon Process; modify the xml file of the virtual machine, and find the block device mapped by the distributed file system using the added device project.
在本发明的一种具体实施方式中,配置模块,具体用于利用libvirt api接口写入rbd的存储模式入虚拟的xml文件,并且使其生效;写入预设rbd-nbd配置模式入xml文件。In a specific embodiment of the present invention, the configuration module is specifically used to write the storage mode of rbd into a virtual xml file using the libvirt api interface, and make it take effect; write the default rbd-nbd configuration mode into the xml file .
在本发明的一种具体实施方式中,还包括:In a specific embodiment of the present invention, it also includes:
备份模块,应用在安装好虚机之后,在修改虚机的xml文件之前,在使用virsh命令行dump虚机的xml文件。The backup module is used to dump the xml file of the virtual machine using the virsh command line after installing the virtual machine and before modifying the xml file of the virtual machine.
在本发明的一种具体实施方式中,还包括:In a specific embodiment of the present invention, it also includes:
进程设置模块,用于在获取对/dev/nbdx的访问请求之前,执行以下步骤的操作:The process setting module is used to perform the following steps before obtaining the access request to /dev/nbdx:
在nbdclient启动时,创建一个socketpair;其中,socketpair包括nsock,rsock;When nbdclient starts, create a socketpair; among them, socketpair includes nsock, rsock;
利用NBD_SET_SOCK ioctl接口将nsock传递给nbdkernel module;Use the NBD_SET_SOCK ioctl interface to pass nsock to the nbdkernel module;
利用nbdkernel module创建nbd kernel thread;Use nbdkernel module to create nbd kernel thread;
利用nbdclient创建nbdserver;Use nbdclient to create nbdserver;
nbd server创建reader和writer;其中,reader监听rsock,nbdclient调用NBD_DO_IT ioct l接口进入kernel监听nsock。nbd server creates reader and writer; among them, reader listens to rsock, and nbdclient calls NBD_DO_IT ioct l interface to enter kernel to listen to nsock.
相应于上面的方法实施例,本发明实施例还提供了一种访问请求处理设备,下文描述的一种访问请求处理设备与上文描述的一种访问请求处理方法可相互对应参照。Corresponding to the above method embodiments, an embodiment of the present invention also provides an access request processing device, and the access request processing device described below and the access request processing method described above may refer to each other correspondingly.
参见图3所示,该访问请求处理设备包括:Referring to Fig. 3, the access request processing equipment includes:
存储器D1,用于存储计算机程序;memory D1 for storing computer programs;
处理器D2,用于执行计算机程序时实现上述方法实施例的访问请求处理方法的步骤。The processor D2 is configured to implement the steps of the access request processing method in the foregoing method embodiment when executing the computer program.
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种访问请求处理方法可相互对应参照。Corresponding to the above method embodiment, the embodiment of the present invention further provides a readable storage medium, and a readable storage medium described below and a method for processing an access request described above may refer to each other correspondingly.
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的访问请求处理方法的步骤。A readable storage medium, where a computer program is stored on the readable storage medium, and when the computer program is executed by a processor, the steps of the access request processing method in the foregoing method embodiments are implemented.
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。Specifically, the readable storage medium may be a USB flash drive, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like that can store program codes. readable storage media.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。Each embodiment in this specification is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same or similar parts of each embodiment can be referred to each other. As for the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and for the related information, please refer to the description of the method part.
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Professionals can further realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software or a combination of the two. In order to clearly illustrate the possible For interchangeability, in the above description, the composition and steps of each example have been generally described according to their functions. Whether these functions are executed by hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present invention.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The steps of the methods or algorithms described in connection with the embodiments disclosed herein may be directly implemented by hardware, software modules executed by a processor, or a combination of both. Software modules can be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other Any other known storage medium.
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。In this paper, specific examples are used to illustrate the principles and implementation methods of the present invention, and the descriptions of the above embodiments are only used to help understand the technical solutions and core ideas of the present invention. It should be pointed out that for those skilled in the art, without departing from the principle of the present invention, some improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810797720.3A CN109033328B (en) | 2018-07-19 | 2018-07-19 | Access request processing method, device, equipment and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810797720.3A CN109033328B (en) | 2018-07-19 | 2018-07-19 | Access request processing method, device, equipment and readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033328A true CN109033328A (en) | 2018-12-18 |
CN109033328B CN109033328B (en) | 2022-08-02 |
Family
ID=64643622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810797720.3A Active CN109033328B (en) | 2018-07-19 | 2018-07-19 | Access request processing method, device, equipment and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033328B (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221902A (en) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | A kind of data transmission method and relevant apparatus based on virtual machine |
CN110321251A (en) * | 2019-06-03 | 2019-10-11 | 平安科技(深圳)有限公司 | Data back up method, device, equipment and storage medium based on network control techology |
CN110321075A (en) * | 2019-05-31 | 2019-10-11 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110321321A (en) * | 2019-05-31 | 2019-10-11 | 平安科技(深圳)有限公司 | Network control techology snapshot reading/writing method, device, equipment and storage medium |
CN110333823A (en) * | 2019-05-31 | 2019-10-15 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110336857A (en) * | 2019-06-03 | 2019-10-15 | 平安科技(深圳)有限公司 | Creation method, device, equipment and the storage medium of network control techology |
CN113419673A (en) * | 2021-06-05 | 2021-09-21 | 济南浪潮数据技术有限公司 | Method, system, medium and device for RBD access storage cluster |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090182051A1 (en) * | 2003-05-30 | 2009-07-16 | Kopas Patricia Mckane | Cosmeceutical formulation containing palm oils |
CN103200245A (en) * | 2013-03-21 | 2013-07-10 | 杭州电子科技大学 | Distributed type network caching method based on Device Mapper |
CN103561101A (en) * | 2013-11-06 | 2014-02-05 | 中国联合网络通信集团有限公司 | Network file system |
CN105468643A (en) * | 2014-09-09 | 2016-04-06 | 博雅网络游戏开发(深圳)有限公司 | Distributed file system access method and system |
US20160323237A1 (en) * | 2012-07-17 | 2016-11-03 | Coho Data, Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
CN106095527A (en) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | A storage pool implementation method suitable for cloud platform virtual machines |
CN106095528A (en) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | A method for detecting virtual machine drive letter |
CN106527985A (en) * | 2016-11-02 | 2017-03-22 | 郑州云海信息技术有限公司 | Storage interaction device and storage system based on ceph |
CN106699967A (en) * | 2015-11-13 | 2017-05-24 | 中国石油化工股份有限公司 | Method for preparing high-vinyl butadiene-styrene copolymer by adopting molybdenum-series catalytic system |
CN106970821A (en) * | 2016-01-12 | 2017-07-21 | 阿里巴巴集团控股有限公司 | A kind of method and apparatus that I/O requests are handled under KVM virtualization |
CN107729020A (en) * | 2017-10-11 | 2018-02-23 | 北京航空航天大学 | A kind of method for realizing extensive container rapid deployment |
US20180194831A1 (en) * | 2015-07-10 | 2018-07-12 | Ohio State Innovation Foundation | Methods and compositions relating to anti-nucleolin recombinant immunoagents |
-
2018
- 2018-07-19 CN CN201810797720.3A patent/CN109033328B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090182051A1 (en) * | 2003-05-30 | 2009-07-16 | Kopas Patricia Mckane | Cosmeceutical formulation containing palm oils |
US20160323237A1 (en) * | 2012-07-17 | 2016-11-03 | Coho Data, Inc. | Systems, methods and devices for integrating end-host and network resources in distributed memory |
CN103200245A (en) * | 2013-03-21 | 2013-07-10 | 杭州电子科技大学 | Distributed type network caching method based on Device Mapper |
CN103561101A (en) * | 2013-11-06 | 2014-02-05 | 中国联合网络通信集团有限公司 | Network file system |
CN105468643A (en) * | 2014-09-09 | 2016-04-06 | 博雅网络游戏开发(深圳)有限公司 | Distributed file system access method and system |
US20180194831A1 (en) * | 2015-07-10 | 2018-07-12 | Ohio State Innovation Foundation | Methods and compositions relating to anti-nucleolin recombinant immunoagents |
CN106699967A (en) * | 2015-11-13 | 2017-05-24 | 中国石油化工股份有限公司 | Method for preparing high-vinyl butadiene-styrene copolymer by adopting molybdenum-series catalytic system |
CN106970821A (en) * | 2016-01-12 | 2017-07-21 | 阿里巴巴集团控股有限公司 | A kind of method and apparatus that I/O requests are handled under KVM virtualization |
CN106095527A (en) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | A storage pool implementation method suitable for cloud platform virtual machines |
CN106095528A (en) * | 2016-06-07 | 2016-11-09 | 国云科技股份有限公司 | A method for detecting virtual machine drive letter |
CN106527985A (en) * | 2016-11-02 | 2017-03-22 | 郑州云海信息技术有限公司 | Storage interaction device and storage system based on ceph |
CN107729020A (en) * | 2017-10-11 | 2018-02-23 | 北京航空航天大学 | A kind of method for realizing extensive container rapid deployment |
Non-Patent Citations (3)
Title |
---|
LI WANG 等: ""Design and Implementation of Ceph Block Device in Userspace for Container Scenarios", 《2016 INTERNATIONAL SYMPOSIUM ON COMPUTER, CONSUMER AND CONTROL》 * |
LU QI 等: "NLOV: An Innovative Object-Oriented Storage System Based on BerkeleyDB", 《2008 10TH IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS》 * |
沈之强: "云存储系统中的网络缓存关键技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321075B (en) * | 2019-05-31 | 2023-05-23 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110333823B (en) * | 2019-05-31 | 2023-07-07 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110321075A (en) * | 2019-05-31 | 2019-10-11 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110321321A (en) * | 2019-05-31 | 2019-10-11 | 平安科技(深圳)有限公司 | Network control techology snapshot reading/writing method, device, equipment and storage medium |
CN110333823A (en) * | 2019-05-31 | 2019-10-15 | 平安科技(深圳)有限公司 | Data migration method, device, equipment and storage medium based on nbd equipment |
CN110321321B (en) * | 2019-05-31 | 2023-06-23 | 平安科技(深圳)有限公司 | Snapshot read-write method, device and equipment for network block equipment and storage medium |
WO2020237859A1 (en) * | 2019-05-31 | 2020-12-03 | 平安科技(深圳)有限公司 | Data migration method employing nbd device, apparatus, device, and storage medium |
WO2020237849A1 (en) * | 2019-05-31 | 2020-12-03 | 平安科技(深圳)有限公司 | Snapshot read-write method for network block device, apparatus, device, and storage medium |
WO2020244058A1 (en) * | 2019-06-03 | 2020-12-10 | 平安科技(深圳)有限公司 | Method, apparatus and device for creating network block device, and storage medium |
WO2020244059A1 (en) * | 2019-06-03 | 2020-12-10 | 平安科技(深圳)有限公司 | Data backup method, apparatus and device based on network block device, and storage medium |
CN110336857B (en) * | 2019-06-03 | 2022-04-12 | 平安科技(深圳)有限公司 | Method, device, equipment and storage medium for creating network block equipment |
CN110321251B (en) * | 2019-06-03 | 2023-06-20 | 平安科技(深圳)有限公司 | Data backup method, device, equipment and storage medium based on network block equipment |
CN110336857A (en) * | 2019-06-03 | 2019-10-15 | 平安科技(深圳)有限公司 | Creation method, device, equipment and the storage medium of network control techology |
CN110321251A (en) * | 2019-06-03 | 2019-10-11 | 平安科技(深圳)有限公司 | Data back up method, device, equipment and storage medium based on network control techology |
CN110221902A (en) * | 2019-06-12 | 2019-09-10 | 腾讯科技(深圳)有限公司 | A kind of data transmission method and relevant apparatus based on virtual machine |
CN110221902B (en) * | 2019-06-12 | 2023-09-29 | 腾讯科技(深圳)有限公司 | Data transmission method and related device based on virtual machine |
CN113419673A (en) * | 2021-06-05 | 2021-09-21 | 济南浪潮数据技术有限公司 | Method, system, medium and device for RBD access storage cluster |
CN113419673B (en) * | 2021-06-05 | 2022-05-27 | 济南浪潮数据技术有限公司 | Method, system, medium and device for RBD access storage cluster |
Also Published As
Publication number | Publication date |
---|---|
CN109033328B (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033328A (en) | A kind of access request processing method, device, equipment and readable storage medium storing program for executing | |
WO2019169913A1 (en) | Data processing method, apparatus and system, and server | |
CN104714846B (en) | Method for processing resource, operating system and equipment | |
US8069341B2 (en) | Unified provisioning of physical and virtual images | |
WO2015062339A1 (en) | Method and device for running remote application program | |
CN106775924A (en) | Virtual machine starts method and apparatus | |
CN107580011B (en) | A data sharing method and desktop cloud server | |
CN112433812B (en) | Virtual machine cross-cluster migration method, system, equipment and computer medium | |
WO2022143717A1 (en) | Method, apparatus, and system for migrating virtual machine | |
CN110825419B (en) | A firmware refresh method, device, electronic device and storage medium | |
WO2021008185A1 (en) | Data transmission method and apparatus, and server | |
CN116860391A (en) | GPU computing power resource scheduling method, device, equipment and medium | |
CN111625356A (en) | PCIe device resource pooling method, device, equipment and medium | |
CN102884515A (en) | Method, devices and system for serial port redirection process | |
JP7361399B2 (en) | Screen capture methods, devices and storage media | |
CN114995954B (en) | Bare metal server control method, device and medium | |
EP4428675A1 (en) | Cloud technology-based graphic program online development method and system, and related device | |
WO2016095377A1 (en) | Image display method and device for thin client and electronic equipment | |
CN114296916B (en) | Method, device and medium for improving RDMA release performance | |
CN116774939A (en) | A file migration method, device, equipment and readable storage medium | |
US11422963B2 (en) | System and method to handle uncompressible data with a compression accelerator | |
CN115543542A (en) | Deployment method, device, equipment and medium of cloud host | |
CN114461318A (en) | A method, device and electronic device for cloud desktop management based on cloud terminal | |
CN113835816A (en) | Virtual machine desktop display method, device, equipment and readable storage medium | |
CN113626137A (en) | Implementation method, device, equipment and medium supporting multi-format mirror image |
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 |