CN102999369A - 虚拟机升级的方法及装置 - Google Patents

虚拟机升级的方法及装置 Download PDF

Info

Publication number
CN102999369A
CN102999369A CN2012105741684A CN201210574168A CN102999369A CN 102999369 A CN102999369 A CN 102999369A CN 2012105741684 A CN2012105741684 A CN 2012105741684A CN 201210574168 A CN201210574168 A CN 201210574168A CN 102999369 A CN102999369 A CN 102999369A
Authority
CN
China
Prior art keywords
virtual machine
image file
upgrading
cluster
basis
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
Application number
CN2012105741684A
Other languages
English (en)
Other versions
CN102999369B (zh
Inventor
蔡志峰
常利民
郑雄开
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210574168.4A priority Critical patent/CN102999369B/zh
Publication of CN102999369A publication Critical patent/CN102999369A/zh
Application granted granted Critical
Publication of CN102999369B publication Critical patent/CN102999369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请公开了一种虚拟机升级的方法,包括:生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,为该虚拟机模板创建超级管理虚拟机;当需要对基于上述基础镜像文件创建的虚拟机中的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。本申请还公开了一种虚拟机升级的装置。本申请在需要对大量虚拟机进行升级时,可以极大减少升级的工作量,简化升级操作,提高效率。

Description

虚拟机升级的方法及装置
技术领域
本申请涉及虚拟机升级技术领域,尤其涉及虚拟机升级的方法及装置。
背景技术
随着硬件速度的不断提高,服务器性能大大提升,数据中心中的部分服务器的使用率有所下降,为了提高服务器硬件利用率,降低数据中心的运维成本,近年来,虚拟化技术得到了很大的发展,其中,虚拟机的使用日益普遍。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,我们可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如可以安装操作系统、安装应用程序、访问网络资源等等。从用户的角度看,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。
使用备份文件技术(backing file技术)可以基于一个基础镜像文件大量部署虚拟机。backing file技术的基本原理就是:基于一个基础文件产生一个不同于所述基础文件的增量文件,因此,根据backing file技术,首先需要创建一个基础镜像(base image),里面把各个虚拟机都需要的环境都搭建好,由于不同于基础镜像的数据相对较少,因此,在进行虚拟机克隆、备份等操作时,就可以只对增量数据(即不同于基础镜像的私有数据)进行克隆或备份,形成增量镜像,即基于所述基础镜像可以建立起一个个可读可写的增量镜像,每个增量镜像对应一个虚拟机。在读虚拟机磁盘操作时,先从增量镜像文件中读取,如果没有,再从基础镜像文件中读取;在写数据时,总是写入增量镜像文件中,也就是说,虚拟机对镜像中所有的改变都记录在增量镜像文件里面,基础镜像文件始终保持不变,从而可以实现虚拟机的快速部署,提高了效率,也节省了磁盘空间。
例如,如图1所示,master disk image是一个通用的只读的qcow2格式虚拟机基础镜像文件,可以基于master disk image创建虚拟机win7-001和win7-002,即根据backing file技术,win7-001和win7-002上的镜像文件win7-001.qcow2、win7-002.qcow2是基于master disk image产生的qcow2格式增量镜像文件。以虚拟机win7-001为例,在读磁盘操作时,先从win7-001.qcow2中读取,如果没有,再从win7-base.qcow2中读取;在写数据时,总是写入win7-001.qcow2,win7-base.qcow2始终保持不变。
在有大量使用backing file技术创建的虚拟机的情况下,比如数据中心中部署了数百甚至上千个win7虚拟机,各个虚拟机的补丁或软件升级对于管理员来说是比较繁琐的事情,因为管理员需要逐个登录每台虚拟机桌面,进行升级工作,从而导致虚拟机升级的工作量较大,升级操作比较繁琐,效率极其低下。
发明内容
有鉴于此,本申请提出一种虚拟机升级的方法,当需要对大量虚拟机进行升级时,可以极大减少升级的工作量,简化升级操作,提高效率。
本申请还提出一种虚拟机升级的装置,当需要对大量虚拟机进行升级时,可以极大减少升级的工作量,简化升级操作,提高效率。
为达到上述目的,本申请实施例的技术方案是这样实现的:
一种虚拟机升级的方法,包括:
生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,为该虚拟机模板创建超级管理虚拟机;
当需要对基于上述基础镜像文件创建的虚拟机中的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
一种虚拟机升级的装置,包括:存储空间预留模块、超级管理虚拟机创建模块、虚拟机创建模块和虚拟机升级模块,其中:
存储空间预留模块,用于生成每一虚拟机模板时,在所述虚拟机模板对应的基础镜像文件中预留出空闲存储空间;
超级管理虚拟机创建模块,用于为所述虚拟机模板创建超级管理虚拟机;
虚拟机创建模块,用于基于上述基础镜像文件创建虚拟机;
虚拟机升级模块,用于当需要对虚拟机创建模块创建的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
本申请的有益效果为,通过生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,对基于上述任一基础镜像文件创建的大量虚拟机升级时,所述基础镜像文件的某部分数据在升级时发生了变化,将升级时变化的数据写入所述基础镜像文件预留的空闲存储空间,并将这部分数据的跳转地址修改为指向升级后的新地址,升级完成后,虚拟机在读磁盘操作时,当读到这部分数据时,根据上述跳转地址的指向,会读取上述新地址的数据,使得只要对基础镜像文件升级,就完成了对所有基于该基础镜像文件创建的大量虚拟机的升级,从而可以极大减少升级的工作量,简化升级操作,提高升级效率。
附图说明
图1为现有利用backing file技术生成虚拟机的原理说明示意图;
图2为本申请实施例的虚拟机管理平台的系统结构示意图;
图3为本申请实施例的方法流程图;
图4为本申请实施例的超级管理虚拟机对qcow2格式基础镜像文件进行补丁或软件升级的原理示意图;
图5为本申请实施例的装置功能模块结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下通过具体实施例并参见附图,对本发明进行详细说明。
本申请中,生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,为该虚拟机模板创建超级管理虚拟机;
当需要对基于上述基础镜像文件创建的虚拟机中的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
本申请方案通过预先在基础镜像文件中留出空闲存储空间,升级时将因升级而导致变化的数据写入所述预留的空闲存储空间中,使得在使用backing file技术基于基础镜像文件部署大量虚拟机的情况下,不需要对每个虚拟机进行补丁或软件升级,只需要对所述基础镜像文件进行补丁或软件升级,即可完成对所有基于该基础镜像文件创建的虚拟机的补丁或软件升级,可以极大减少升级的工作量,简化升级操作,提高效率。
为了便于更好理解本申请的实施例,首先对现有虚拟机管理平台的系统组网结构进行简要介绍。
如图2所示,三台物理主机在一个集群中,为了简化,这里仅仅以三台物理主机组成的集群为例,实际组网中的物理主机节点个数可以灵活的弹性伸展,各物理主机上运行基于Linux的qemu-kvm虚拟化平台,运行libvirt开源等虚拟化中间件,是虚拟机、虚拟交换机、存储的载体。每个物理主机上运行多个虚拟机,如物理主机A上运行虚拟机VM0~VM1,各虚拟机上分别运行不同的业务,比如:DataBase server、web server、file server、ftp serve、mail server等。
虚拟机管理平台用于实现对所有物理主机以及物理主机上运行的虚拟机、虚拟交换机、存储等资源的统一管理。相关功能介绍如下:
A、实现对物理主机的增加、删除等操作。虚拟机管理平台通过ssh等远程工具来管理物理主机。
B、实现虚拟机的创建、删除、启动、停止、暂停、迁移等所有虚拟机生命周期相关的操作和管理。
C、实现对虚拟机模板的管理。虚拟机模板可以由一个虚拟机转化或克隆而来。本申请实施例中对虚拟机模板的相关操作均可由虚拟机管理平台来实现。
虚拟机管理平台管理一组虚拟机模板,比如winxp_templet、win7_templet、redhat6_templet等,管理员通过指定模板批量部署虚拟机,在部署虚拟机时采用backing file技术,将模板对应的磁盘文件作为基础镜像文件,新部署的虚拟机在此基础镜像文件的基础上创建属于自己的可读写的新的磁盘文件(或称为增量镜像文件),用于保存自己的私有数据。
上述系统组网属于现有虚拟机管理平台的常用组网方式,下面结合图2的虚拟机管理平台组网结构示意图,通过具体实施例对本申请方案进行进一步说明。
本申请实施例的方法流程如图3所示,一种虚拟机升级的方法,包括以下步骤:
步骤301:生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,为该虚拟机模板创建超级管理虚拟机。
如图2所示,管理员可以在IE等浏览器上登录虚拟机管理平台vManager,依据具体的业务部署需要或用户群类别创建用于转为虚拟机模板的虚拟机,在创建的虚拟机上安装指定操作系统以及相应补丁、需要的应用软件等。例如,若需要针对销售业务生成虚拟机模板,则可在创建的虚拟机上安装指定操作系统、以及与销售相关的应用软件,然后将此虚拟机转为虚拟机模板,即依据销售业务生成了相应的虚拟机模板。上述过程属于现有技术,此处不再赘述。
本申请实施例中,生成的任一虚拟机模板对应一个基础镜像文件,当所述基础镜像文件为qcow2格式时,数据被保存在多个簇cluster内,如图4所示。
qcow2的全称为QEMU Copy On Write version 2,其中,QEMU是一套由FabriceBellard所编写的开源跨平台模拟器,qcow2格式是一种常用的虚拟机磁盘镜像格式,在qcow格式上优化而来,使用qcow2格式时,数据被保存在多个簇cluster内,qcow2格式根据实际使用量来占用空间使用量,磁盘镜像文件大小随着实际使用量增长,支持快照,支持加密和压缩,是目前比较主流的磁盘镜像格式。
生成任一虚拟机模板时,若该虚拟机模板对应的基础镜像文件为qcow2格式,则可以通过qemu软件的命令语句,实现在所述qcow2格式基础镜像文件中预留设定数量的空闲簇cluster,如图4所示的预留空闲区,为后续可能的系统补丁或软件升级做准备。
例如,可以通过在qemu软件的qemu-img命令语句中增加reserve参数(也可用其它参数表示),实现在现有qcow2格式基础镜像文件的基础上预留多个clusters,比如,为基础镜像文件win7-001.qcow2预留500个cluster的空闲空间,可使用如下命令:
qemu-img reserve-clusters 500 win7-templet.qcow2
每个cluster的大小根据实际需要设置,比如可以通过cluster_size参数设定。
所述预留的空闲cluster的数量根据该虚拟机模板安装的操作系统、及该虚拟机模板对应的qcow2格式基础镜像文件的实际磁盘占用空间大小来确定。
例如,若该虚拟机模板安装的操作系统比较稳定,假设为Linux系统,系统漏洞较少,需要打补丁的地方就越少,进行补丁升级的次数也就越少,这时可以少预留一些空闲cluster,否则,可以多预留一些空闲cluster。
此外,预留的cluster数量还与该虚拟机模板对应的qcow2格式基础镜像文件的实际磁盘占用空间大小有关,比如winxp模板安装完成后磁盘占用2G、且每个cluster大小为2M;那么,可以考虑预留2G的空闲空间用于升级,即预留1000个cluster。
当然,也可以使用qemu软件的其它命令语句实现上述预留空闲空间的目的。
每个cluster上带有特殊标记,用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,还用于标识该cluster是否已被使用。
例如,每个cluster上可带有特殊标记LabelA和LabelB,LabelA用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,LabelB用于标识该cluster是否已被使用。
当然,也可以用其它方式设置每个cluster的标记,比如,也可以为每个cluster只设置一个标记,用一个比特位表示,该标记的值为1时,表示该cluster是为升级预留的、只有超级管理虚拟机有写入的权限、且该cluster未被使用,该标记的值为0时,表示该cluster是为升级预留的、只有超级管理虚拟机有写入的权限、且该cluster已被使用。
本申请实施例中的基础镜像文件也可以采用其它格式,比如qcow格式、raw格式等,并不仅限于qcow2格式。
为该虚拟机模板创建一个超级管理虚拟机,通过该超级管理虚拟机可以对基础镜像文件进行补丁或软件升级管理,在升级时将变化的数据写入上述预留的空闲cluster中。
每个虚拟机模板都对应着一个超级管理虚拟机,该超级管理虚拟机对该虚拟机模板对应的基础镜像文件有读写权限。
步骤302:当需要对基于上述基础镜像文件创建的虚拟机中的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
基于上述基础镜像文件创建虚拟机的方法为:
使用backing file技术基于此基础镜像文件创建虚拟机,所述创建的每一虚拟机上的镜像文件,为基于此基础镜像文件而生成的增量镜像文件。
基于所述基础镜像文件创建的虚拟机的数量可以根据实际需要而定。
对于创建的任何一个虚拟机,其上的镜像文件就是基于基础镜像文件而产生的增量镜像文件,用于保存该虚拟机的私有文件,且这个增量镜像文件是可读可写的,而基础镜像文件是只可读、不可写的。
例如,如图2所示,管理员若需要选择在物理主机B上批量部署虚拟机,则可使用backing file技术在虚拟机模板对应基础镜像文件的基础上创建虚拟机VM2~VM5,即为每个虚拟机基于该基础镜像文件创建一个可读可写的增量镜像文件,用于保存该虚拟机的私有数据。
backing file技术属于现有技术,此处不再赘述。
管理员可以将上述创建的虚拟机分配给指定的用户使用,或作为一个公共虚拟机供多人使用,虚拟机运行一段时间后,需要进行系统补丁或软件升级。
当虚拟机的操作系统出现漏洞时,需要对虚拟机进行补丁升级。有时也需要对虚拟机上的软件进行升级。
当需要对任一虚拟机升级时,可以很容易查找到该虚拟机对应的基础镜像文件,这部分属于现有技术。
该基础镜像文件对应的超级管理虚拟机,即如步骤301中所述,为该基础镜像文件所在的虚拟机模板创建的超级管理虚拟机。
通过所述超级管理虚拟机对该基础镜像文件进行补丁或软件升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间时,查找携带了所述特殊标记的空闲cluster,将升级时变化的数据写入所述cluster,更新所述cluster携带的特殊标记。
如图4所示,需要先查找适用于升级的预留空闲区,因为也有可能存在一些预留空闲区是用于其它用途的,所以,需要找到专门用于升级的预留空闲区,即查找到携带了所述特殊标记的空闲cluster,接续步骤301中的举例,就是查找携带了特殊标记LabelA和LabelB、且LabelB标识为未被使用的cluster,然后将因为升级而带来变化的数据写入所述cluster。由步骤301中的示例可知,每个cluster上带有特殊标记LabelA和LabelB,LabelA用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,LabelB用于标识该cluster是否已被使用。将升级时变化的数据写入所述cluster中,还要更新所述cluster携带的特殊标记,例如,需要将LabelB更新为标识所述cluster已被使用。
以补丁升级为例,在任一虚拟机上的操作系统需要补丁升级时,找出该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,启动所述基础镜像文件对应的超级管理虚拟机,通过所述超级管理虚拟机对所述基础镜像文件进行补丁升级操作,且在升级操作时,在该超级虚拟机内部,同补丁程序交互,获取数据变化,并能够查找到事先预留的clusters,将变化的数据写入事先预留出来的用于升级的空闲clusters中并更新特殊标记。
如图4所示,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间时,按补丁或软件的升级原理,会把只限于某一段二进制代码的跳转地址修改为指向补丁或软件升级之后的新的二进制代码地址,也就是说,若基础镜像文件的某部分数据(一般为一段二进制代码)在升级时发生了变化,则将发生变化了的该部分数据写入基础镜像文件的预留存储空间,并将该部分数据的跳转地址修改为指向预留存储空间中的写入地址,升级完成后,虚拟机在读磁盘操作时,当读到这部分数据时,根据上述跳转地址指向,会读取上述新地址的数据。因此,可以实现只对基础镜像文件升级,就完成了对所有基于该基础镜像文件创建的大量虚拟机的升级。
升级完成后,恢复升级前暂停的所有虚拟机,即对所述暂停的所有虚拟机取消暂停操作,关闭超级管理虚拟机。这样就完成了所有虚拟机的补丁或软件升级工作。
升级前之所以需要暂停所有基于该基础镜像文件创建的虚拟机,是为了保证系统补丁或软件升级之前,使用各增量镜像文件的虚拟机不会去读写因为基础镜像文件进行了系统升级而做修改的那部分内容,从而保证了基于基础镜像文件部署的所有虚拟桌面不至于受到系统补丁或软件升级的影响,可以在升级完成后不对增量镜像文件进行修改而直接使用。
也就是说,虽然基础镜像文件进行了升级,发生了变化,但基于该基础镜像文件创建的所有虚拟机却可以不因该基础镜像文件的变化而改变各自的增量镜像文件,仍然可以直接使用修改后的所述基础镜像文件。
目前,现有技术中,针对windows系列操作系统的虚拟机进行升级,可以使用Windows Server Update Service(WSUS)技术,该技术是微软提供的免费网络化补丁管理的统一解决方案,WSUS可以从微软公司的官方网站上自动下载最新的Windows操作系统补丁,并且可以自动分发给内网中的各终端用户,帮助管理员进行局域网内的系统补丁升级管理。WSUS采用C/S工作模式,分为WSUS服务器端和客户端,服务器端软件可以从微软网站上获取,WSUS客户端已被包含在各Windows操作系统上,无需单独安装。对于linux系列操作系统的虚拟机,也有类似的相关技术。这种情况下,一般是安装一个虚拟机,然后复制相应的份数,形成各个虚拟机,不是采用backing file技术基于一个基础镜像文件而生成增量镜像文件的虚拟机。
上述现有技术方案虽然将管理员从大量的繁琐的手工升级工作中解脱出来,可以通过软件实现自动升级,但是,仍然需要在每一个终端虚拟机上执行升级工作,升级完成后一般都需要对虚拟机进行重启,而本申请方案无需在每个终端虚拟机上执行升级工作,只需对基础镜像文件进行升级即可,且无需对虚拟机进行重启,只需暂停就可以。相对于上述现有方案,本申请方案创建的虚拟机因为只保存该虚拟机的私有数据而可以节省存储空间,且因为无需重启而对用户使用的干预较小。
本申请实施例的装置结构如图5所示,一种虚拟机升级的装置,包括:存储空间预留模块、超级管理虚拟机创建模块、虚拟机创建模块和虚拟机升级模块,其中:
存储空间预留模块,用于生成每一虚拟机模板时,在所述虚拟机模板对应的基础镜像文件中预留出空闲存储空间;
超级管理虚拟机创建模块,用于为所述虚拟机模板创建超级管理虚拟机;
虚拟机创建模块,用于基于上述基础镜像文件创建虚拟机;
虚拟机升级模块,用于当需要对虚拟机创建模块创建的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
较佳地,所述虚拟机创建模块,具体用于:
基于上述基础镜像文件创建虚拟机时,使用backing file技术基于此基础镜像文件创建虚拟机,所述创建的每一虚拟机上的镜像文件,为基于此基础镜像文件而生成的增量镜像文件。
较佳地,若所述基础镜像文件为qcow2格式,所述存储空间预留模块具体用于:
生成任一虚拟机模板时,通过qemu软件的命令语句,实现在所述qcow2格式基础镜像文件中预留设定数量的空闲簇cluster;每个cluster上带有特殊标记,用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,还用于标识该cluster是否已被使用。
较佳地,所述存储空间预留模块预留的空闲cluster的数量,根据该虚拟机模板安装的操作系统、及该虚拟机模板对应的qcow2格式基础镜像文件的实际磁盘占用空间大小来确定,每个cluster的大小根据实际需要设置。
较佳地,所述虚拟机升级模块,在将升级时变化的数据写入该基础镜像文件预留的空闲存储空间时,查找携带了所述特殊标记的空闲cluster,将升级时变化的数据写入所述cluster,更新所述cluster携带的特殊标记。
本申请实施例中,为了能够实现大量虚拟机的补丁或软件升级,对虚拟机模板对应的基础镜像文件做了特殊处理,即在安装完成操作系统后,预留足够大的磁盘存储空间(多个簇cluster,比如一个cluster为2M,预留500M的空间的话,就是预留256个clusters),为后续可能的补丁或软件升级作准备。此外,预留的空闲存储空间也可以用来进行数据共享。
这样,基于虚拟机模板部署的所有的虚拟机都对这些预留的存储空间有读的权限,基于该虚拟机模板部署的虚拟机对应的可读写的增量镜像文件的内容不必由于系统补丁或软件升级而改变。
也就是说,系统升级之前,使用各增量镜像文件的虚拟机不会去读写因为基础镜像文件进行了系统升级而做修改的那部分内容,从而保证了基于基础镜像文件部署的所有虚拟桌面不受到系统补丁或软件升级的影响,可以在补丁或软件升级完成后,不对增量镜像文件进行修改而直接使用增量镜像文件。如此,可以简化使用backing file技术创建的大量虚拟机的系统补丁或软件升级操作,减少升级的工作量,提高升级效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种虚拟机升级的方法,其特征在于,该方法包括:
生成每一虚拟机模板时,在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,为该虚拟机模板创建超级管理虚拟机;
当需要对基于上述基础镜像文件创建的虚拟机中的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
2.根据权利要求1所述的方法,其特征在于,所述基于上述基础镜像文件创建虚拟机的方法为:
使用backing file技术基于此基础镜像文件创建虚拟机,所述创建的每一虚拟机上的镜像文件,为基于此基础镜像文件而生成的增量镜像文件。
3.根据权利要求1所述的方法,其特征在于,当所述基础镜像文件为qcow2格式时,所述在该虚拟机模板对应的基础镜像文件中预留出空闲存储空间,包括:
通过qemu软件的命令语句,实现在所述qcow2格式基础镜像文件中预留设定数量的空闲簇cluster;每个cluster上带有特殊标记,用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,还用于标识该cluster是否已被使用。
4.根据权利要求3所述的方法,其特征在于,所述预留的空闲cluster的数量根据该虚拟机模板安装的操作系统、及该虚拟机模板对应的qcow2格式基础镜像文件的实际磁盘占用空间大小来确定,每个cluster的大小根据实际需要设置。
5.根据权利要求3所述的方法,其特征在于,所述将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,包括:
查找携带了所述特殊标记的空闲cluster,将升级时变化的数据写入所述cluster,更新所述cluster携带的特殊标记。
6.一种虚拟机升级的装置,其特征在于,包括:存储空间预留模块、超级管理虚拟机创建模块、虚拟机创建模块和虚拟机升级模块,其中:
存储空间预留模块,用于生成每一虚拟机模板时,在所述虚拟机模板对应的基础镜像文件中预留出空闲存储空间;
超级管理虚拟机创建模块,用于为所述虚拟机模板创建超级管理虚拟机;
虚拟机创建模块,用于基于上述基础镜像文件创建虚拟机;
虚拟机升级模块,用于当需要对虚拟机创建模块创建的任一虚拟机升级时,查找到该虚拟机对应的基础镜像文件,暂停所有基于该基础镜像文件创建的虚拟机,通过该基础镜像文件对应的超级管理虚拟机对该基础镜像文件进行升级,将升级时变化的数据写入该基础镜像文件预留的空闲存储空间,对基于该基础镜像文件创建的所有虚拟机进行批量升级。
7.根据权利要求6所述的装置,其特征在于,所述虚拟机创建模块,具体用于:
基于上述基础镜像文件创建虚拟机时,使用backing file技术基于此基础镜像文件创建虚拟机,所述创建的每一虚拟机上的镜像文件,为基于此基础镜像文件而生成的增量镜像文件。
8.根据权利要求6所述的装置,其特征在于,若所述基础镜像文件为qcow2格式,所述存储空间预留模块具体用于:
生成任一虚拟机模板时,通过qemu软件的命令语句,实现在所述qcow2格式基础镜像文件中预留设定数量的空闲簇cluster;每个cluster上带有特殊标记,用于指示该cluster是为升级预留的、且只有超级管理虚拟机有写入的权限,还用于标识该cluster是否已被使用。
9.根据权利要求8所述的装置,其特征在于,所述存储空间预留模块预留的空闲cluster的数量,根据该虚拟机模板安装的操作系统、及该虚拟机模板对应的qcow2格式基础镜像文件的实际磁盘占用空间大小来确定,每个cluster的大小根据实际需要设置。
10.根据权利要求8所述的装置,其特征在于,所述虚拟机升级模块,在将升级时变化的数据写入该基础镜像文件预留的空闲存储空间时,查找携带了所述特殊标记的空闲cluster,将升级时变化的数据写入所述cluster,更新所述cluster携带的特殊标记。
CN201210574168.4A 2012-12-25 2012-12-25 虚拟机升级的方法及装置 Active CN102999369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210574168.4A CN102999369B (zh) 2012-12-25 2012-12-25 虚拟机升级的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210574168.4A CN102999369B (zh) 2012-12-25 2012-12-25 虚拟机升级的方法及装置

Publications (2)

Publication Number Publication Date
CN102999369A true CN102999369A (zh) 2013-03-27
CN102999369B CN102999369B (zh) 2016-08-17

Family

ID=47927974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210574168.4A Active CN102999369B (zh) 2012-12-25 2012-12-25 虚拟机升级的方法及装置

Country Status (1)

Country Link
CN (1) CN102999369B (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713941A (zh) * 2013-12-20 2014-04-09 汉柏科技有限公司 基于qcow2格式的虚拟机镜像克隆方法及系统
CN104820610A (zh) * 2015-05-14 2015-08-05 华中科技大学 一种云环境中虚拟机镜像的更新方法
CN105389185A (zh) * 2015-11-16 2016-03-09 北京汉柏科技有限公司 用于虚拟云桌面启动风暴的处理方法及装置
CN105426205A (zh) * 2015-11-03 2016-03-23 上海斐讯数据通信技术有限公司 一种云平台模板升级方法及装置
CN105553741A (zh) * 2015-12-28 2016-05-04 江苏省电力公司信息通信分公司 一种基于云计算的应用系统自动化部署方法
CN105589721A (zh) * 2015-12-22 2016-05-18 国云科技股份有限公司 一种批量更新Linux虚拟机系统补丁的方法
WO2016078417A1 (zh) * 2014-11-17 2016-05-26 中兴通讯股份有限公司 一种虚拟化网络功能管理升级方法、装置及服务器
CN105893115A (zh) * 2016-04-05 2016-08-24 上海携程商务有限公司 差异化部署虚拟机的方法和系统
CN105893849A (zh) * 2016-03-30 2016-08-24 北京北信源软件股份有限公司 一种虚拟化平台下补丁分发方法
WO2016177261A1 (zh) * 2015-05-07 2016-11-10 阿里巴巴集团控股有限公司 在线升级基于内核虚拟机模块的设备和方法
CN106155758A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种服务器系统及其相关控制方法
WO2016184320A1 (zh) * 2015-05-15 2016-11-24 阿里巴巴集团控股有限公司 在线升级机器虚拟器的方法与设备
WO2017076180A1 (zh) * 2015-11-06 2017-05-11 中兴通讯股份有限公司 虚拟机升级方法及装置
CN103777953B (zh) * 2014-01-26 2017-07-14 北京国电通网络技术有限公司 一种制作类Unix操作系统升级包的方法和装置
WO2017173922A1 (zh) * 2016-04-08 2017-10-12 中兴通讯股份有限公司 虚拟机升级方法及装置
CN107291502A (zh) * 2017-06-23 2017-10-24 郑州云海信息技术有限公司 一种自动更新制作镜像的方法
CN107438110A (zh) * 2017-09-15 2017-12-05 湖南新云网科技有限公司 一种基于透明计算的终端数据迁移方法及系统
CN107786367A (zh) * 2016-08-31 2018-03-09 中兴通讯股份有限公司 一种虚拟网元的配置方法和装置
CN108156003A (zh) * 2016-12-02 2018-06-12 中国移动通信有限公司研究院 一种应用升级方法及终端、服务器、系统
CN108881338A (zh) * 2017-05-10 2018-11-23 中兴通讯股份有限公司 网络功能虚拟化镜像文件升级的方法及装置
CN109871183A (zh) * 2018-07-10 2019-06-11 四川中电启明星信息技术有限公司 一种虚拟机磁盘精简的方法及装置
CN110795162A (zh) * 2019-09-26 2020-02-14 北京浪潮数据技术有限公司 生成容器镜像文件的方法和装置
CN110865837A (zh) * 2019-11-14 2020-03-06 青岛海信移动通信技术股份有限公司 一种进行系统升级的方法和终端
CN112363795A (zh) * 2020-10-13 2021-02-12 南京赛宁信息技术有限公司 一种网络安全实训平台虚拟机快速启动方法与系统
US10949111B2 (en) 2018-11-28 2021-03-16 Red Hat Israel, Ltd. Updating operating system images of inactive compute instances
CN114911668A (zh) * 2022-03-31 2022-08-16 华能信息技术有限公司 一种数据资源监控方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351772A (zh) * 2006-01-09 2009-01-21 国际商业机器公司 用于在不同虚拟机映像之间共享文件的方法和系统
US20090292737A1 (en) * 2008-05-20 2009-11-26 Richard Hayton Methods and Systems for Patching Multiple Disk Images Derived from a Common Base Disk Image
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
CN102402446A (zh) * 2011-11-22 2012-04-04 成都市华为赛门铁克科技有限公司 应用软件的安装方法和应用软件的安装装置
CN102521016A (zh) * 2011-12-08 2012-06-27 中兴通讯股份有限公司 一种运行多个虚拟机的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101351772A (zh) * 2006-01-09 2009-01-21 国际商业机器公司 用于在不同虚拟机映像之间共享文件的方法和系统
US20090292737A1 (en) * 2008-05-20 2009-11-26 Richard Hayton Methods and Systems for Patching Multiple Disk Images Derived from a Common Base Disk Image
CN102193807A (zh) * 2010-03-19 2011-09-21 联想(北京)有限公司 一种镜像文件升级的方法、服务器及计算机网络系统
CN102402446A (zh) * 2011-11-22 2012-04-04 成都市华为赛门铁克科技有限公司 应用软件的安装方法和应用软件的安装装置
CN102521016A (zh) * 2011-12-08 2012-06-27 中兴通讯股份有限公司 一种运行多个虚拟机的方法及系统

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713941B (zh) * 2013-12-20 2018-05-04 汉柏科技有限公司 基于qcow2格式的虚拟机镜像克隆方法及系统
CN103713941A (zh) * 2013-12-20 2014-04-09 汉柏科技有限公司 基于qcow2格式的虚拟机镜像克隆方法及系统
CN103777953B (zh) * 2014-01-26 2017-07-14 北京国电通网络技术有限公司 一种制作类Unix操作系统升级包的方法和装置
WO2016078417A1 (zh) * 2014-11-17 2016-05-26 中兴通讯股份有限公司 一种虚拟化网络功能管理升级方法、装置及服务器
CN105681060B (zh) * 2014-11-17 2020-01-31 中兴通讯股份有限公司 一种虚拟化网络功能管理升级方法、装置及服务器
CN105681060A (zh) * 2014-11-17 2016-06-15 中兴通讯股份有限公司 一种虚拟化网络功能管理升级方法、装置及服务器
CN106155758A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种服务器系统及其相关控制方法
CN106155758B (zh) * 2015-03-24 2022-04-19 联想(北京)有限公司 一种服务器系统及其相关控制方法
CN106201564B (zh) * 2015-05-07 2019-08-23 阿里巴巴集团控股有限公司 在线升级基于内核虚拟机模块的设备和方法
WO2016177261A1 (zh) * 2015-05-07 2016-11-10 阿里巴巴集团控股有限公司 在线升级基于内核虚拟机模块的设备和方法
CN106201564A (zh) * 2015-05-07 2016-12-07 阿里巴巴集团控股有限公司 在线升级基于内核虚拟机模块的设备和方法
US10565000B2 (en) 2015-05-07 2020-02-18 Alibaba Group Holding Limited Method and apparatus for online upgrade of kernel-based virtual machine module
CN104820610A (zh) * 2015-05-14 2015-08-05 华中科技大学 一种云环境中虚拟机镜像的更新方法
CN104820610B (zh) * 2015-05-14 2017-12-22 华中科技大学 一种云环境中虚拟机镜像的更新方法及系统
US11487523B2 (en) 2015-05-15 2022-11-01 Alibaba Group Holding Limited Updating machine emulator
WO2016184320A1 (zh) * 2015-05-15 2016-11-24 阿里巴巴集团控股有限公司 在线升级机器虚拟器的方法与设备
CN105426205A (zh) * 2015-11-03 2016-03-23 上海斐讯数据通信技术有限公司 一种云平台模板升级方法及装置
WO2017076180A1 (zh) * 2015-11-06 2017-05-11 中兴通讯股份有限公司 虚拟机升级方法及装置
CN105389185A (zh) * 2015-11-16 2016-03-09 北京汉柏科技有限公司 用于虚拟云桌面启动风暴的处理方法及装置
CN105589721A (zh) * 2015-12-22 2016-05-18 国云科技股份有限公司 一种批量更新Linux虚拟机系统补丁的方法
CN105553741A (zh) * 2015-12-28 2016-05-04 江苏省电力公司信息通信分公司 一种基于云计算的应用系统自动化部署方法
CN105893849B (zh) * 2016-03-30 2019-06-21 北京北信源软件股份有限公司 一种虚拟化平台下补丁分发方法
CN105893849A (zh) * 2016-03-30 2016-08-24 北京北信源软件股份有限公司 一种虚拟化平台下补丁分发方法
CN105893115A (zh) * 2016-04-05 2016-08-24 上海携程商务有限公司 差异化部署虚拟机的方法和系统
CN107273146B (zh) * 2016-04-08 2021-11-19 中兴通讯股份有限公司 虚拟机升级方法及装置
WO2017173922A1 (zh) * 2016-04-08 2017-10-12 中兴通讯股份有限公司 虚拟机升级方法及装置
CN107273146A (zh) * 2016-04-08 2017-10-20 中兴通讯股份有限公司 虚拟机升级方法及装置
CN107786367A (zh) * 2016-08-31 2018-03-09 中兴通讯股份有限公司 一种虚拟网元的配置方法和装置
CN107786367B (zh) * 2016-08-31 2022-06-17 中兴通讯股份有限公司 一种虚拟网元的配置方法和装置
CN108156003A (zh) * 2016-12-02 2018-06-12 中国移动通信有限公司研究院 一种应用升级方法及终端、服务器、系统
CN108881338A (zh) * 2017-05-10 2018-11-23 中兴通讯股份有限公司 网络功能虚拟化镜像文件升级的方法及装置
CN108881338B (zh) * 2017-05-10 2022-08-09 中兴通讯股份有限公司 网络功能虚拟化镜像文件升级的方法及装置
CN107291502A (zh) * 2017-06-23 2017-10-24 郑州云海信息技术有限公司 一种自动更新制作镜像的方法
CN107438110A (zh) * 2017-09-15 2017-12-05 湖南新云网科技有限公司 一种基于透明计算的终端数据迁移方法及系统
CN109871183B (zh) * 2018-07-10 2022-04-15 四川中电启明星信息技术有限公司 一种虚拟机磁盘精简的方法及装置
CN109871183A (zh) * 2018-07-10 2019-06-11 四川中电启明星信息技术有限公司 一种虚拟机磁盘精简的方法及装置
US10949111B2 (en) 2018-11-28 2021-03-16 Red Hat Israel, Ltd. Updating operating system images of inactive compute instances
US11698741B2 (en) 2018-11-28 2023-07-11 Red Hat Israel, Ltd. Updating operating system images of inactive compute instances
CN110795162B (zh) * 2019-09-26 2022-07-05 北京浪潮数据技术有限公司 生成容器镜像文件的方法和装置
CN110795162A (zh) * 2019-09-26 2020-02-14 北京浪潮数据技术有限公司 生成容器镜像文件的方法和装置
CN110865837A (zh) * 2019-11-14 2020-03-06 青岛海信移动通信技术股份有限公司 一种进行系统升级的方法和终端
CN110865837B (zh) * 2019-11-14 2023-08-18 青岛海信移动通信技术有限公司 一种进行系统升级的方法和终端
CN112363795B (zh) * 2020-10-13 2021-11-26 南京赛宁信息技术有限公司 一种网络安全实训平台虚拟机快速启动方法与系统
CN112363795A (zh) * 2020-10-13 2021-02-12 南京赛宁信息技术有限公司 一种网络安全实训平台虚拟机快速启动方法与系统
CN114911668A (zh) * 2022-03-31 2022-08-16 华能信息技术有限公司 一种数据资源监控方法及系统

Also Published As

Publication number Publication date
CN102999369B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
CN102999369A (zh) 虚拟机升级的方法及装置
US10379836B2 (en) Optimized creation of distributed storage and distributed processing clusters on demand
CN101840346B (zh) 云主机部署的方法及系统
CN107967159B (zh) 一种配置文件应用的方法以及服务器
CN107111533B (zh) 虚拟机集群备份
EP2306320B1 (en) Server image migration
US9459849B2 (en) Adaptive cloud aware just-in-time (JIT) compilation
US9952782B1 (en) Method and system for accessing data between different virtual disk formats in a virtualization environment
CN102246152B (zh) 保存程序执行状态
CN103019802B (zh) 一种虚拟机管理方法及平台
CN103970585A (zh) 创建虚拟机的方法及装置
CN102754077A (zh) 可从外部媒体装置引导的安全虚拟化环境
CN102402446A (zh) 应用软件的安装方法和应用软件的安装装置
CN104754032A (zh) 一种部署OpenStack的方法及装置
JP5346405B2 (ja) ネットワークシステム
CN102937909A (zh) 一种部署和更新Linux系统的方法
CN112181592A (zh) 一种私有云环境下轻量化部署分布式系统的方法
CN103747095A (zh) 一种虚拟桌面系统及方法
CN104318091B (zh) 一种基于虚拟化计算机系统的小卫星地面测试方法
CN115543548B (zh) 一种容器组的配置方法、装置、设备及可读存储介质
CN104657200A (zh) 一种在虚拟机中创建共享磁盘的方法
US9798483B2 (en) Object storage power consumption optimization
CN103389909A (zh) 一种渲染农场节点虚拟化部署系统及其应用
CN103793264A (zh) 一种桌面虚拟化离线桌面集中管理的实现方法
CN202662000U (zh) 一种渲染农场节点虚拟化部署装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right