1.本申请涉及云技术,例如涉及一种云操作系统的管理方法、装置、服务器、管理系统及介质。
背景技术:
2.云计算通过虚拟化技术将用户的计算服务(虚拟机)、云盘集中部署到硬件服务器和磁阵上,可以大幅提升资源利用率,云操作系统用于控制和管理计算节点的服务器,保证虚拟机使用的计算资源和存储资源的可靠性,从而在线向用户提供计算服务。实际运营中,需要对云操作系统中的虚拟基础设施控制管理(virtualized infrastructure manager,vim)、计算节点等的软件版本进行更新,包括软件版本的升级或者回退,通常采用离线升级方式,即在更新过程中关闭云资源池内的所有虚拟机,更新完成后再重新启动虚拟机,导致业务服务中断。现有技术中,可以通过容灾资源池暂时处理业务服务,但需要进行大规模跨资源池操作,这要求资源池间具有足够大的网络带宽、预留足够的计算和存储节点来承载虚拟机,耗费的资源成本较高、处理过程复杂;也有一些方法通过单独的网络实体协助完成版本更新,但在大多应用场景下并没有类似的网络实体,并且不同供应商或不同类型业务的处理方式和配置分区不一致,无法统一处理,导致版本更新或系统管理的效率偏低。
技术实现要素:
3.本申请提供一种云操作系统的管理方法、装置、服务器、管理系统及介质,在云操作系统的vim和计算节点内实现版本更新和重启,提高系统管理的效率。
4.本申请实施例提供一种云操作系统的管理方法,包括:
5.根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;
6.查询所述计算节点中部署的虚拟机的业务状态;
7.若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;
8.在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
9.本申请实施例还提供了一种云操作系统的管理装置,包括:
10.更新模块,设置为根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;
11.查询模块,设置为查询所述计算节点中部署的虚拟机的业务状态;
12.业务处理模块,设置为若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;
13.重启模块,设置为在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
14.本申请实施例还提供了一种服务器,包括:
15.一个或多个处理器;
16.存储装置,用于存储一个或多个程序;
17.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的云操作系统的管理方法。
18.本申请实施例还提供了一种管理系统,包括:云操作系统的节点以及上述的服务器;
19.所述云操作系统的节点用于部署或调度虚拟机;
20.所述服务器用于对所述云操作系统的节点进行生命周期管理(life cyclemanagement,lcm)。
21.本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的云操作系统的管理方法。
22.本申请实施例提供一种云操作系统的管理方法、装置、服务器、管理系统及介质。该方法在对云操作系统中的节点进行版本更新的过程中,无需耗费计算节点以外的资源,降低资源成本,并且在保证服务不中断的情况下重启计算节点,提高了版本更新和系统管理的效率。
附图说明
23.图1为一实施例提供的一种云操作系统的管理方法的流程图;
24.图2为一实施例提供的一种重启计算节点的流程图;
25.图3为一实施例提供的一种更新云服务软件的流程图;
26.图4为一实施提供的一种在虚拟机或容器中部署核心组件和代理软件的示意图;
27.图5为另一实施例提供的一种更新云服务软件的流程图;
28.图6为一实施提供的一种云操作系统的管理装置的结构示意图;
29.图7为一实施例提供的一种服务器的硬件结构示意图;
30.图8为一实施例提供的一种管理系统的结构示意图;
31.图9为一实施例提供的一种管理系统的实现示意图。
具体实施方式
32.下面结合附图和实施例对本申请进行说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
33.云操作系统可以根据要求为用户分配指定规格的虚拟机,虚拟机的规格参数包括cpu数量、内存大小、云盘容量等。云操作系统需要保证虚拟机使用的计算资源和存储资源的可靠性,保证虚拟资源始终处于在线服务状态。云操作系统中主要部署了计算节点和vim节点,计算节点包括为用户提供虚拟机的服务器、提供存储云盘的磁阵、存储服务器、提供虚拟网络的物理交换机、虚拟交换机、路由器、防火墙等;vim节点主要用于管理用户资源节点,包括为用户分配计算资源、存储资源和网络资源,对这些资源进行合理调度。
34.云操作系统的云服务组件一般包括身份认证组件、计算管理组件、存储管理组件、网络管理组件以及其它一些功能组件。vim节点上部署了上述组件核心进程,计算节点上部署了云服务组件代理进程,用于收集资源信息、向vim节点的核心服务进程上报计算节点的配置信息,对计算节点进行性能统计和告警等;还用于根据vim节点核心服务进程的指令,在计算节点上创建虚拟网络、虚拟存储、虚拟机等,实现虚拟机的生命周期管理。
35.实际运营中,需要对云操作系统中的节点,例如vim节点、计算节点的云服务软件版本进行更新,采用离线方式会导致业务服务中断,影响系统的正常使用。相关技术中在线更新的方式需要跨池操作,耗费的资源成本较高、处理过程复杂,或者需要借助单独的网络实体协助完成版本更新,但在大多应用场景下并没有类似的网络实体,并且不同供应商或不同类型业务的处理方式和配置分区不一致,无法统一处理,因此,版本更新或系统管理的效率偏低。
36.本申请实施例提供一种云操作系统的管理方法,应用于对云操作系统进行生命周期管理的服务器,在对云操作系统中的节点的版本更新的过程中,无需耗费计算节点以外的资源,降低资源成本,并且在保证服务不中断的情况下重启计算节点,提高了版本更新和系统管理的效率。
37.图1为一实施例提供的一种云操作系统的管理方法的流程图,如图1所示,本实施例提供的方法包括步骤110-140。
38.在步骤110中,根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点。
39.在步骤120中,查询所述计算节点中部署的虚拟机的业务状态。
40.在步骤130中,若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;
41.在步骤140中,在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
42.本实施例中,云操作系统的节点主要包括vim节点和计算节点,计算节点可作为vim节点的代理,对云操作系统的管理主要指对vim节点和计算节点的更新。更新包括两部分,第一部分为对云服务软件的更新,包括软件版本的升级和回退,云服务软件是云操作系统的管理核心,这部分更新涉及到管理软件的升级和云服务的重启等,但不会影响到虚拟机中正在运行的业务;第二部分主要为对计算节点操作系统及数据库、通讯等中间件的更新,此过程中可能需要重启计算节点。对于待重启的计算节点,在部署的虚拟机的业务状态均为空闲状态的情况下才会允许重启,如果该计算节点中部署的虚拟机中存在运行虚拟机,即业务状态为运行状态的虚拟机,则需要针对运行虚拟机进行业务倒换或虚拟机迁移,在保证该计算节点中部署的虚拟机的业务状态为空闲状态或备用状态的情况下再进行重启,从而避免重启计算节点时会导致虚拟机宕机,进而保证业务服务的可靠性。
43.本实施例提供的云操作系统的管理方法,服务器可以通过vim节点直接与计算节点所承载的虚拟机进行交互,交互流程简单、交互次数少,不需要大量的分区计算,也不需要借助其他实体,降低资源成本;在电信领域或互联网(internet technology,it)领域,在保证服务不中断的情况下重启计算节点,不会影响虚拟机业务的正常运行,可以实现在线升级;在it领域桌面云应用领域,可以将对虚拟机应用的影响降低到最低、提高更新速度和
效率。
44.图2为一实施例提供的一种重启计算节点的流程图。本实施例中,重启计算节点主要指对云操作系统的管理的第二部分,涉及到计算节点的重启。如图2所示,重启计算节点的过程包括:
45.步骤131:查询计算节点中部署的虚拟机的业务状态。
46.步骤132:计算节点中部署的各虚拟机的业务状态均为空闲状态?
47.步骤133:重启该计算节点。
48.步骤134:业务状态为运行状态的运行虚拟机的配置类型为冗余配置?
49.步骤135:通知该运行虚拟机将正在运行的业务倒换至部署在其他计算节点中的冗余虚拟机,并在倒换完成后重启该计算节点。
50.步骤136:将该运行虚拟机迁移至其他计算节点;并在迁移完成后重启所述计算节点。
51.本实施例中,在计算节点中部署的各虚拟机的业务状态均为空闲状态的情况下,可以直接重启该计算节点;对于运行虚拟机,即正在运行业务的虚拟机,如果其配置类型为冗余配置(主备配置)的虚拟机,例如在电信等高可用场景,虚拟机可以是1:1冗余配置、1 1冗余配置或n m冗余配置等,这些冗余配置的虚拟机是反亲和部署,即冗余配置的虚拟机用于处理相同类型的业务,但不会部署在同一台计算节点上,这种情况下,在重启计算节点之前,将该运行虚拟机中正在运行的业务倒换到相对应的部署在其它计算节点上的冗余虚拟机,使业务可以继续运行,在倒换完成后再重启该计算节点;如果运行虚拟机的配置类型为非冗余配置,将该运行虚拟机从计算节点中迁移至其它计算节点,例如迁移至已完成更新的计算节点上,从而避免在计算节点之间进行反复迁移,迁移方式可以为冷迁移或热迁移。本实施例的管理方法在虚拟机配置了高可用(例如1:1冗余保护、1 1冗余保护,n m冗余保护)的情况下,能够保证运行虚拟机上业务的正常运行,避免宕机导致业务中断,实现云操作系统的在线升级。
52.上述实施例在管理云操作系统、重启计算节点的过程中,直接通过vim节点与计算节点通讯,通知计算节点中的运行虚拟机进行业务倒换,从而将计算节点中的虚拟机全部置为备用虚拟机,在此基础上再重启计算节点;对于没有主备配置的运行虚拟机执行虚拟机迁移操作,保证计算节点中部署的虚拟机的业务状态均为空闲状态或备用状态,然后再重启该计算节点,将对虚拟机业务的影响降至最小。
53.在一实施例中,所述节点还包括vim节点;所述根据版本变更指令更新云操作系统中的节点的云服务软件,包括:在接收到版本变更指令的情况下,向所述vim节点和所述计算节点上传通过校验的目标版本的软件包;将备份的数据库和配置项转换为所述目标版本的数据库和配置项并导入所述vim节点和所述计算节点;重启所述计算节点的云服务。
54.图3为一实施例提供的一种更新云服务软件的流程图。本实施例中,更新云服务软件主要指对云操作系统的管理的第一部分,涉及到软件版本的升级和云服务的关闭与重启等,但不会影响虚拟机中正在运行的业务。如图3所示,更新云服务软件的过程包括:
55.步骤111:在接收到版本变更指令的情况下向所述vim节点和计算节点上传通过校验的目标版本的软件包。
56.步骤112:将备份的数据库和配置项转换为目标版本的数据库和配置项并导入所
述vim节点和所述计算节点。
57.步骤113:重启所述计算节点的云服务。
58.本实施例中,服务器对要升级或回退的目标版本进行合法性校验和完整性校验,例如根据哈希(hash)算法或签名算法对目标版本进行校验,校验通过的软件模块或软件版本才允许导入云操作系统的vim节点和计算节点,向云操作系统的vim节点、计算节点上传通过校验的软件包之后,重启计算节点的云服务,保证云服务软件更新的安全性和可靠性。
59.以下对云操作系统的完整更新流程进行说明,具体包括:
60.1):备份云操作系统中vim节点、计算节点的数据库和配置文件,供升级和回退云服务软件时使用。
61.2):更新云操作系统中vim节点、计算节点的云服务软件,例如上传目标版本的软件包、导入转换后的、对应于目标版本的数据库和配置文件等。如果需要重启计算节点,则执行3)至8);如果不需要重启计算机节点,则转至9)。
62.3):通过vim节点查询所有计算节点,对于虚拟机业务状态均为空闲状态的计算节点(该计算节点上无正在运行的虚拟机),直接重启。
63.4):对于存在运行虚拟机的计算节点,如果运行虚拟机为冗余配置,则通过该计算节点与运行虚拟机间的通讯通道,通知该运行虚拟机将正在运行的业务倒换至部署在其他计算节点中的冗余虚拟机。
64.5):运行虚拟机接收到4)中的倒换指令,倒换业务。
65.6):通过计算节点与虚拟机间的通讯通道,查询该运行虚拟机的业务状态,确认业务倒换是否完成,如果已完成,则运行虚拟机已倒换为备用虚拟机(空闲状态);运行虚拟机将其业务状态或主备状态通过该通讯通道传递给服务器。
66.7):在运行虚拟机倒换为备用虚拟机(空闲状态)的情况下,重启该计算节点。
67.8):对于存在运行虚拟机的计算节点,如果运行虚拟机为非冗余配置,将该运行虚拟机从该计算节点中迁移至其它计算节点,迁移方式可以为冷迁移或热迁移,在迁移完成后再重启该计算节点。
68.9)更新云服务软件,在此过程中可以先暂停云服务(虚拟机中的业务可正常运行),云服务软件更新完成后,将1)中备份的数据库和配置文件转换成目标版本的数据库和配置文件,并导入到目标版本的云操作系统的vim节点和计算节点中,重启云服务。其中,目标版本可以是相对于原版本更高或更低的软件版本,从而实现云服务软件版本的升级或回退。
69.通过1)至9)完成了整个云操作系统的更新。需要说明的是,一个vim节点可对应于多个计算节点,本方法针对每个vim节点对应的所有计算节点,完成服务软件的更新和计算节点的重启操作。
70.在一实施例中,各节点的主机操作系统在升级时会先进行小批量升级,测试无误之后再进行大规模升级,从而尽量避免操作系统的回退。本实施例中对云操作系统进行回退时,可以仅考虑对云服务软件的回退(云操作系统管理的第一部分的回退),不考虑对操作系统的回退(云操作系统管理的第二部分的回退)。对云服务软件的回退过程包括:
71.a)获取在升级时备份的较低版本的数据库及配置文件;
72.b)暂停云服务,断开主备数据库之间的同步功能,并回退vim和计算节点的云服务
软件;
73.c)将a)中获取的数据库和配置文件并导入到回退后的云操作系统中;
74.d)重启vim节点和计算节点的云服务。
75.在一实施例中,所述节点还包括vim节点;所述云服务软件包括所述vim节点的核心组件和所述计算节点的vim代理软件;vim节点的核心组件部署在第一容器或目标虚拟机中;所述计算节点的代理软件部署在第二容器中。
76.本实施例中,将vim节点的核心组件部署到虚拟机或者容器中,将计算节点的代理软件部署到容器中,以缩短vim节点云服务软件的升级和回退时间。其中,“第一”、“第二”仅用于区分vim节点对应的容器和计算节点对应的容器,vim节点对应的第一容器或目标虚拟机可以为多个,分别用于部署不同版本的核心组件,计算节点对应的第二容器页可以为多个。
77.图4为一实施提供的一种在虚拟机或容器中部署核心组件和代理软件的示意图。如图4所示,vim节点的核心组件部署在虚拟机(或容器)中,其中,待更新版本对应于一个虚拟机(或容器),目标版本对应于一个虚拟机(或容器),目标版本的版本号高于待更新版本的版本号;计算节点的代理软件部署在容器中。在升级vim节点的云服务软件时,发布目标版本的虚拟机(或容器)的镜像,镜像(mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本,在上传了镜像的基础上,通过启动目标版本的虚拟机(或容器)即可实现快速升级至目标版本;在回退vim节点的云服务软件时,通过启动待更新版本的虚拟机(或容器)即可实现快速回退到待更新版本。
78.图5为另一实施例提供的一种更新云服务软件的流程图。本实施例中,目标版本的版本号高于待更新版本的版本号,版本变更指令为版本升级指令,更新云服务软件主要指升级云服务软件,如图5所示,更新云服务软件的过程包括:
79.步骤101:在接收到版本变更指令的情况下,校验第一镜像以及第二镜像的合法性和完整性。
80.本实施例中,第一镜像为部署vim节点的核心组件的第一容器或目标虚拟机的镜像,第二镜像为部署计算节点代理软件的第二容器的镜像。
81.步骤102:将通过校验的第一镜像上传至所述vim节点,并将通过校验的第二镜像上传至所述计算节点。
82.步骤103:将对应于待更新版本的第一容器、目标虚拟机或第二容器中的数据库和配置项转换为对应于目标版本的数据库和配置项。
83.步骤104:将所述对应于目标版本的数据库和配置项导入对应于目标版本的第一容器、目标虚拟机或第二容器中。
84.步骤105:根据版本变更指令,关闭所述对应于待更新版本的第一容器、目标虚拟机或第二容器,并启动所述对应于目标版本的第一容器、目标虚拟机或第二容器。
85.在一实施例中,所述根据版本变更指令更新vim节点和计算节点的云服务软件,包括:根据版本变更指令,关闭对应于目标版本的第一容器、目标虚拟机或第二容器;启动对应于待更新版本的第一容器、目标虚拟机或第二容器,其中,版本变更指令为版本回退指令,目标版本的版本号高于待更新版本的版本号。
86.本实施例中,更新云服务软件主要指回退云服务软件。由于在升级过程中,云操作
系统已经部署并保留了待更新版本的容器镜像或虚拟机镜像,在虚拟机镜像或容器镜像中还保存有之前正常运行的数据库和配置文件,因此回退过程的流程更加简单,vim节点直接启动待更新版本对应虚拟机或容器、关闭目标版本的虚拟机或容器,即可回退到之前较低版本的云服务软件。
87.本实施例的方法提供了对云操作系统软件的在线升级和回退功能,在升级和回退过程中都可保证业务虚拟机不停机、业务不中断,将对虚拟机业务的影响降至最小,并且可实现快速在线升级和回退云操作系统。
88.本申请实施例还提供一种云操作系统的管理装置。图6为一实施提供的一种云操作系统的管理装置的结构示意图。如图6所示,所述云操作系统的管理装置包括:更新模块210、查询模块220、业务处理模块230和重启模块240。
89.更新模块210,设置为根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;
90.查询模块220,设置为查询所述计算节点中部署的虚拟机的业务状态;
91.业务处理模块230,设置为若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;
92.重启模块240,设置为在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
93.本实施例的信号发送装置,通过云操作系统的管理装置实现对云操作系统vim节点和计算节点的版本更新,无需耗费计算节点以外的资源,降低资源成本,并且在保证服务不中断的情况下重启计算节点,提高了版本更新和系统管理的效率。
94.在一实施例中,业务处理模块230,具体设置为:
95.若所述运行虚拟机的配置类型为冗余配置,则通知所述运行虚拟机将正在运行的业务倒换至部署在其他计算节点中的冗余虚拟机,并在倒换完成后重启所述计算节点;
96.若所述运行虚拟机的配置类型为非冗余配置,则将所述运行虚拟机迁移至其他计算节点;并在迁移完成后重启所述计算节点。
97.在一实施例中,所述节点还包括vim节点;
98.更新模块210,具体设置为:
99.在接收到版本变更指令的情况下,向所述vim节点和所述计算节点上传通过校验的目标版本的软件包;
100.将备份的数据库和配置项转换为所述目标版本的数据库和配置项并导入所述vim节点和所述计算节点;
101.重启所述计算节点的云服务。
102.在一实施例中,所述节点还包括vim节点;
103.所述云服务软件包括所述vim节点的核心组件和所述计算节点的vim代理软件;
104.所述vim节点的核心组件部署在第一容器或目标虚拟机中;所述计算节点的代理软件部署在第二容器中。
105.在一实施例中,更新模块210,具体设置为:
106.校验第一镜像以及第二镜像的合法性和完整性,其中,所述第一镜像为所述第一容器或所述目标虚拟机的镜像,所述第二镜像为所述第二容器的镜像;
107.将通过校验的第一镜像上传至所述vim节点,将通过校验的第二镜像上传至所述计算节点;
108.将对应于待更新版本的第一容器、目标虚拟机或第二容器中的数据库和配置项转换为对应于目标版本的数据库和配置项,并将所述对应于目标版本的数据库和配置项导入对应于目标版本的第一容器、目标虚拟机或第二容器中;
109.根据版本变更指令,关闭所述对应于待更新版本的第一容器、目标虚拟机或第二容器,并启动所述对应于目标版本的第一容器、目标虚拟机或第二容器;
110.其中,所述版本变更指令为版本升级指令,所述目标版本的版本号高于待更新版本的版本号。
111.在一实施例中,所述根据版本变更指令更新vim节点和计算节点的云服务软件,包括:
112.根据版本变更指令,关闭对应于目标版本的第一容器、目标虚拟机或第二容器;
113.启动对应于待更新版本的第一容器、目标虚拟机或第二容器;
114.其中,所述版本变更指令为版本回退指令,所述目标版本的版本号高于待更新版本的版本号。
115.本实施例提出的云操作系统的管理装置与上述实施例提出的云操作系统的管理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行云操作系统的管理方法相同的有益效果。
116.本申请实施例还提供一种服务器。所述云操作系统的管理方法可以由云操作系统的管理装置执行,该云操作系统的管理装置可以通过软件和/或硬件的方式实现,并集成在所述服务器中。所述服务器可以作为云操作系统的管理节点,用于实现lcm的功能,在一些应用场景中,该服务器中也可以同时部署vim节点的虚拟基础设施控制管理功能。该服务器用于对云操作系统中的vim节点和计算节点进行生命周期管理、版本升级或回退等。
117.图7为一实施例提供的一种服务器的硬件结构示意图。如图7所示,本实施例提供的一种服务器,包括:处理器310和存储装置320。该服务器中的处理器可以是一个或多个,图7中以一个处理器310为例,所述服务器中的处理器310和存储装置320可以通过总线或其他方式连接,图7中以通过总线连接为例。
118.所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器实现上述任一实施例所述的云操作系统的管理方法。
119.该服务器中的存储装置320作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中云操作系统的管理方法对应的程序指令/模块(例如,附图6所示的云操作系统的管理装置中的模块,包括:更新模块210、查询模块220、业务处理模块和重启模块240)。处理器310通过运行存储在存储装置320中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的云操作系统的管理方法。
120.存储装置320主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据服务器的使用所创建的数据等(如上述实施例中的云服务软件、业务状态等)。此外,存储装置320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易
失性固态存储器件。在一些实例中,存储装置320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
121.并且,当上述服务器中所包括一个或者多个程序被所述一个或者多个处理器310执行时,实现如下操作:根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;查询所述计算节点中部署的虚拟机的业务状态;若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
122.本实施例提出的服务器与上述实施例提出的云操作系统的管理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行云操作系统的管理方法相同的有益效果。
123.本申请实施例还提供一种云操作系统。图8为一实施例提供的一种管理系统的结构示意图。如图8所示,该系统包括:云操作系统的节点420以及如上述实施例所述的服务器410;云操作系统的节点420用于部署或调度虚拟机;服务器410用于对云操作系统的节点420进行生命周期管理。
124.本实施例中,云操作系统的节点420包括vim节点和计算节点,服务器410用于执行上述任意实施例中的云操作系统的管理方法,该方法包括:根据版本变更指令更新云操作系统中的节点420的云服务软件,其中,所述云操作系统的节点420包括计算节点;查询所述计算节点中部署的虚拟机的业务状态;若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。
125.本实施例的管理系统,服务器在对云操作系统中的vim节点和计算节点的版本更新的过程中,无需耗费计算节点以外的资源,降低资源成本,并且通过业务倒换或虚拟机迁移保证在业务运行不中断的情况下重启计算节点,提高了版本更新和系统管理的效率。
126.在一实施例中,服务器410包括:图形用户界面gui模块、版本管理模块、升级回退处理模块和数据库模块;gui模块用于提供人机交互界面;版本管理模块用于校验目标版本并向云操作系统的节点420上传通过校验的目标版本的软件包;升级回退处理模块用于向云操作系统的节点420发送云服务软件的版本变更指令,所述版本变更指令为版本升级指令或版本回退指令;数据库模块用于存储云服务软件的升级信息或回退信息,以及存储系统管理日志。
127.图9为一实施例提供的一种管理系统的实现示意图。如图9所示,云操作系统的节点420包括vim节点421和计算节点422,服务器410、vim节点421都属于系统中的管理节点,服务器410用于对vim节点421和计算节点422的生命周期管理,还可通过vim节点421实现对计算节点422的虚拟机的调度,各管理节点的功能可以部署在相同或不同的服务器中。服务器410中,gui模块用于提供人机交互界面;版本管理模块主要用于对要升级和回退的软件版本进行合法性校验和完整性校验,向vim节点421、计算节点422上传更新至目标软件的软件包。版本管理模块可根据hash算法或签名算法对目标软件进行校验,只有通过校验的软件模块或软件版本才允许导入到云操作系统、上传到vim节点421和计算节点422;升级回退
处理模块主要用于软件版本的升级与回退处理。在升级和回退过程中,升级回退处理模块可以向vim节点421发送指令,从而查询各计算节点422中部署的虚拟机的业务状态(主备状态),并发出业务倒换指令、版本升级指令或版本回退指令等;数据库模块主要用于保存升级或回退的软件模块信息及日志信息,以便于检查或回溯升级或回退过程。
128.在一实施例中,在vim节点421和计算节点422中还可以部署lcm代理模块,用于根据服务器410的更新指令或重启指令等,控制执行对vim节点421和计算节点422的管理操作。lcm代理模块具体用于:向服务器410上报资源池信息,所述资源池信息包括云服务软件版本信息;接收服务器模块410发送的目标版本的软件包并上传至vim节点421和计算节点422;备份待更新版本的数据库和配置项;将备份的数据库和配置项转换为目标版本的数据库和配置项并导入vim节点421和计算节点422。本实施例中,服务器410可以与至少一个vim节点421部署,vim节点421可以有多个,每个vim节点421对应于一个计算节点422,每个节点上都可以部署lcm代理模块。lcm代理模块接受并执行服务器410的指令,实现云操作系统的节点的云服务软件信息查询、升级和回退等,在云服务软件升级失败的情况下,也可以回退软件包,并导入之前较低版本的配置文件和数据库。
129.在一实施例中,服务器410与虚拟机的通讯路径包括:服务器410、vim节点421的应用程序接口(application programming interface,api)、计算节点422以及虚拟机组成的通讯通道;或者,服务器410、lcm代理模块、计算节点422以及虚拟机组成的通讯通道。
130.本实施例中,服务器410在重启计算节点422之前需要通知计算节点422中部署的虚拟机将业务倒换到其它的冗余虚拟机上,此过程中需要查询该计算节点422中的所有虚拟机是否完成了业务倒换,该查询通过计算节点422与虚拟机的通讯通道实现,该通讯通道可以是网络通道,也可以是工业标准体系结构(industry standard architecture,isa)输入输出通道或串口通道,还可以利用内核虚拟机(kernel-based virtual machine,kvm)的qemu guest agent通道。服务器410与虚拟机的通讯路径可以有多种,例如,服务器410调用vim节点421的api接口,通过vim代理,经过所述的通讯通道与虚拟机通讯;又如,服务器410可直接与lcm代理模块通讯,通过lcm代理模块经过通讯通道与虚拟机通讯。
131.本申请实施例提供的一种云操作系统与上述实施例的云操作系统管理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行云操作系统的管理方法相同的有益效果。
132.本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种云操作系统的管理方法。
133.通过以上关于实施方式的描述,所属领域的技术人员可以了解到,本申请可借助软件及通用硬件来实现,也可以通过硬件实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请任意实施例所述的方法。
134.以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
135.本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机
程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(rom)、随机访问存储器(ram)、光存储器装置和系统(数码多功能光碟dvd或cd光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑器件(fgpa)以及基于多核处理器架构的处理器。
136.通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。
技术特征:
1.一种云操作系统的管理方法,其特征在于,包括:根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;查询所述计算节点中部署的虚拟机的业务状态;若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。2.根据权利要求1所述的方法,其特征在于,所述根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移,包括:若所述运行虚拟机的配置类型为冗余配置,则通知所述运行虚拟机将正在运行的业务倒换至部署在其他计算节点中的冗余虚拟机,并在倒换完成后重启所述计算节点;若所述运行虚拟机的配置类型为非冗余配置,则将所述运行虚拟机迁移至其他计算节点;并在迁移完成后重启所述计算节点。3.根据权利要求1所述的方法,其特征在于,所述节点还包括虚拟基础设施控制管理vim节点;所述根据版本变更指令更新云操作系统中的节点的云服务软件,包括:在接收到版本变更指令的情况下,向所述vim节点和所述计算节点上传通过校验的目标版本的软件包;将备份的数据库和配置项转换为所述目标版本的数据库和配置项并导入所述vim节点和所述计算节点;重启所述计算节点的云服务。4.根据权利要求1所述的方法,其特征在于,所述节点还包括vim节点;所述云服务软件包括所述vim节点的核心组件和所述计算节点的vim代理软件;所述vim节点的核心组件部署在第一容器或目标虚拟机中;所述计算节点的代理软件部署在第二容器中。5.根据权利要求4所述的方法,其特征在于,所述根据版本变更指令更新云操作系统中的节点的云服务软件,包括:校验第一镜像以及第二镜像的合法性和完整性,其中,所述第一镜像为所述第一容器或所述目标虚拟机的镜像,所述第二镜像为所述第二容器的镜像;将通过校验的第一镜像上传至所述vim节点,将通过校验的第二镜像上传至所述计算节点;将对应于待更新版本的第一容器、目标虚拟机或第二容器中的数据库和配置项转换为对应于目标版本的数据库和配置项,并将所述对应于目标版本的数据库和配置项导入对应于所述目标版本的第一容器、目标虚拟机或第二容器中;根据版本变更指令,关闭所述对应于待更新版本的第一容器、目标虚拟机或第二容器,并启动所述对应于所述目标版本的第一容器、目标虚拟机或第二容器;其中,所述版本变更指令为版本升级指令,所述目标版本的版本号高于所述待更新版本的版本号。6.根据权利要求4所述的方法,其特征在于,所述根据版本变更指令更新云操作系统中
的节点的云服务软件,包括:根据版本变更指令,关闭对应于目标版本的第一容器、目标虚拟机或第二容器;启动对应于待更新版本的第一容器、目标虚拟机或第二容器;其中,所述版本变更指令为版本回退指令,所述目标版本的版本号高于所述待更新版本的版本号。7.一种云操作系统的管理装置,其特征在于,包括:更新模块,设置为根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;查询模块,设置为查询所述计算节点中部署的虚拟机的业务状态;业务处理模块,设置为若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;重启模块,设置为在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。8.一种服务器,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的云操作系统的管理方法。9.一种管理系统,其特征在于,包括:云操作系统的节点以及如权利要求8所述的服务器;所述云操作系统的节点用于部署或调度虚拟机;所述服务器用于对所述云操作系统的节点进行生命周期管理。10.根据权利要求9所述的系统,其特征在于,所述服务器包括:图形用户界面gui模块、版本管理模块、升级回退处理模块和数据库模块;所述gui模块用于提供人机交互界面;所述版本管理模块用于校验目标版本并向所述节点上传通过校验的目标版本的软件包;所述升级回退处理模块用于向所述节点发送云服务软件的版本变更指令,所述版本变更指令为版本升级指令或版本回退指令;所述数据库模块用于存储云服务软件的升级信息或回退信息,以及存储系统管理日志。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的云操作系统的管理方法。
技术总结
本申请提供一种云操作系统的管理方法、装置、服务器、管理系统及介质。该方法根据版本变更指令更新云操作系统中的节点的云服务软件,其中,所述节点包括计算节点;查询所述计算节点中部署的虚拟机的业务状态;若在所述计算节点中部署的虚拟机中,存在业务状态为运行状态的运行虚拟机,则根据所述运行虚拟机的部署类型进行业务倒换或虚拟机迁移;在所述运行虚拟机的业务状态为空闲状态或备用状态的情况下重启所述计算节点。重启所述计算节点。重启所述计算节点。
技术研发人员:赵凯
受保护的技术使用者:中兴通讯股份有限公司
技术研发日:2019.12.24
技术公布日:2021/6/24
转载请注明原文地址:https://doc.8miu.com/read-250025.html