CN114115944B - 一种rbd客户端批量升级方法、系统、设备及存储介质 - Google Patents
一种rbd客户端批量升级方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114115944B CN114115944B CN202111391718.4A CN202111391718A CN114115944B CN 114115944 B CN114115944 B CN 114115944B CN 202111391718 A CN202111391718 A CN 202111391718A CN 114115944 B CN114115944 B CN 114115944B
- Authority
- CN
- China
- Prior art keywords
- rbd
- client
- upgrading
- shared cache
- clients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 31
- 230000003993 interaction Effects 0.000 claims abstract description 20
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002411 adverse Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 19
- 230000026676 system process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种RBD客户端批量升级方法,包括:在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过壳子系统和共享缓存实现RBD客户端与虚拟机进程之间的IO数据交互;响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过壳子系统对和所述共享缓存RBD客户端进行升级。首先使用指数增量下发算法,批量下发升级指令,实现多个计算节点RBD客户端的并发升级,其次在虚拟机进程和RBD客户端之间增加壳子系统,用于承接上层业务的读写请求和更新加载RBD客户端的升级文件。一方面,实现计算节点RBD客户端的快速升级,缩短升级耗费时间;另一方面,在升级过程中避免云平台中虚拟机的重启,减轻对上层业务的不利影响。
Description
技术领域
本发明属于计算机领域,具体涉及一种RBD客户端批量升级方法、系统、设备及存储介质。
背景技术
在云计算时代,分布式块存储的应用越来越广泛,分布式块存储系统可以通过RBD方式对接openstack云平台,为云平台创建的虚拟机提供存储资源。openstack云平台中虚拟机的qemu进程通过加载RBD客户端提供的rbd和rados库文件,调用数据读写接口将数据写入或读出分布式块存储系统。当需要对RBD客户端进行升级时,需要对openstack计算节点上的虚拟机重启,更新qemu进程加载的rbd和rados库文件。这种方式严重影响openstack云平台的正常业务。
因此,亟需一种可以有效提升RBD客户端升级效率的方案。
发明内容
为解决以上问题,本发明提出了一种RBD客户端批量升级方法,包括:
在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,包括:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,还包括:
所述客户端从所述共享缓存中读取所述IO请求及向所共享缓存中写入相应的IO响应。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,包括:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,还包括:
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
在本发明的一些实施方式中,从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级,包括:
对所述RBD客户端的升级文件进行分段并标记,将所述分段后的升级文件根据分散到已经升级完成的多个所述RBD客户端中并对所述待升级的RBD客户端提供数据下载服务;
响应于获取到所述RBD客户端的升级文件,所述待升级的RBD客户端将所述升级文件写入所述共享缓存,所述壳子系统根据所述共享缓存中的所述升级文件对所述待升级RBD客户端进行升级。
在本发明的一些实施方式中,方法还包括:
响应于所述壳子系统对所述待升级的RBD客户端进行升级,所述壳子系统将所述虚拟机进程发送的IO请求以阻塞的方式缓存到所述共享缓存中;以及
响应于所述待升级的RBD客户端升级完成,升级后的所述RBD客户端向存储后端发送从所述共享缓存中读取已缓存的IO请求。
本发明的另一方面还提出一种RBD客户端批量升级系统,包括:
缓存模块,所述缓存模块配置用于在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
升级模块,所述升级模块配置用于响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
本发明的又一方面还提出了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明提出了一种RBD客户端批量在线升级方法。首先使用指数增量下发算法,批量下发升级指令,实现多个计算节点RBD客户端的并发升级,其次在qemu进程和RBD客户端之间增加壳子系统,用于承接上层业务的读写请求和更新加载RBD客户端的rbd和rados库文件。一方面,实现计算节点RBD客户端的快速升级,缩短升级耗费时间;另一方面,在升级过程中避免云平台中虚拟机的重启,减轻对上层业务的不利影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种RBD客户端批量升级方法的方法流程图;
图2为本发明实施例提供的一种RBD客户端批量升级系统的系统结构示意图;
图3为本发明实施例提供的具备一种RBD客户端批量升级方法的计算机存储设备的示意图;
图4为本发明实施例提供的具备一种RBD客户端批量升级方法的计算机存存储介质的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
在本发明的实施例中,在现有的云平台的架构中,虚拟机的存储系统通常并不位于本地,因为无法及时对虚拟机提供扩容服务器,通常对虚拟机挂载相应的存储系统应用为虚拟机中的系统提供数据存储的服务,并且在远端的存储系统理论上可实现无限扩容,相比于在本地建立存储系统具有很好的扩展性和兼容性。本发明所公开的RBD(RADOSBlock Device是Ceph分布式存储系统对外提供的块设备服务的访问客户端)客户端,安装在虚拟机中的操作系统中,为虚拟机中的操作系统上的其他应用提供分布式地数据访问服务器,在对RBD客户端更新时,由于需要重启虚拟机才能完成更新,因此,可能需要对用户的虚拟机中的业务系统带来中断,给客户业务造成一些损失。
如图1所示,本发明的第一方面提出了一种RBD客户端批量升级方法,包括:
步骤S1、在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
步骤S2、响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
在步骤S1中,在本发明实施例在RBD客户端所在的虚拟机中自主开发实现了一个壳子系统,并增设了一定容量的共享缓存。通过壳子系统代理虚拟机中的应用的进程或系统进程对RBD客户端的数据IO的交互,即接收虚拟机中的应用的进程或系统进程对数据RBD客户端数据IO请求,以及返回RBD客户端对虚拟机中应用的进程或系统进程的数据响应。
在步骤S2中,本发明公开的壳子系统和共享缓存实现了对RBD客户端的在线升级功能,存储系统在升级或一些变动时,可能会需要将分布在各个虚拟机中的RBD客户端进行适应性升级。在本实施例中,存储系统以指数增量的方式分批下发升级指令,例如,第一批升级的RBD客户端为2个,分布位于不同的虚拟机上,第二升级的客户端为4个,以此类推,分批升级所有的RBD客户端。在接收到RBD客户端的升级指令后,壳子系统通过共享缓存实现对当前虚拟机中的客户端进行升级。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,包括:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应。
在本实施例中,壳子系统可实现RBD客户端与虚拟机中的系统进程或应用进程之间交互的相应的功能,与虚拟机中的系统进程或应用进程对接,在接收到虚拟机中进程的IO请求后,可以将IO请求直接转发给RBD客户端,同时也可以将IO请求先写入共享缓存。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,还包括:
所述客户端从所述共享缓存中读取所述IO请求及向所共享缓存中写入相应的IO响应。
在本实施例中,同样地,RBD客户端在从远端存储系统获取到相应的数据,或者接收到相应的数据访问或存储结果时,也可以直接将数据或结果发送到壳子系统,或者先缓存到共享缓存中。壳子系统根据繁忙情况从共享缓存中获取相应的IO请求的结果。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,包括:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数。
在本实施例中,在对RBD客户端进行分批升级时,可根据不同的数据带宽情况进行升级,并且可选择相应的默认基数,例如以2作为基础的技术,按照2的指数次方分配每一批的升级的RBD客户端数,同时也可以根据其他基数对客户端进行升级,基数的选择影响对客户端升级文件的分块数,例如,以2作为基数时,第一次指数为1,即两个客户端从存储系统的管理系统获取升级文件。第二批RBD客户端为4个,在升级时可从上一次升级完成的两个RBD客户端中获取升级文件,即从上一次升级成功的两个RBD客户端获取升级的文件。以此类推,前一批次升级完成的RBD客户端为下一次升级完成的客户端提供升级的文件,而之前升级的RBD客户端正常的地为其所在的虚拟机中提供正常的数据服务。
在本发明的一些实施例中,在当前批次升级的RBD客户端从上一批次升级完成的RBD客户端获取升级文件时,并不是从已升级完成RBD客户端某一个获取所有的升级文件,而是根据上一批次完成升级的多个RBD客户端中获取相应地升级文件。分布式存储的管理系统在对相应批次的多个RBD客户端下发升级指令时,同时将上次升级的客户端的网络地址及获取升级文件的对应的不同的密钥同时发送到每一个在当前批次升级(待升级)的RBD客户端上。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,还包括:
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
在本发明的一些实施例中,分布式存储的管理系统在向当前批次升级的RBD客户端发送相应的提供升级文件下载的RBD客户端的网络地址前,需要根据上一批次升级的RBD客户端的个数及网络域的位置将升级文件的下载任务分布到不同的已经在上一批次完成升级的RBD客户端上,即为当前批次待升级的RBD客户端分配最优的升级文件的下载地址,防止出现RBD客户端1从RBD客户端2下载文件;RBD客户端3从RBD客户端4下载文件,但RBD客户端1与RBD客户端4处于一个数据中心或一个网域或一个交换机下这种跨网络造成的传输缓慢的情况,以提高壳子系统和共享缓存中通过阻塞IO请求的缓存的响应速度,降低因RBD客户端在线升级时正常业务的等待压力。
在本发明的一些实施方式中,从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级,包括:
对所述RBD客户端的升级文件进行分段并标记,将所述分段后的升级文件根据分散到已经升级完成的多个所述RBD客户端中并对所述待升级的RBD客户端提供数据下载服务;
响应于获取到所述RBD客户端的升级文件,所述待升级的RBD客户端将所述升级文件写入所述共享缓存,所述壳子系统根据所述共享缓存中的所述升级文件对所述待升级RBD客户端进行升级。
在本发明的一些实施例中,在对当前批次待升级的RBD客户端分配升级文件的下载服务的RBD客户端时,将升级文件以分块的方式由多个RBD客户端(已经在上一批次升级完成的RBD客户端,)提供下载服务器。在一些实施例中,当上一批次升级完成的RBD客户端升级较少时,将升级文件根据上一批次升级完成的RBD客户的个数作为分块的块数,对分块后的每一块升级文件进行编号,并且将编号分配给对应的上一批次已升级完成的RBD客户端,当前批次待升级的RBD客户端在升级时,可使用多线程异步下载的方式从多个在上一批次已经升级完成的RBD客户端中分别有序地下载对应分块的升级文件,在将所有的分块后的升级文件下载完成后,按照分块的序号通过自定义的方式(在分块时可加入相应的编码方式,增加数据的安全性)合并成一个升级文件,进一步通过壳子系统将合并后的升级文件对RBD客户端进行升级。
在本发明的一些实施例中,当上一批次升级完成RBD客户端较多时,对升级文件的分块可以不用按照上一批次升级完成RBD客户端的个数进行分块,而是通过上一批次升级完成RBD客户端分为多组,在以每一组的RBD客户端的个数分块,以实现多个RBD客户端同时提供同一分块的升级文件的下载服务,当前批次升级的RBD客户端可在下载对应分块的升级文件时,可从多个上一批次升级完成RBD客户端中选择下载速度最块的客户端进行下载。
在本发明的一些实施方式中,方法还包括:
响应于所述壳子系统对所述待升级的RBD客户端进行升级,所述壳子系统将所述虚拟机进程发送的IO请求以阻塞的方式缓存到所述共享缓存中;以及
响应于所述待升级的RBD客户端升级完成,升级后的所述RBD客户端向存储后端发送从所述共享缓存中读取已缓存的IO请求。
在本发明的一些实施例中,在RBD客户端升级完成后,便处理壳子系统缓存在共享缓存中的IO请求,同时如果当前RBD客户端是刚升级完成的RBD客户端,则该RBD客户端还需要将升级文件根据分布式存储的管理系统的相应的分块指令进行分块并暂时保存到共享缓存中,为下一批次的待升级RBD客户端提供对应的升级文件的下载服务,在接到相应的获取对应分块的升级文件的请求后,从共享缓存读取该文件发送到对应的待升级的RBD客户端。进一步,在下一批次的RBD客户端升级完成后,该RBD客户端可将缓存在共享缓存中的清除,同时执行正常的存储服务,不再对后续的RBD客户端升级提供升级文件下载服务(除非分布式存储的管理系统特别分配对饮的升级文件下载服务)。
通过本发明提出的一种RBD客户端批量在线升级方法。首先使用指数增量下发算法,批量下发升级指令,实现多个计算节点RBD客户端的并发升级,其次在qemu进程和RBD客户端之间增加壳子系统,用于承接上层业务的读写请求和更新加载RBD客户端的升级文件(rbd和rados库文件)。一方面,实现计算节点RBD客户端的快速升级,缩短升级耗费时间;另一方面,在升级过程中避免云平台中虚拟机的重启,减轻对上层业务的不利影响。
本发明的另一方面还提出一种RBD客户端批量升级系统,如图2所示,包括:
缓存模块1,所述缓存模块配置用于在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
升级模块2,所述升级模块配置用于响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
本发明的又一方面还提出了一种计算机设备,如图3所示,包括:
至少一个处理器21;以及
存储器22,所述存储器存储有可在所述处理器上运行的计算机指令23,所述指令由所述处理器执行时实现上一种RBD客户端批量升级方法,包括:
在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,包括:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,还包括:
所述客户端从所述共享缓存中读取所述IO请求及向所共享缓存中写入相应的IO相应。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,包括:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,还包括:
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
在本发明的一些实施方式中,从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级,包括:
对所述RBD客户端的升级文件进行分段并标记,将所述分段后的升级文件根据分散到已经升级完成的多个所述RBD客户端中并对所述待升级的RBD客户端提供数据下载服务;
响应于获取到所述RBD客户端的升级文件,所述待升级的RBD客户端将所述升级文件写入所述共享缓存,所述壳子系统根据所述共享缓存中的所述升级文件对所述待升级RBD客户端进行升级。
在本发明的一些实施方式中,方法还包括:
响应于所述壳子系统对所述待升级的RBD客户端进行升级,所述壳子系统将所述虚拟机进程发送的IO请求以阻塞的方式缓存到所述共享缓存中;以及
响应于所述待升级的RBD客户端升级完成,升级后的所述RBD客户端向存储后端发送从所述共享缓存中读取已缓存的IO请求。
本发明的再一方面还提出了一种计算机可读存储介质401,如图4所示,所述计算机可读存储介质存储有计算机程序402,所述计算机程序被处理器执行时实现一种RBD客户端批量升级方法,包括:
在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,包括:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应。
在本发明的一些实施方式中,在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,还包括:
所述客户端从所述共享缓存中读取所述IO请求及向所共享缓存中写入相应的IO相应。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,包括:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数。
在本发明的一些实施方式中,响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,还包括:
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
在本发明的一些实施方式中,从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级,包括:
对所述RBD客户端的升级文件进行分段并标记,将所述分段后的升级文件根据分散到已经升级完成的多个所述RBD客户端中并对所述待升级的RBD客户端提供数据下载服务;
响应于获取到所述RBD客户端的升级文件,所述待升级的RBD客户端将所述升级文件写入所述共享缓存,所述壳子系统根据所述共享缓存中的所述升级文件对所述待升级RBD客户端进行升级。
在本发明的一些实施方式中,方法还包括:
响应于所述壳子系统对所述待升级的RBD客户端进行升级,所述壳子系统将所述虚拟机进程发送的IO请求以阻塞的方式缓存到所述共享缓存中;以及
响应于所述待升级的RBD客户端升级完成,升级后的所述RBD客户端向存储后端发送从所述共享缓存中读取已缓存的IO请求。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (6)
1.一种RBD客户端批量升级方法,其特征在于,包括:
在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级;
所述在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互,包括:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应;
所述客户端从所述共享缓存中读取所述IO请求及向所共享缓存中写入相应的IO响应;
所述响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级,包括:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数;
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级,包括:
对所述RBD客户端的升级文件进行分段并标记,将所述分段后的升级文件根据分散到已经升级完成的多个所述RBD客户端中并对所述待升级的RBD客户端提供数据下载服务;
响应于获取到所述RBD客户端的升级文件,所述待升级的RBD客户端将所述升级文件写入所述共享缓存,所述壳子系统根据所述共享缓存中的所述升级文件对所述待升级RBD客户端进行升级。
3. 根据权利要求2所述的方法,其特征在于,还包括:
响应于所述壳子系统对所述待升级的RBD客户端进行升级,所述壳子系统将所述虚拟机进程发送的IO请求以阻塞的方式缓存到所述共享缓存中;以及
响应于所述待升级的RBD客户端升级完成,升级后的所述RBD客户端向存储后端发送从所述共享缓存中读取已缓存的IO请求。
4.一种RBD客户端批量升级系统,其特征在于,包括:
缓存模块,所述缓存模块配置用于在RBD客户端与虚拟机进程之间建立壳子系统和共享缓存,通过所述壳子系统和共享缓存实现所述RBD客户端与所述虚拟机进程之间的IO数据交互;
升级模块,所述升级模块配置用于响应于接收到分布式存储的管理系统以指数增量方式分批下发升级指令,通过所述壳子系统和所述共享缓存对所述RBD客户端进行升级;
所述缓存模块进一步配置用于:
通过所述壳子系统接收所述虚拟机进程的IO请求,并将所述IO请求写入所述共享缓存;以及
通过所述壳子系统从所述共享缓存中读取所述IO请求所对应的数据IO响应;
所述升级模块进一步配置用于:
设定默认基数,以当前批次的序数作为所述默认基数的指数以计算得到当前批次的所述RBD客户端的升级的个数;
基于所述RBD客户端的升级的个数选择相应个数的待升级的所述RBD客户端发送升级指令;
接收到所述升级指令的所述RBD客户端从上一批次的升级完成的多个所述RBD客户端获取所述RBD客户端的升级文件进行升级。
5. 一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-3任意一项所述方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111391718.4A CN114115944B (zh) | 2021-11-19 | 2021-11-19 | 一种rbd客户端批量升级方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111391718.4A CN114115944B (zh) | 2021-11-19 | 2021-11-19 | 一种rbd客户端批量升级方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115944A CN114115944A (zh) | 2022-03-01 |
CN114115944B true CN114115944B (zh) | 2024-01-09 |
Family
ID=80439983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111391718.4A Active CN114115944B (zh) | 2021-11-19 | 2021-11-19 | 一种rbd客户端批量升级方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115944B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831399A (zh) * | 2020-07-21 | 2020-10-27 | 浪潮云信息技术股份公司 | 一种基于Ceph存储后端卷的共享盘的数据同步方法及系统 |
CN112905203A (zh) * | 2021-02-10 | 2021-06-04 | 山东英信计算机技术有限公司 | 一种Rbd客户端在线升级的方法、系统及介质 |
CN113467814A (zh) * | 2021-05-31 | 2021-10-01 | 济南浪潮数据技术有限公司 | Rbd虚拟机的批量升级方法、系统、装置及可读存储介质 |
-
2021
- 2021-11-19 CN CN202111391718.4A patent/CN114115944B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831399A (zh) * | 2020-07-21 | 2020-10-27 | 浪潮云信息技术股份公司 | 一种基于Ceph存储后端卷的共享盘的数据同步方法及系统 |
CN112905203A (zh) * | 2021-02-10 | 2021-06-04 | 山东英信计算机技术有限公司 | 一种Rbd客户端在线升级的方法、系统及介质 |
CN113467814A (zh) * | 2021-05-31 | 2021-10-01 | 济南浪潮数据技术有限公司 | Rbd虚拟机的批量升级方法、系统、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114115944A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11296940B2 (en) | Centralized configuration data in a distributed file system | |
US20100088448A1 (en) | Virtual computing accelerator and program downloading method for server-based virtual computing | |
CN108073423B (zh) | 一种加速器加载方法、系统和加速器加载装置 | |
CN113515320A (zh) | 一种硬件加速处理方法、装置以及服务器 | |
CN114327946A (zh) | 共享内存访问控制方法、装置、电子设备及自动驾驶车辆 | |
CN114422537B (zh) | 多云存储系统、多云数据读写方法及电子设备 | |
CN109918381B (zh) | 用于存储数据的方法和装置 | |
CN112948025B (zh) | 数据加载方法、装置及存储介质、计算设备、计算系统 | |
CN112804375B (zh) | 一种单网卡多ip的配置方法 | |
CN114115944B (zh) | 一种rbd客户端批量升级方法、系统、设备及存储介质 | |
CN112711469A (zh) | 云主机迁移方法、装置、计算机设备和存储介质 | |
WO2023066246A1 (zh) | 云手机安装应用的方法、系统和客户端云手机 | |
CN113127430A (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN110781137A (zh) | 分布式系统的目录读取方法、装置、服务器和存储介质 | |
CN116208487A (zh) | 区块链系统中的共识算法升级方法、装置、设备及介质 | |
EP3479236B1 (en) | Network-accessible data volume modification | |
CN115390754A (zh) | 一种硬盘管理方法及装置 | |
CN112181470B (zh) | 一种部署补丁的方法和装置 | |
CN111090530A (zh) | 一种分布式跨进程间通信总线系统 | |
JP7476481B2 (ja) | 情報処理システム、物理マシン、情報処理方法、及びプログラム | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
CN111414127B (zh) | 计算集群系统及其数据获取方法以及电子设备 | |
CN112748857B (zh) | 用于存储管理的方法、电子设备和计算机程序产品 | |
CN113254464B (zh) | 一种数据加载方法和装置 | |
CN109542588B (zh) | 一种用于在云环境下管理虚拟设备的方法和装置 |
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 |