CN102799483B - 一种用于转换操作***运行环境的方法和装置 - Google Patents

一种用于转换操作***运行环境的方法和装置 Download PDF

Info

Publication number
CN102799483B
CN102799483B CN201210220364.1A CN201210220364A CN102799483B CN 102799483 B CN102799483 B CN 102799483B CN 201210220364 A CN201210220364 A CN 201210220364A CN 102799483 B CN102799483 B CN 102799483B
Authority
CN
China
Prior art keywords
virtual machine
operating system
environment
machine environment
file
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
Application number
CN201210220364.1A
Other languages
English (en)
Other versions
CN102799483A (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.)
Beijing Hongxiang Technical Service Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210220364.1A priority Critical patent/CN102799483B/zh
Publication of CN102799483A publication Critical patent/CN102799483A/zh
Application granted granted Critical
Publication of CN102799483B publication Critical patent/CN102799483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明的实施例提供了一种用于转换操作***运行环境的方法和装置,将操作***从源物理/虚拟机环境转换到目的虚拟机环境。该方法包括:根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息;在所述源物理/虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理/虚拟机环境与所述目的虚拟机环境之间的传输隧道中;以及通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包。根据本发明的实施例的方法和装置,在存储空间方面开销很小,并且支持在线转换操作,便于自动化和批量操作,极大地提高了转换操作的效率。

Description

一种用于转换操作***运行环境的方法和装置
技术领域
本发明涉及虚拟机技术,特别涉及一种用于转换操作***运行环境的方法和装置。
背景技术
随着集成电路制造技术的发展,中央处理单元(CPU)的处理能力在不断增强。摩尔定律显示:价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。而大多数情况下,应用并不能随着硬件同步提升性能,对于小规模的应用来说尤其如此,这就使得服务器资源不能被充分利用。而使用虚拟化技术可以很好地解决这一问题。
虚拟化技术是指:利用软件和硬件结合,将物理服务器分成若干个隔离的虚拟机,每个虚拟机上都可以独立地运行程序而互不影响。虚拟化技术使得物理资源做到了更细粒度的划分,从而服务器资源被更加充分地利用,节省了成本;将对物理硬件的操作变为软件操作,使得部署、更改、灾备等更加方便;相比于单机运行多个应用程序,使用虚拟机,应用程序的环境与在物理机上一致,运维更加简单。
对于目前流行的云计算技术,虚拟化技术就是其核心技术之一。云计算的“基础设施即服务”(Infrastructure as a Service,IAAS)提供一个虚拟化平台,利用虚拟化部署快速简洁的特点,用户可以根据应用实际需求的负载情况,方便地在平台上申请或者释放虚拟机来动态增加或减少计算能力。
用户从自己的环境迁移到虚拟化平台时,大多希望能够平滑地进行迁移,即保证***和软件环境和原先一致,于是就需要P2V(Physical toVirtual,物理机到虚拟机)和V2V(Virtual to Virtual,虚拟机到虚拟机)技术。P2V是指将***从物理机环境转换到虚拟机环境,使得虚拟机环境与原物理机环境一致;V2V是指将***从一个平台的虚拟机环境转换到另一个平台的虚拟机环境,使得源和目的虚拟机环境一致。
对于P2V,一种典型方式是制作Ghost镜像。Ghost是Symantec公司的一款备份软件,支持将***分区制作成一个镜像文件以及从镜像文件恢复到***分区。使用Ghost软件进行P2V的步骤如下:
1.将需要进行P2V的物理机关机;
2.准备一张带有Ghost软件的可启动盘,从该盘启动***;
3.进入Ghost软件界面,制作***的Ghost镜像;
4.将制作好的Ghost镜像复制到虚拟机可以识别的某个独立的物理分区上;
5.选择合适的磁盘大小来创建虚拟机,将保存有Ghost镜像的分区设置为虚拟机的一个附加磁盘;
6.从带有Ghost软件的盘或者.iso文件启动虚拟机;
7.在虚拟机中的Ghost环境中,从镜像进行还原;
8.关闭虚拟机,将盘和保存有Ghost镜像的分区从虚拟机中去除;以及
9.启动虚拟机。
由此可见,使用Ghost软件执行P2V是很繁琐的,这主要体现在如下几个方面:
1.由于Ghost软件的运行特性,进行P2V的机器需要先关机,并从带有Ghost软件的盘上启动;
2.P2V最终的目的是要将***从物理机环境迁移到虚拟机环境,Ghost软件通过物理机->镜像->虚拟机的步骤来达到这一目的,中间产生的镜像在产生虚拟机后就不需要了,但这个过程增加了P2V所需的时间;以及
3.镜像文件需要额外的存储空间进行保存,当***在物理机上本身存储的内容比较多时,对镜像文件的存储和复制浪费了存储空间和输入输出接口资源。
对于V2V,可以采用和P2V相同的方式,即也使用Ghost软件通过虚拟机1->镜像->虚拟机2的步骤进行迁移。
由于虚拟机的磁盘大多数以文件方式进行存储,可以直接通过转换软件,将一种平台的虚拟机磁盘文件直接转换到另一平台可以识别的格式。例如,通过qemu-img工具可以将VMware(VMware公司的虚拟机软件)的.vmdk格式的文件转换为Xen(剑桥大学开发的虚拟机软件)可以识别的.raw格式或者.qcow2格式的文件。上述使用转换工具进行转换的步骤如下:
1.从源物理机上将虚拟机磁盘文件复制到目的物理机;
2.在目的物理机上使用磁盘转换工具将虚拟机磁盘转换为目的虚拟机平台可以识别的格式;
3.创建虚拟机,将磁盘设置为格式转换后得到的磁盘文件;以及
4.启动虚拟机。
使用上述直接转换磁盘格式的方式来执行V2V与使用Ghost软件的方式相比,简化了很多。然而,一方面,这种方式并不通用,即,不能保证有合适的格式转换软件来进行磁盘格式的转换;另一方面,有些虚拟机磁盘并非自增长格式,对于这种格式的虚拟机磁盘,磁盘大小和存储的数据大小是无关的,如果一个容量很大的磁盘中只存了很少的数据,需要转换的虚拟机磁盘也仍然是很大的,这就给转换和复制过程带来了大量的无用输入输出接口资源消耗。
发明内容
为了至少解决上述技术问题,本发明提供了一种用于转换操作***运行环境的方法和装置,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境。
根据本发明第一方面,提供了一种用于转换操作***运行环境的方法,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境,该方法包括:
根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息;
在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中;以及
通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包。
优选地,所述方法还包括:在根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息的步骤之前,根据所述操作***中的文件的大小,创建所述虚拟机磁盘。
优选地,所述方法还包括:在通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包的步骤之后,创建配置文件并且启动所述目的虚拟机环境。
优选地,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息。
优选地,在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
优选地,所述操作***为BSD操作***,所述方法还包括:
在创建所述虚拟机磁盘的步骤之后、在根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息的步骤之前,启动BSD安装虚拟机,并且将所述虚拟机磁盘绑定到所述BSD安装虚拟机上;以及
在所述源物理机环境或所述源虚拟机环境中对所述操作***中的文件进行打包并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中的步骤之后、在通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包的步骤之前,在所述BSD安装虚拟机上挂载所述虚拟机磁盘,
其中,所述根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息的步骤是在所述BSD安装虚拟机上执行的。
优选地,所述操作***为Linux操作***,所述方法还包括:
在所述源物理机环境或所述源虚拟机环境中对所述操作***中的文件进行打包并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中的步骤之后、在通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包的步骤之前,在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘,
其中,所述根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息的步骤是在所述物理主机上执行的。
优选地,在对所述操作***中的文件进行打包时,不对虚拟文件***文件和传输隧道文件进行打包。
优选地,所述目的虚拟机环境为Xen环境或者KVM环境。
根据本发明第二方面,提供了一种用于转换操作***运行环境的装置,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境,该装置包括:
重建模块,用于根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息;
打包及写入模块,用于在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中;以及
传输及解包模块,用于通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包。
优选地,所述装置还包括:创建模块,用于在所述重建模块重建所述操作***运行所必备的信息之前,根据所述操作***中的文件的大小,创建所述虚拟机磁盘。
优选地,所述装置还包括:创建及启动模块,用于在所述传输及解包模块通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置并进行解包之后,创建配置文件并且启动所述目的虚拟机环境。
优选地,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息。
优选地,在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
优选地,所述操作***为BSD操作***,所述装置还包括:
用于在所述创建模块创建所述虚拟机磁盘之后、在所述重建模块重建所述操作***运行所必备的信息之前,启动BSD安装虚拟机的启动模块、以及将所述虚拟机磁盘绑定到所述BSD安装虚拟机上的绑定模块;以及
第一挂载模块,用于在所述打包及写入模块对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述BSD安装虚拟机上挂载所述虚拟机磁盘,
其中,所述重建模块在所述BSD安装虚拟机上重建所述操作***运行所必备的信息。
优选地,所述操作***为Linux操作***,所述装置还包括:
第二挂载模块,用于在所述打包及写入模块对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘,
其中,所述重建模块在所述物理主机上重建所述操作***运行所必备的信息。
优选地,所述打包及写入模块在对所述操作***中的文件进行打包时,不对虚拟文件***文件和传输隧道文件进行打包。
优选地,所述目的虚拟机环境为Xen环境或者KVM环境。
本发明提供了一种用于转换操作***运行环境的方法和装置,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境(即,P2V或V2V)。根据本发明的实施例的用于P2V和V2V的方法和装置,对于P2V,不需要额外的存储空间保存镜像;对于V2V,不需要额外的空间保存或原格式磁盘,复制的数据大小就是实际存储数据的大小,因此对于P2V和V2V在存储空间方面开销都很小;并且支持在线P2V和V2V,即可以在源物理机或虚拟机不停机的情况下执行P2V或V2V,而由于不需要断电重启等用于停机的物理操作,整个P2V或V2V过程便于自动化和批量操作,极大地提高了P2V或V2V操作的效率。
附图说明
根据以下结合附图的详细描述,本发明的以上和其它目的和特征将变得更加清楚,其中:
图1是根据本发明的实施例的用于转换操作***运行环境的方法的流程图;
图2是根据本发明的实施例的用于转换操作***运行环境的方法中的步骤S120和S130的示意图;以及
图3是根据本发明的实施例的用于转换操作***运行环境的装置的框图。
具体实施方式
在以下的详细描述中,为了说明和示例的目的,描述若干个具体细节,以便提供对于各实施例的全面理解。然而,对于本领域普通技术人员而言,可以在没有这些具体细节的情况下实现这些实施例。在以下描述中使用的部件名称仅仅是为了容易说明,而不是为了进行任何限制。
图1是根据本发明的实施例的用于转换操作***运行环境的方法的流程图。
根据本发明的实施例,所述操作***包括但不限于Linux操作***、BSD操作***、Unix操作***、Windows操作***、Mac OS操作***、Chrome OS操作***等桌面级操作***,以及Android操作***、iOS操作***等移动平台操作***;所述物理机环境包括能够运行上述操作***的各种电子设备,包括但不限于:台式计算机、笔记本计算机、Tablet PC、大型计算机、移动电话、平板电脑、导航仪、音频和/或视频播放器、收音机、移动电视、机顶盒等等;源虚拟机环境和目的虚拟机环境包括但不限于Xen虚拟机环境、KVM虚拟机环境、VMware虚拟机环境、VirtualBox虚拟机环境、Virtual PC虚拟机环境等等。
在下文中,以Linux操作***和BSD操作***、Xen虚拟机环境和KVM虚拟机环境为例,对本发明的原理进行示例性描述,然而此描述仅仅是示例性的,本发明的范围并不限于此,本发明的原理也可以适用于上述其它的操作***和虚拟机环境。
参见图1,在根据本发明的实施例的用于转换操作***运行环境的方法100中,将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境(即,P2V或V2V)。一开始,在步骤S110中,根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息。在步骤S 110之前,还要执行步骤S 101:根据所述操作***中的文件的大小,创建所述虚拟机磁盘。步骤S101例如可以通过创建文件或者块设备来实现。对于Xen虚拟机环境和KVM虚拟机环境,可以使用lvcreate命令创建块设备,或者使用dd或qemu-img命令创建文件。
另外,对于BSD操作***,在步骤S101之后、步骤S110之前,还要执行以下步骤:启动BSD安装虚拟机(步骤S102),并且将所述虚拟机磁盘绑定(attach)到所述BSD安装虚拟机上(步骤S 103),这是因为对于BSD操作***,要在此BSD安装虚拟机上执行上述步骤S110。而对于Linux操作***,可以在所述目的虚拟机环境所在的物理主机(即,目的物理主机)上执行上述步骤S110。
根据本发明的实施例,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息。
在KVM虚拟机环境或Xen虚拟机环境作为目的全虚拟化环境来运行Linux操作***的情况下,根据Linux操作***的特性,在目的物理主机上为目的虚拟机环境(KVM或Xen)的虚拟机磁盘重建Linux操作***运行所必备的信息的步骤可以包括:(1)重建分区信息,例如通过fdisk或parted命令重建分区表;(2)重建文件***信息,例如通过mkfs命令在重建的分区上重建文件***;以及(3)重建引导信息,例如通过grub命令安装bootloader(引导加载器)来执行。
在KVM虚拟机环境或Xen虚拟机环境作为目的全虚拟化环境来运行BSD操作***的情况下,根据BSD操作***的特性,在BSD安装虚拟机上为目的虚拟机环境(KVM或Xen)的虚拟机磁盘重建BSD操作***运行所必备的信息的步骤可以包括:
(1)重建引导信息
由于BSD***中将mbr(master boot record,主引导记录)信息保存在本地的/boot/mbr文件下,因此例如可以通过如下命令在本地重建引导信息(mbr):
fdisk-aBI-b/boot/mbr$DISK。
(2)重建分区信息
例如可以使用disklabel命令重建分区信息。首先准备好一个分区表配置文件,例如
c:*0unused 0 0 0
a:*04.2BSD000
然后通过disklabel-w,disklabel-B,disklabel–R命令通过分区表配置文件来重建分区信息。
(3)重建文件***信息
例如可以通过newfs命令来创建虚拟机文件***。
根据本发明的实施例,在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
Xen虚拟机环境可以作为目的半虚拟化环境来运行Linux操作***。由于半虚拟化的特性,在***启动时无需读取引导信息,而是通过在配置文件中配置的内核或pygrub(引导加载器)来加载kernel(***内核),因此在半虚拟化时引导信息无需重建。另外,由于半虚拟化的特性,分区信息可以直接在配置文件中指定,因此在半虚拟化时引导信息也无需重建。这样,只需重建文件***信息,这例如可以在目的物理主机上通过mkfs命令对虚拟机磁盘文件重建文件***来实现。
根据本发明的实施例,并且参见图1,在步骤S110之后,执行步骤S120和步骤S130:在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中(步骤S120),并且通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包(步骤S130)。另外,在上述步骤S120之后、步骤S130之前,对于BSD操作***,执行步骤S121:在BSD安装虚拟机上挂载(mount)所述虚拟机磁盘;而对于Linux操作***,执行步骤S121’:在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘。
下面参见图2来对步骤S 120和步骤130进行描述,图2是根据本发明的实施例的方法100中的步骤S120和S130的示意图。参见图2,在左侧的源物理机环境或源虚拟机环境中,对操作***中的文件进行打包,所述文件包括操作***自身的文件以及用户文件,但不对例如/cgroup、/proc、/sys等虚拟文件***文件和传输隧道文件进行打包。之后,将经打包的文件写入到传输隧道(例如ssh隧道)中。然后,通过传输隧道将经打包的文件传输到右侧的目的虚拟机环境的虚拟机磁盘中的目的位置,并在该目的位置对文件进行解包。在上述过程中,在打包的同时将文件直接写入到传输隧道中,然后通过传输隧道将文件传输到目的虚拟机环境的虚拟机磁盘中的目的位置并在该目的位置对文件进行解包,整个过程中只有网络传输操作,而不存在额外的中间文件存储。
根据本发明的实施例,在步骤S130之后,执行步骤S131:创建配置文件并且启动所述目的虚拟机环境。所述配置文件可以用来配置中央处理单元(CPU)、内存等硬件设备。
本发明提供了一种用于转换操作***运行环境的方法,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境。根据本发明的实施例的用于P2V和V2V的方法,对于P2V,不需要额外的存储空间保存镜像;对于V2V,不需要额外的空间保存或原格式磁盘,复制的数据大小就是实际存储数据的大小,因此对于P2V和V2V在存储空间方面开销都很小;支持在线P2V和V2V,即可以在源物理机或虚拟机不停机的情况下执行P2V或V2V,而由于不需要断电重启等用于停机的物理操作,整个P2V或V2V过程便于自动化和批量操作,极大地提高了P2V或V2V操作的效率。
与上述的方法100相对应,本发明还提供了一种用于转换操作***运行环境的装置200,其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境,参见图3,该装置200包括:
重建模块210,用于根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息,该重建模块210可以用于执行上述方法100中的步骤S110;
打包及写入模块220,用于在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中,该打包及写入模块220可以用于执行上述方法100中的步骤S120;以及
传输及解包模块230,用于通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包,该传输及解包模块230可以用于执行上述方法100中的步骤S130。
在本发明的优选实施例中,所述装置还包括:创建模块201,用于在所述重建模块210重建所述操作***运行所必备的信息之前,根据所述操作***中的文件的大小,创建所述虚拟机磁盘,所述创建模块201可以用于执行上述方法100中的步骤S101。
在本发明的优选实施例中,所述装置还包括:创建及启动模块231,用于在所述传输及解包模块230通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置并进行解包之后,创建配置文件并且启动所述目的虚拟机环境,所述创建及启动模块231可以用于执行上述方法100中的步骤S131。
在本发明的优选实施例中,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息。
在本发明的优选实施例中,在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
在本发明的优选实施例中,所述操作***为BSD操作***,所述装置还包括:
用于在所述创建模块201创建所述虚拟机磁盘之后、在所述重建模块210重建所述操作***运行所必备的信息之前,启动BSD安装虚拟机的启动模块202、以及将所述虚拟机磁盘绑定到所述BSD安装虚拟机上的绑定模块203,所述启动模块202和绑定模块203可以分别用于执行上述方法100中的步骤S102和步骤S103;以及
第一挂载模块221,用于在所述打包及写入模块220对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块230将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述安装虚拟机上挂载所述虚拟机磁盘,所述第一挂载模块221可以用于执行上述方法100中的步骤S121,
其中,所述重建模块210在所述安装虚拟机上重建所述操作***运行所必备的信息。
在本发明的优选实施例中,所述操作***为Linux操作***,所述装置还包括:
第二挂载模块221',用于在所述打包及写入模块220对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块230将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘,所述第二挂载模块221’可以用于执行上述方法100中的步骤S121’,
其中,所述重建模块210在所述物理主机上重建所述操作***运行所必备的信息。
在本发明的优选实施例中,所述打包及写入模块220在对所述操作***中的文件进行打包时,不对虚拟文件***文件和传输隧道文件进行打包。
在本发明的优选实施例中,所述目的虚拟机环境为Xen环境或者KVM环境。
由于上述各装置实施例与前述各方法实施例相对应,因此不再对各装置实施例进行详细描述。
本发明可以以任何适当的形式实现,包括硬件、软件、固件或者它们的任意组合。可选地,本发明可以至少部分地实现为运行在一个或多个处理器和/或数字信号处理器上的计算机软件。本发明的实施例的装置和模块可以在物理上、功能上和逻辑上以任何适当的方式实现。根据本发明的各个功能可以在单个单元中、在多个单元中或者作为其他功能单元的一部分来实现。同样地,本发明可以在单个单元中实现,或者可以在物理上和功能上分布在不同单元和处理器之间。
尽管已经结合一些实施例描述了本发明,但是本发明并不意在限于本文阐述的特定形式。相反地,本发明的范围仅由所附权利要求书限定。此外,尽管特征可能看起来是结合特定实施例而被描述的,但是本领域普通技术人员应当认识到,依照本发明可以组合所描述的实施例的各种特征。在权利要求书中,措词“包括”并不排除其他模块或步骤的存在。
此外,尽管单独被列出,但是多个模块或方法步骤可以由例如单个单元或处理器实现。此外,尽管单独的特征可能包含在不同的权利要求中,但是这些特征可能地可以有利地加以组合,并且包含在不同的权利要求中并不意味着特征的组合是不可行的。此外,特征包含于一种权利要求类别(例如方法权利要求)中并不意味着限于该类别,而是表示该特征同样可适当地应用于其他权利要求类别(例如装置权利要求)。此外,权利要求中特征的顺序并不意味着必须的任何特定顺序。并且,方法权利要求中各步骤的顺序并不意味着这些步骤必须按照该顺序来执行。相反地,这些步骤可以以任何适当的顺序执行。此外,单数形式的表述并没有排除复数。因此,对于“一”、“一个”、“第一”、“第二”等等的引用并没有排除复数。权利要求中的附图标记仅仅是标号,而不应当将其视为对权利要求的范围的限制。

Claims (10)

1.一种用于转换操作***运行环境的方法(100),其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境,所述方法(100)包括:
根据所述操作***中的文件的大小,创建所述目的虚拟机环境的虚拟机磁盘(S101);
根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息(S110);
在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中(S120);
通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包(S130);以及
创建配置文件并且启动所述目的虚拟机环境(S131);
其中,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息;或
在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
2.如权利要求1所述的方法,其中所述操作***为BSD操作***,所述方法还包括:
在创建所述虚拟机磁盘(S101)的步骤之后、在根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息(S110)的步骤之前,启动BSD安装虚拟机(S102),并且将所述虚拟机磁盘绑定到所述BSD安装虚拟机上(S103);以及
在所述源物理机环境或所述源虚拟机环境中对所述操作***中的文件进行打包并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中(S120)的步骤之后、在通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包(S130)的步骤之前,在所述BSD安装虚拟机上挂载所述虚拟机磁盘(S121),
其中,所述根据所述操作***的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息(S110)的步骤是在所述BSD安装虚拟机上执行的。
3.如权利要求1所述的方法,其中所述操作***为Linux操作***,所述方法还包括:
在所述源物理机环境或所述源虚拟机环境中对所述操作***中的文件进行打包并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中(S120)的步骤之后、在通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包(S130)的步骤之前,在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘(S121'),
其中,所述根据所述操作***和所述目的虚拟机环境的类型为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息(S110)的步骤是在所述物理主机上执行的。
4.如权利要求1所述的方法,其中在对所述操作***中的文件进行打包时,不对虚拟文件***文件和传输隧道文件进行打包。
5.如权利要求1所述的方法,其中所述目的虚拟机环境为Xen环境或者KVM环境。
6.一种用于转换操作***运行环境的装置(200),其中将操作***从源物理机环境或源虚拟机环境转换到目的虚拟机环境,所述装置(200)包括:
创建模块(201),用于根据所述操作***中的文件的大小,创建所述目的虚拟机环境的虚拟机磁盘;
重建模块(210),用于根据所述操作***和所述目的虚拟机环境的类型,为所述目的虚拟机环境的虚拟机磁盘重建所述操作***运行所必备的信息;
打包及写入模块(220),用于在所述源物理机环境或所述源虚拟机环境中,对所述操作***中的文件进行打包,并且写入到所述源物理机环境或所述源虚拟机环境与所述目的虚拟机环境之间的传输隧道中;
传输及解包模块(230),用于通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置,并进行解包;以及
创建及启动模块(231),用于在所述传输及解包模块(230)通过所述传输隧道将经打包的文件传输到所述目的虚拟机环境的虚拟机磁盘中的目的位置并进行解包之后,创建配置文件并且启动所述目的虚拟机环境;
其中,在所述目的虚拟机环境为全虚拟化环境时,所述操作***运行所必备的信息包括引导信息、分区信息、以及文件***信息;或在所述目的虚拟机环境为半虚拟化环境时,所述操作***运行所必备的信息包括文件***信息。
7.如权利要求6所述的装置,其中所述操作***为BSD操作***,所述装置还包括:
用于在所述创建模块(201)创建所述虚拟机磁盘之后、在所述重建模块(210)重建所述操作***运行所必备的信息之前,启动BSD安装虚拟机的启动模块(202)、以及将所述虚拟机磁盘绑定到所述BSD安装虚拟机上的绑定模块(203);以及
第一挂载模块(221),用于在所述打包及写入模块(220)对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块(230)将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述BSD安装虚拟机上挂载所述虚拟机磁盘,
其中,所述重建模块(210)在所述BSD安装虚拟机上重建所述操作***运行所必备的信息。
8.如权利要求6所述的装置,其中所述操作***为Linux操作***,所述装置还包括:
第二挂载模块(221'),用于在所述打包及写入模块(220)对所述操作***中的文件进行打包并且写入到所述传输隧道中之后、在所述传输及解包模块(230)将经打包的文件传输到所述目的虚拟机环境中的目的位置并进行解包之前,在所述目的虚拟机环境所在的物理主机上挂载所述虚拟机磁盘,
其中,所述重建模块(210)在所述物理主机上重建所述操作***运行所必备的信息。
9.如权利要求6所述的装置,其中所述打包及写入模块(220)在对所述操作***中的文件进行打包时,不对虚拟文件***文件和传输隧道文件进行打包。
10.如权利要求6所述的装置,其中所述目的虚拟机环境为Xen环境或者KVM环境。
CN201210220364.1A 2012-06-28 2012-06-28 一种用于转换操作***运行环境的方法和装置 Active CN102799483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210220364.1A CN102799483B (zh) 2012-06-28 2012-06-28 一种用于转换操作***运行环境的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210220364.1A CN102799483B (zh) 2012-06-28 2012-06-28 一种用于转换操作***运行环境的方法和装置

Publications (2)

Publication Number Publication Date
CN102799483A CN102799483A (zh) 2012-11-28
CN102799483B true CN102799483B (zh) 2015-08-05

Family

ID=47198598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210220364.1A Active CN102799483B (zh) 2012-06-28 2012-06-28 一种用于转换操作***运行环境的方法和装置

Country Status (1)

Country Link
CN (1) CN102799483B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007998A (zh) * 2013-02-25 2014-08-27 纬创资通股份有限公司 用于计算机***的文件转换方法
CN103605561A (zh) * 2013-11-28 2014-02-26 中标软件有限公司 一种云计算集群***及其在线迁移物理服务器的方法
CN107515774B (zh) * 2016-06-15 2021-02-05 阿里巴巴集团控股有限公司 一种在线替换虚拟操作***底层块设备驱动的方法和装置
CN106155905B (zh) * 2016-06-28 2019-06-07 广州华多网络科技有限公司 应用环境切换方法以及装置
CN106201702A (zh) * 2016-07-19 2016-12-07 浪潮(北京)电子信息产业有限公司 虚拟机迁移的方法、***及云计算管理平台
CN106383796B (zh) * 2016-10-18 2019-06-14 广州视睿电子科技有限公司 一种主机操作***类型的识别方法及***
CN107967165B (zh) * 2016-10-20 2021-09-24 上海盛霄云计算技术有限公司 基于lvm的虚拟机离线迁移方法
CN108170505A (zh) * 2016-12-07 2018-06-15 华为技术有限公司 一种驱动管理方法及宿主机
CN106611138B (zh) * 2016-12-12 2020-03-31 北京鼎普科技股份有限公司 一种ghost文件保密检查方法及装置
CN108255573A (zh) * 2016-12-29 2018-07-06 北京国双科技有限公司 虚拟机启动修复方法及服务器
CN107133067A (zh) * 2017-04-07 2017-09-05 深信服科技股份有限公司 云平台部署方法及装置
CN114610337A (zh) * 2021-05-06 2022-06-10 统信软件技术有限公司 一种多***安装方法、计算设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876909A (zh) * 2009-04-30 2010-11-03 北京世纪红山科技有限公司 计算机虚拟化中本地实现物理到虚拟的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876909A (zh) * 2009-04-30 2010-11-03 北京世纪红山科技有限公司 计算机虚拟化中本地实现物理到虚拟的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Seamless Live Migration of Virtual Machines over the MAN/WAN;Franco Travostino etc.;《Elsevier Future Generation Computer Systems》;20061031;第22卷(第8期);第1-9页 *
虚拟机在线迁移技术综述;张岐;《农业网络信息》;20120226(第2期);第20-22页 *

Also Published As

Publication number Publication date
CN102799483A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102799483B (zh) 一种用于转换操作***运行环境的方法和装置
US10740132B2 (en) Systems and methods for updating containers
US8578370B2 (en) Managing memory in multiple virtual machines
JP5302397B2 (ja) 仮想化されたサーバ・プラットフォーム上に起動可能な仮想ストレージ・アプライアンスをインストールするためのシステムおよび方法
CN101364189B (zh) 在操作***协助下实现运行时间处理器迁移的方法和装置
KR102269452B1 (ko) 컨텐츠 변환 없는 컴퓨팅 디바이스에서의 다중 운영 체제 환경들의 지원
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
CN101650660A (zh) 从中央存储装置引导计算机***
US10853264B2 (en) Virtual memory system
US11231953B2 (en) Minimizing downtime when importing virtual machines from other platforms
US10175886B1 (en) Systems and methods for handling missing storage image layers while provisioning containers in computer clusters
US9557980B2 (en) Seamless application integration apparatus and method
CN104063234A (zh) 一种兼容方法及装置
US20190188020A1 (en) Systems and methods for adaptive access of memory namespaces
US8473731B2 (en) System and method for physical to virtual disk re-layout
US11221766B2 (en) System and method for persistent memory rotation based on remaining write endurance
US20140304495A1 (en) System and method for expediting virtual i/o server (vios) boot time in a virtual computing environment
US10592425B2 (en) Virtualizing NVDIMM WPQ flushing with minimal overhead
US20230185580A1 (en) Single node deployment of container platform
CN114237814A (zh) 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
US20240095128A1 (en) Backup and restore
US9202058B1 (en) Root volume encryption mechanism in para-virtualized virtual machine
US11966609B1 (en) Zoned namespace storage device system
US20240134543A1 (en) Microservice storage device system
US20240134561A1 (en) Reconfigurable microservice storage device system

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
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee after: 3600 Technology Group Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230703

Address after: 1765, floor 17, floor 15, building 3, No. 10 Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: Beijing Hongxiang Technical Service Co.,Ltd.

Address before: 300450 No. 9-3-401, No. 39, Gaoxin 6th Road, Binhai Science Park, Binhai New Area, Tianjin

Patentee before: 3600 Technology Group Co.,Ltd.

TR01 Transfer of patent right