CN110708345A - 云盘升级方法、调度方法及云主机、调度装置和系统 - Google Patents
云盘升级方法、调度方法及云主机、调度装置和系统 Download PDFInfo
- Publication number
- CN110708345A CN110708345A CN201810745002.1A CN201810745002A CN110708345A CN 110708345 A CN110708345 A CN 110708345A CN 201810745002 A CN201810745002 A CN 201810745002A CN 110708345 A CN110708345 A CN 110708345A
- Authority
- CN
- China
- Prior art keywords
- cloud
- disk
- cloud disk
- host
- hosts
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
一种云盘升级方法、调度方法及云主机、调度装置和系统,调度装置获取集群内的云主机的云盘负载信息,根据获取的云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将集群内的云主机划分到至少一个批次;再按照划分的批次,逐批次地向集群内的云主机发送云盘升级的指令。而云主机将盘负载信息发送给调度装置后,接收调度装置发送的云盘升级的指令,进行云盘升级并返回云盘升级的结果。本申请用于云盘热升级,可以限制同一批次升级的所有云主机的云盘负载,降低云盘热升级对客户业务的影响程度。
Description
技术领域
本申请涉及计算机技术,更具体地,涉及一种云盘升级方法、调度方法及云主机、调度装置和系统。
背景技术
在当今的互联网应用中,各种新的业务需求层出不穷,为了满足这些应用的业务需求,云计算服务提供商需要快速迭代提供服务的软件系统,因此需要频繁地升级线上环境的软件系统、同时又不影响客户业务的运行。
图1所示是一种存储和计算分离的云计算架构,包括计算集群和存储集群,计算集群和存储集群基于块存储技术时,也可以称为块存储计算集群和块存储存储集群。所谓集群是由多个物理云主机组成的一个集合,逻辑上作为一个整体来管理、提供计算服务(云服务器)或存储服务(云盘)。
计算集群提供云服务器资源,云服务器是由云主机厂商基于云计算技术提供的,让用户能以远程登陆的方式进行操作管理的服务器,在用户使用方式上与普通的远程物理服务器一样。云服务器所需的云盘功能由计算集群的云主机连同后端的存储集群一起提供。一个计算集群里面有多台云主机,云主机是物理机器,一台云主机上可以运行多个云服务器,而每个云服务器可以挂载多块云盘。云盘是建立在分布式存储系统之上的磁盘实例,在云服务器中可当做计算机磁盘一样进行读写使用。一个云盘的数据IO(即读写操作)请求要经过云盘->云服务器->云主机->网络交换机->存储集群->磁盘的流程来完成。
如图2所示,每一个云主机上具有一个云盘软件系统(也称为云盘软件模块),该云盘软件系统负责处理当前云主机上所有云服务器的所有云盘服务,主要是将云盘的IO读写请求转发到后端的存储集群。
云盘热升级是对云主机上的云盘软件系统的升级如版本升级,升级过程中不停止云盘服务和云服务器的运行。但是,云盘热升级会带来相应软件程序的重启操作。在软件程序重启的时间窗口内,当前云主机的所有云盘会出现短暂的IO暂停,进而造成IO延迟升高和IO毛刺现象,影响客户业务的服务质量。因而需要提供一种方法,可以有效减少云盘热升级对客户业务的影响。
发明内容
本发明实施例提供了一种云盘升级的调度方法,包括:
调度装置获取集群内的云主机的云盘负载信息;
所述调度装置根据获取的所述云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将所述集群内的云主机划分到至少一个批次;
所述调度装置按照划分的批次,逐批次地向所述集群内的云主机发送云盘升级的指令。
本发明实施例还提供了一种云盘升级的调度装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算程序时实现本发明实施例调度方法的处理。
在本发明一实施例中,所述云盘升级为云盘热升级。
本发明实施例的云盘升级的调度方法和装置,根据集群内的云主机的云盘负载情况统一调度,限制同一批次升级的所有云主机的云盘负载,从而可以减少云盘升级过程中带来的IO延迟和IO毛刺,降低云盘升级对客户业务的影响程度。
本发明实施例还提供了一种云盘升级方法,包括:
云主机将本云主机的云盘负载信息发送给云盘升级的调度装置;
所述云主机接收所述调度装置发送的云盘升级的指令,对本云主机中的云盘进行云盘升级并向所述调度装置返回云盘升级的结果。
本发明实施例还提供了一种云主机,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算程序时实现本发明实施例云盘升级方法的处理。
在本发明一实施例中,所述云盘升级为云盘热升级。
本发明实施例的云盘升级方法和云主机,对云盘升级前,将本云主机中的云盘负载信息发送给云盘升级的调度装置,从而使得该调度装置可以根据集群内的云主机分别发送的云盘负载信息统一调度,限制同一批次升级的所有云主机的云盘负载,降低云盘升级对客户业务的影响程度。
本发明实施例还提供了一种云盘升级系统,包括云盘升级的调度装置和集群内的云主机,其中:
每一所述云主机,用于将本云主机的云盘负载信息发送给所述调度装置;及,接收所述调度装置发送的云盘升级的指令,对本云主机中的云盘进行云盘升级并向所述调度装置返回云盘升级的结果;
所述调度装置,用于接收所述集群内的云主机分别发送的云盘负载信息,根据所述云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将所述集群内的云主机划分到至少一个批次;及,按照划分的批次,逐批次地向所述集群内的云主机发送云盘升级的指令。
在本发明一实施例中,所述云盘升级为云盘热升级。
本发明实施例的云盘升级系统,在对云盘进行升级前,由各个云主机将各自的云盘负载信息发送给调度装置,而调度装置根据接收的云盘负载信息统一调度,限制同一批次升级的所有云主机的云盘负载,从而可以降低云盘升级对客户业务的影响程度。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例所述的任一方法的处理。
附图说明
图1是一种存储和计算分离的云计算架构的示意图;
图2是云主机中的云服务器和云盘软件模块的示意图;
图3是本发明实施例一云盘升级的调度方法的流程图;
图4是本发明实施例一调度装置的硬件结构示意图;
图5是本发明实施例二云盘升级方法的流程图;
图6是在云主机中设置云盘升级模块的示意图;
图7是本发明实施例三云盘负载信息采集的示意图;
图8是本发明实施例三调度装置逐批次调度集群内的云主机进行云盘升级的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
不同云主机的云盘负载往往是不同的,云主机的云盘负载越大,则升级该云主机中的云盘软件模块带来的影响面越广、被影响的客户业务面越多,如果升级后的云盘软件模块有bug,则引起的故障级别会越高。
为了减少云盘热升级对客户业务的影响,可以将集群内的云主机划分到多个批次,每批次同时升级一台或多台云主机,升级完当前批后再升级下一批次,直到升级完所有批次。而将集群内的云主机划分到多个批次时,可以采用随机选择的方法,但随机选择的方法容易会出现某一批次或某些批次的所有云主机的云盘负载很大的情况,此时对该批次或这些批次的所有云主机进行云盘热升级时,会引起集群内的IO毛刺现象,升级过程不够平缓,对业务的影响较大,而如果热升级发生故障,影响的业务越多。将集群内的云主机划分到多个批次时,也可以采用保证各批次的云主机数量相同的方式,但是不同云主机的云盘负载情况不同,各批次云主机数量相同,并不能够保证各批次云主机的云盘负载相同,仍然不能有效地降低云盘热升级对客户业务的影响。
本实施例提供一种云盘升级的调度方法,应用于云盘升级的调度装置。可以有效降低云盘升级对客户业务的影响,本实施例的调度方法如图3所示,相应的系统架构可参见图7和图8。本实施例的云盘升级为云盘热升级,但本发明不局限于此,
本实施例的调度方法包括:
步骤110,调度装置获取集群内的云主机的云盘负载信息;
本实施例的云盘升级是指云盘热升级,为了表述上的简洁,在没有相反指示的情况下,本申请所说的云主机是指包括云盘的云主机,例如图1中计算集群中的云主机。
本步骤中所说的“集群内的云主机”是统一进行云盘热升级调度的集群内的云主机,在一个示例中,该集群内的云主机是指整个集群内所有的云主机,即该示例的云盘热升级机制是以集群为单位,但本申请不局限于此。在另一示例中,集群规模较小,调度装置也可以对多个集群内的云主机统一进行热升级调度。而在又一示例中,集群规模较大,也可以将一个集群内的所有云主机分成两部分或更多部分,每部分的云主机独立进行云盘热升级的调度。等等。
本实施例中,集群内的云主机的云盘负载信息是集群内的云主机分别发送的。调度装置获取集群内的云主机分别发送的云盘负载信息,可以是直接接收到集群内的云主机分别发送的云盘负载信息,但不局限于此,例如,集群内的云主机可以将各自的云盘负载信息分别发送到某中间节点,再由该中间节点转发给调度装置,或者再由调度装置向该中间节点查询,获取到集群内的云主机的云盘负载信息。
云主机中云盘的数量越多,通常涉及的客户越多,则升级该云主机中的云盘软件模块被影响的业务面越多,如果升级后的云盘软件模块有bug,则引起的故障级别会越高。而云主机中云盘的实际每秒读写操作次数(IOPS:Input/Output Operations Per Second)越大,说明实际的业务量越大,升级该云主机中的云盘软件模块影响的业务量也越大,如果升级后的云盘软件模块有bug,引起的故障级别也越高。与IOPS类似的,云主机中云盘的吞吐量的信息,即云盘在单位时间内写入加读出的数据的大小,也可以反映业务量的大小。本实施例将云主机中云盘的数量、IOPS信息和吞吐量信息中的至少一种作为云盘负载信息。但是,也可以将其他参数作为云盘负载信息,例如,将云盘的读写操作的延迟时间作为云盘负载信息,延时时间越大,说明等待写入的数量越多,也可以反映业务量的大小。
需要说明的是,在云主机提供云盘服务的过程中,客户随时都有可能创建新的云盘,或者删除已创建的云盘,云主机中云盘的数量处于变化中,需要上报。需要说明的是,本申请云主机中云盘的IOPS并不是创建云盘时约定的标称值,而是基于实际检测的云盘的IOPS得到的统计值,例如,对每个云盘,计算最近半个小时(或1小时或10分钟等其他时长)内的IOPS的平均值,作为该云盘的IOPS。
本实施例中,云主机中云盘的IOPS的信息,可以是云主机中云盘的IOPS之和,也可以是云主机中云盘的IOPS的平均值,或者是云主机中云盘的IOPS的列表(例如云主机中有3个云盘,则列表中包括云盘1的IOPS、云盘2的IOPS和云盘3的IOPS),等等。根据这些信息,均可以计算出同一批次的所有云主机中云盘的IOPS之和。例如,云主机中云盘的IOPS的信息是云主机中云盘的IOPS的平均值时,对同一批次的每一云主机,该云主机中云盘的IOPS的平均值乘以该云主机中云盘的数量,得到的积即得到该云主机中云盘的IOPS之和,再将对同一批次所有云主机计算得到的积累加起来,即可得到同一批次的所有云主机中云盘的IOPS之和。
在本实施例的一个示例中,调度装置在进行云盘热升级之前,向集群内的云主机分别发送对云盘负载信息的请求,然后接收所述集群内的云主机分别发送的云盘负载信息。集群内的云主机接收到该请求后,计算各自云主机中云盘的IOPS,将各自云主机中云盘的IOPS和数量分别发送给调度装置。在另一示例中,调度装置或集群中的其他管理、维护节点可以将云盘热升级的时间点(一次可约定一次或多次升级的时间点)提前通知集群内的云主机,集群内的云主机在该时间点到达时或者提前设定的时长,将云盘负载信息分别发送给调度装置。在其他示例中,集群内的云主机也可以按照约定的上报时间发送云盘负载信息,本申请对此不做局限。
步骤120,所述调度装置根据获取的所述云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将所述集群内的云主机划分到至少一个批次;
本实施例中,对同一批次所有云主机的云盘负载的限制条件,包括以下限制条件中的至少一种:
同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值;
同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值;
同一批次的所有云主机中云盘的吞吐量之和不超过设定的吞吐量阈值。
在本实施例的第一个示例中,所述限制条件包括:同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值(此时云主机的云盘负载信息包括云主机中云盘的数量)。假定本示例设定的数量阈值为20,而云主机1中云盘的数量为5,云主机2中云盘的数量为8,云主机3中云盘的数量为6,云主机4中云盘的数量为3,则可以将云主机1、云主机2和云主机3划分到同一批次,不能够将云主机1、云主机2、云主机3和云主机4划分到同一批次。可选地,在计算多个云主机中云盘的数量之和时可以加入权重系数,对服务等级越高的云盘可以赋予越大的权重。对同一批次的所有云主机中云盘的数量之和进行限制,可以有效降低云盘热升级对业务面的影响。
在本实施例的第二个示例中,所述限制条件包括:同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值(此时云主机的云盘负载信息包括云主机中云盘的IOPS的信息)。假定本示例设定的IOPS阈值为2G,而云主机1中云盘的IOPS之和为1G,云主机2中云盘的IOPS之和为200M,云主机3中云盘的IOPS之和为1.2G,则可以将云主机1和云主机2、或云主机2和云主机3划分到同一批次,不能够将云主机1和云主机3划分到同一批次。同样,在计算多个云主机中云盘的数量之和时可以加入权重系数,对服务等级越高的云盘可以赋予越大的权重。对同一批次的所有云主机中云盘的IOPS之和进行限制,可以有效降低云盘热升级对业务量的影响。
在本实施例的第三个示例中,所述限制条件包括:同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值,且同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值(此时云主机的云盘负载信息包括云主机中云盘的数量和IOPS的信息)。也即,该第三个示例同时使用了第一个示例和第二个示例中的限制条件,因而可以有效降低云盘热升级对业务面和业务量的影响。
依据上述的3种限制条件,还可以得出更多的示例,这里不再一一列举。
步骤130,所述调度装置按照划分的批次,逐批次地向所述集群内的云主机发送云盘升级的指令。
本实施例中,上述云盘升级的指令为云盘热升级的指令。本步骤中,调度装置逐批次地向所述集群内的云主机发送云盘热升级的指令时,每次向当前批次的所有云主机分别发送云盘热升级的指令后,如果接收到当前批次的所有云主机返回的云盘热升级的结果或等待超时,且没有发现云盘热升级错误,再向下一批次的所有云主机发送云盘热升级的指令,直到所有批次升级完毕。
例如,调度装置首先将第一个批次作为当前批次,向第一个批次的所有云主机分别发送云盘热升级的指令,第一个批次的云主机收到指令之后对云盘进行云盘热升级并向所述调度装置返回云盘热升级的结果。如果调度装置在设定的等待时长之内收到第一个批次的所有云主机发送的云盘热升级的结果,则表示第一个批次的云盘热升级完成,即可以开始下一批次的云盘热升级。由于通信连接可能出现故障,导致第一个批次的云主机没有收到云盘热升级的指令,或者调度装置没有收到第一个批次的至少一台云主机发送的云盘热升级的结果,则调度装置在等待超时后,即开始下一批次的云盘热升级。对于没有收到其云盘热升级的结果的云主机,调度装置可以在向所有批次的云主机发送过云盘热升级的指令后,再对这些云主机重发云盘热升级的指令。
本实施例还提供了一种云盘升级的调度装置,如图4所示,包括存储器20、处理器10及存储在所述存储器20上并可在所述处理器10上运行的计算机程序,所述处理器10执行所述计算程序时实现如本发明实施例所述的任一调度方法的处理。在图7和图8所示的示例中,整个集群中设置一个云盘升级的调度装置,该调度装置可以与集群内每一个包含云盘的云主机通信,接收集群内的云主机分别发送的云盘负载信息如云盘数量、IOPS等,根据云盘负载信息进行热升级调度即将集群内的云主机划分到至少一个批次,然后分批次向集群内的云主机发送云盘热升级的指令。在实体上,调度装置可以是一个独立设置的设备,也可以与集群中的云主机集成在一起,还可以与集群中的其他节点集成在一起。
本实施例的云盘热升级的调度方法和装置,根据集群内的云主机的云盘负载情况统一调度,在划分批次时限制同一批次升级的所有云主机的云盘负载,在集群内的云主机的云盘负载较大时,可以将集群内的云主机划分到更多的批次逐批进行云盘热升级,从而可以减少云盘热升级过程中带来的IO延迟和IO毛刺,而如果升级后的云盘软件系统有bug,则引起的故障影响的业务面和业务量也较小,故障级别较低。因此本实施例的方案可以降低云盘热升级对客户业务的影响程度。
实施例二
本实施例集群内的云主机执行的云盘升级方法如图5所示,包括:
步骤210,云主机将本云主机的云盘负载信息发送给云盘升级的调度装置;
本实施例中的云盘升级为云盘热升级。所述本云主机的云盘负载信息包括以下信息中的至少一种:本云主机中云盘的数量,本云主机中云盘的IOPS的信息,本云主机中云盘的吞吐量的信息。
本实施例中,所述云主机可以在收到调度装置发送的对云盘负载信息的请求后,将本云主机的云盘负载信息发送给云盘升级的调度装置。或者,所述云主机接收到调度装置或其他管理、维护节点发送的云盘热升级的时间点,在该时间点到达时(或者提前设定的时长),将本云主机的云盘负载信息发送给云盘升级的调度装置。或者,所述云主机也可以按照约定的上报时间将本云主机的云盘负载信息发送给云盘升级的调度装置。
步骤220,所述云主机接收所述调度装置发送的云盘升级的指令,对本云主机中的云盘进行云盘升级并向所述调度装置返回云盘升级的结果。
如前所述,本实施例的云盘升级是指云盘热升级,云盘热升级是对云主机上的云盘软件系统的升级,升级过程中不停止云盘服务和云服务器的运行。在提供云盘服务的过程中,该云盘软件系统的程序载入内存并运行,以提供云盘服务,例如,处理客户的云盘读写请求。当需要升级云盘软件系统的版本时,调度装置可以通过云盘升级的指令或者其他方式,将云盘软件系统的新版本的程序发送给云主机,云主机用新版本的程序替换掉旧版本的程序之后,会将还未结束的读写操作挂起,结束已运行的程序,将新版本的程序载入内存并运行,即进行程序重启,由重启后的程序继续挂起的读写操作。
在程序重启的时间窗口内(比如2~3秒等),当前云主机的所有云盘会出现短暂的IO暂停,造成IO延迟升高和IO毛刺现象。假定当前云主机上的云盘数量为N,该云主机中云盘的IOPS的信息为X(表示该N个云盘的IOPS的平均值),假设升级云盘软件模块时的重启进程需要Y秒,那么在升级窗口内,受影响的IO总数将是N×X×Y,这个总数越大,云盘热升级带来的IO毛刺和基于服务等级协议(SLA:Service-LevelAgreement)的服务质量下降越明显。
云主机进行云盘热升级后,向所述调度装置返回云盘热升级的结果,可能是热升级成功,也可能是热升级失败。
上述处理是集群内的一台云主机执行的处理,对于在云盘热升级时统一调度的集群内的每一云主机,均可按照上述方法进行云盘热升级。
本实施例还提供了一种云主机,仍请参见图4,包括存储器20、处理器10及存储在所述存储器20上并可在所述处理器10上运行的计算机程序,所述处理器10执行所述计算程序时实现如本发明实施例所述的任一云盘升级方法的处理。
如图6-图8所示,从功能模块来看,提供云盘服务的每一台云主机中均包括一云盘软件模块和一云盘升级模块,云盘软件模块用于实现云盘服务,而云盘升级模块用于在接收到所述调度装置对云盘负载信息的请求后,向所在云主机的云盘软件模块查询,得到所在云主机的云盘负载信息并发送给所述调度装置;及,在接收到所述调度装置发送的云盘升级的指令后,对所在云主机的云盘软件模块进行云盘升级并向所述调度装置返回云盘升级的结果。本实施例中,所述云盘升级为云盘热升级。
在一个示例中,云盘的数量可以从云盘软件模块直接读取,而云盘的IOPS统计值、吞吐量统计值可以基于云盘软件模块记录各个云盘的IOPS数据和吞吐量数据加以统计得到。
本实施例的云盘热升级方法和云主机,在对云盘进行热升级前,将本云主机中的云盘负载信息发送给云盘升级的调度装置,从而使得该调度装置可以根据集群内的云主机分别发送的云盘负载信息统一调度,限制同一批次升级的所有云主机的云盘负载,例如,限制同一批次升级的所有云主机的云盘数量之和、IOPS之和等,就可以精确控制每一批次受云盘热升级影响的云盘个数和IOPS总数,减少同一时间出现IO延迟和IO毛刺的业务。而在升级后的云盘软件系统有bug时,引起的故障影响的也是这些云盘和相应的业务,从而可以有效降低云盘热升级对客户业务的影响。
实施例三
本实施例提供一种云盘升级系统,可同时参见图1、图6-图7,该云盘升级系统包括云盘升级的调度装置9和集群内的云主机8,集群内的云主机8包括由调度装置9统一进行云盘升级调度的多台云主机,也可称为由调度装置统一进行云盘升级调度的一组云主机或云主机集。
其中:
每一所述云主机8,用于将本云主机8的云盘负载信息发送给所述调度装置9;及,接收所述调度装置9发送的云盘升级的指令,对本云主机8中的云盘进行云盘升级;
所述调度装置9,用于接收所述集群内的云主机8分别发送的云盘负载信息,根据所述云盘负载信息和对同一批次所有云主机8的云盘负载的限制条件,将所述集群内的云主机8划分到至少一个批次;及,按照划分的批次,逐批次地向所述集群内的云主机8发送云盘升级的指令。
如图6所示,每一云主机包括云服务器85、云盘软件模块81和云盘升级模块83,云盘软件模块81与云服务器85连接,其中:
云盘软件模块81,用于实现云盘服务;
云盘升级模块83,用于在接收到调度装置9对云盘负载信息的请求后,向所在云主机8的云盘软件模块81查询,得到所在云主机8的云盘负载信息并发送给调度装置9;及,在接收到调度装置9发送的云盘升级的指令后,对所在云主机8的云盘软件模块81进行云盘升级并向所述调度装置返回云盘升级的结果;
所述调度装置还用于在云盘升级前,向所述集群内的云主机分别发送对云盘负载信息的请求。
本实施例中,所述云盘升级为云盘热升级。
本实施例中,所述云主机的云盘负载信息包括以下信息中的至少一种:云主机中云盘的数量,云主机中云盘的IOPS的信息,云主机中云盘的吞吐量的信息。
所述对同一批次所有云主机的云盘负载的限制条件,包括以下限制条件中的至少一种:
同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值;
同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值;
同一批次的所有云主机中云盘的吞吐量之和不超过设定的吞吐量阈值。
关于云盘负载信息和限制条件,上文已多有描述,这里不再重复。
请参见图7和图8所示的系统,一个示例性的对整个集群内的云主机进行云盘热升级的流程如下:
步骤一,云盘升级的调度装置9向集群内所有云主机8分别发送对云盘负载信息的请求,该请求发送到云主机8的云盘升级模块83;
步骤二,云盘升级模块83向所在云主机8的云盘软件模块81查询,得到所在云主机8的云盘负载信息(包括所在云主机中云盘的数量和IOPS统计值),发送给调度装置9;
步骤三,调度装置9在接收到集群内所有云主机8分别发送的云盘负载信息后,按照设定的限制条件进行计算,将集群内所有云主机划分到至少一个批次,每一批次包括特定的一个或多个云主机;
本示例中,所述限制条件包括:同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值,且同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值。这可以有效降低云盘热升级对业务面和业务量的影响程序。
在图8所示的示例中,调度装置将N台云主机划分为X个批次,其中第1批只包括云主机1,第2批包括云主机2和云主机3,……,第X批包括云主机N。
步骤四,调度装置9按照划分的批次进行调度升级,向当前批次的所有云主机8上的云盘升级模块83发送云盘热升级的指令;
步骤五,各云主机8中的云盘升级模块83收到云盘升级的指令后,对所在云主机8的云盘软件模块81进行升级如版本升级(重启服务),并发送云盘热升级的结果给调度装置9;
步骤六,调度装置9根据接收的云盘热升级的结果,确认当前批次的所有云主机都升级完毕后,调度下一批次的云主机进行云盘热升级,直到所有批次的云主机都升级完毕。
本实施例基于云盘升级的调度装置和云主机中的云盘升级模块一起合作,可以精确控制整个集群的云主机中云盘的升级,确保云盘热升级按照指定批次来进行。通过预先收集统计集群内的云主机的云盘负载信息,根据限制条件划分批次时,每一批次所有云主机的云盘负载均不超过相应的阈值,从而保证每一批次升级的云盘负载相对均衡,影响的业务面和业务量较小,这也降低了升级后程序存在bug时影响的业务面和业务量。因而,本实施例可以减少升级时没有考虑云盘负载,导致热升级过程不够平缓带来的IO毛刺和SLA下降的问题。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (14)
1.一种云盘升级的调度方法,包括:
调度装置获取集群内的云主机的云盘负载信息;
所述调度装置根据获取的所述云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将所述集群内的云主机划分到至少一个批次;
所述调度装置按照划分的批次,逐批次地向所述集群内的云主机发送云盘升级的指令。
2.如权利要求1所述的方法,其特征在于:
所述云盘升级为云盘热升级。
3.如权利要求1或2所述的方法,其特征在于:
所述云主机的云盘负载信息包括以下信息中的至少一种:
云主机中云盘的数量;
云主机中云盘的每秒读写操作次数(IOPS)的信息;
云主机中云盘的吞吐量的信息。
4.如权利要求3所述的方法,其特征在于:
所述对同一批次所有云主机的云盘负载的限制条件,包括以下限制条件中的至少一种:
同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值;
同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值;
同一批次的所有云主机中云盘的吞吐量之和不超过设定的吞吐量阈值。
5.如权利要求1或2所述的方法,其特征在于:
所述调度装置获取集群内的云主机的云盘负载信息,包括:
所述调度装置向所述集群内的云主机分别发送对云盘负载信息的请求;
所述调度装置接收所述集群内的云主机分别发送的云盘负载信息。
6.一种云盘升级的调度装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算程序时实现如权利要求1-5中所述的任一方法的处理。
7.一种云盘升级方法,包括:
云主机将本云主机的云盘负载信息发送给云盘升级的调度装置;
所述云主机接收所述调度装置发送的云盘升级的指令,对本云主机中的云盘进行云盘升级并向所述调度装置返回云盘升级的结果。
8.如权利要求7所述的方法,其特征在于:
所述云盘升级为云盘热升级。
9.如权利要求7所述的方法,其特征在于:
所述本云主机的云盘负载信息包括以下信息中的至少一种:
本云主机中云盘的数量;
本云主机中云盘的每秒读写操作次数(IOPS)的信息;
本云主机中云盘的吞吐量的信息。
10.一种云主机,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算程序时实现如权利要求7或8或9所述的方法的处理。
11.一种云盘升级系统,其特征在于,包括云盘升级的调度装置和集群内的云主机,其中:
每一所述云主机,用于将本云主机的云盘负载信息发送给所述调度装置;及,接收所述调度装置发送的云盘升级的指令,对本云主机中的云盘进行云盘升级并向所述调度装置返回云盘升级的结果;
所述调度装置,用于接收所述集群内的云主机分别发送的云盘负载信息,根据所述云盘负载信息和对同一批次所有云主机的云盘负载的限制条件,将所述集群内的云主机划分到至少一个批次;及,按照划分的批次,逐批次地向所述集群内的云主机发送云盘升级的指令。
12.如权利要求11所述的系统,其特征在于:
每一所述云主机包括:
云盘软件模块,用于实现云盘服务;
云盘升级模块,用于在接收到所述调度装置对云盘负载信息的请求后,向所在云主机的云盘软件模块查询,得到所在云主机的云盘负载信息并发送给所述调度装置;及,在接收到所述调度装置发送的云盘升级的指令后,对所在云主机的云盘软件模块进行云盘升级并向所述调度装置返回云盘升级的结果;
所述调度装置还用于在云盘升级前,向所述集群内的云主机分别发送对云盘负载信息的请求。
13.如权利要求11或12所述的系统,其特征在于:
所述云盘升级为云盘热升级。
14.如权利要求11或12所述的系统,包括:
所述云主机的云盘负载信息包括以下信息中的至少一种:
云主机中云盘的数量;
云主机中云盘的每秒读写操作次数(IOPS)的信息;
云主机中云盘的吞吐量的信息;
所述对同一批次所有云主机的云盘负载的限制条件,包括以下限制条件中的至少一种:
同一批次的所有云主机中云盘的数量之和不超过设定的数量阈值;
同一批次的所有云主机中云盘的IOPS之和不超过设定的IOPS阈值;
同一批次的所有云主机中云盘的吞吐量之和不超过设定的吞吐量阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745002.1A CN110708345A (zh) | 2018-07-09 | 2018-07-09 | 云盘升级方法、调度方法及云主机、调度装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810745002.1A CN110708345A (zh) | 2018-07-09 | 2018-07-09 | 云盘升级方法、调度方法及云主机、调度装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110708345A true CN110708345A (zh) | 2020-01-17 |
Family
ID=69192745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810745002.1A Pending CN110708345A (zh) | 2018-07-09 | 2018-07-09 | 云盘升级方法、调度方法及云主机、调度装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110708345A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093995A (zh) * | 2021-04-12 | 2021-07-09 | 杭州朗澈科技有限公司 | 一种云盘数据的迁移方法和系统 |
WO2023136876A1 (en) * | 2022-01-11 | 2023-07-20 | Microsoft Technology Licensing, Llc. | Techniques for deploying changes to improve reliability of a cloud service |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741894A (zh) * | 2008-11-26 | 2010-06-16 | 中国移动通信集团公司 | 一种分布式系统的升级方法、升级调度节点及系统 |
CN102811136A (zh) * | 2011-06-01 | 2012-12-05 | 南京中兴新软件有限责任公司 | 软件升级系统及方法 |
CN102945175A (zh) * | 2012-11-09 | 2013-02-27 | 杭州易和网络有限公司 | 一种基于云计算环境的终端软件在线升级系统及其方法 |
CN104660639A (zh) * | 2013-11-22 | 2015-05-27 | 南京中兴新软件有限责任公司 | 云终端升级处理方法及装置 |
CN105306551A (zh) * | 2015-09-29 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种虚拟主机的管理系统和方法 |
CN108008968A (zh) * | 2017-12-25 | 2018-05-08 | 苏州赛源微电子有限公司 | 一种小内存设备的软件升级系统 |
-
2018
- 2018-07-09 CN CN201810745002.1A patent/CN110708345A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741894A (zh) * | 2008-11-26 | 2010-06-16 | 中国移动通信集团公司 | 一种分布式系统的升级方法、升级调度节点及系统 |
CN102811136A (zh) * | 2011-06-01 | 2012-12-05 | 南京中兴新软件有限责任公司 | 软件升级系统及方法 |
CN102945175A (zh) * | 2012-11-09 | 2013-02-27 | 杭州易和网络有限公司 | 一种基于云计算环境的终端软件在线升级系统及其方法 |
CN104660639A (zh) * | 2013-11-22 | 2015-05-27 | 南京中兴新软件有限责任公司 | 云终端升级处理方法及装置 |
CN105306551A (zh) * | 2015-09-29 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种虚拟主机的管理系统和方法 |
CN108008968A (zh) * | 2017-12-25 | 2018-05-08 | 苏州赛源微电子有限公司 | 一种小内存设备的软件升级系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113093995A (zh) * | 2021-04-12 | 2021-07-09 | 杭州朗澈科技有限公司 | 一种云盘数据的迁移方法和系统 |
WO2023136876A1 (en) * | 2022-01-11 | 2023-07-20 | Microsoft Technology Licensing, Llc. | Techniques for deploying changes to improve reliability of a cloud service |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866840B2 (en) | Dependent system optimization for serverless frameworks | |
US11016956B2 (en) | Database management system with database hibernation and bursting | |
US9513835B2 (en) | Impact-based migration scheduling from a first tier at a source to a second tier at a destination | |
US20190372844A1 (en) | Synchronizing network configuration in a multi-tenant network | |
US8606905B1 (en) | Automated determination of system scalability and scalability constraint factors | |
US7712096B2 (en) | Method, system, and storage medium for dynamically reordering resource participation in two-phase commit to heuristically optimize for last-agent optimization | |
US11150999B2 (en) | Method, device, and computer program product for scheduling backup jobs | |
CN107566214B (zh) | 一种性能测试方法和装置 | |
CN111897633A (zh) | 一种任务处理的方法和装置 | |
US11221943B2 (en) | Creating an intelligent testing queue for improved quality assurance testing of microservices | |
US20170054592A1 (en) | Allocation of cloud computing resources | |
CN110673933A (zh) | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 | |
CN111930493A (zh) | 集群中NodeManager状态管理方法、装置及计算设备 | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN110708345A (zh) | 云盘升级方法、调度方法及云主机、调度装置和系统 | |
CN108259595A (zh) | 一种服务间异步调用的方法及系统 | |
CN111342986B (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
US11243979B1 (en) | Asynchronous propagation of database events | |
US11561824B2 (en) | Embedded persistent queue | |
CN110909023B (zh) | 一种查询计划的获取方法、数据查询方法及装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN111404828A (zh) | 实现全局流控的方法及装置 | |
CN115827646A (zh) | 索引配置方法、装置和电子设备 | |
CN114090201A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |