本申请涉及计算机技术领域,尤其涉及一种数据迁移方法及装置。
背景技术:
物理主机到虚拟机(physicaltovirtual,p2v)迁移是指通过技术手段,将物理主机里面的磁盘数据转换成虚拟机对应的镜像。
p2v迁移主要有热迁移和冷迁移两种:热迁移是以被迁移的物理主机正常工作为前提,将物理主机上的数据转化成虚拟机镜像;冷迁移是以中断、关闭服务器原有服务为前提,将物理主机上的数据转换为虚拟机镜像。
现有技术中,p2v迁移的两种方式都是通过网络进行数据交互,有对应的服务端和客户端,需要进行网络传输。因此,无论是冷迁移还是热迁移,迁移的时间都会受到数据量的大小和网络质量的影响,当数据量大,网络质量不好时,会导致迁移时间无限延长。
技术实现要素:
本发明实施例提供了一种数据迁移方法及装置,能够节省数据迁移的时间,提高迁移效率。
第一方面,本发明实施例提供了一种数据迁移方法,该方法应用于将物理主机的数据迁移至移动介质,其中,移动介质通过物理接口连接至物理主机,该方法包括:确定物理主机的基本信息;根据基本信息在移动介质的存储中创建镜像文件;读取物理主机的待迁移数据,将待迁移数据写入镜像文件,镜像文件用于创建虚拟机。
可选的,该方法还包括:加载移动介质的空闲分区,并格式化空闲分区;
根据基本信息在移动介质的存储中创建镜像文件包括:根据基本信息在移动介质的空闲分区创建镜像文件。
可选的,读取物理主机的待迁移数据的具体过程为:确定物理主机的数据盘位图,读取数据盘位图对应的磁盘扇区数据,待迁移数据包括数据盘位图对应的磁盘扇区数据。
可选的,该方法还包括:根据基本信息在移动介质的存储中创建虚拟机的配置文件,虚拟机的配置文件用于创建虚拟机。
可选的,所述基本信息包括物理主机的内存大小、磁盘大小或网卡个数。
可选的,移动介质连接云平台的服务器,该方法还包括:云平台的服务器根据移动介质中的镜像文件及配置文件创建虚拟机。
第二方面,本发明实施例还提供一种数据迁移装置,该装置包括:
信息确定单元,用于确定物理主机的基本信息;
镜像文件创建单元,用于根据基本信息在移动介质的存储中创建镜像文件;
数据读取单元,用于读取物理主机的待迁移数据;
数据写入单元,用于将待迁移数据写入镜像文件,镜像文件用于创建虚拟机。
可选的,该装置还包括:
加载单元,用于加载移动介质的空闲分区,并格式化空闲分区;
镜像文件创建单元,具体用于根据基本信息在移动介质的空闲分区创建镜像文件。
可选的,数据读取单元,具体用于确定物理主机的数据盘位图,读取数据盘位图对应的磁盘扇区数据,待迁移数据包括数据盘位图对应的磁盘扇区数据。
可选的,装置还包括:配置文件创建单元,用于根据基本信息在移动介质的存储中创建虚拟机的配置文件,虚拟机的配置文件用于创建虚拟机。
可选的,信息确定单元,具体用于确定物理主机的基本信息,基本信息包括物理主机的内存大小、磁盘大小或网卡个数。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,是将移动介质通过物理接口连接至物理主机,先确定物理主机的基本信息,根据物理主机的基本信息在移动介质的存储中创建虚拟机的镜像文件,之后,读取物理主机中的待迁移数据,将待迁移数据写入所述镜像文件。通过这种方式,将物理主机中的数据迁移至移动介质中,存储为镜像文件,以便于后续根据该镜像文件创建虚拟机。本发明实施例中的数据迁移方法是直接将物理主机中的数据读取并写入至移动介质中,且不需要通过网络进行传输,迁移过程不受网络质量的影响,因此能够节省数据迁移的时间,能够提高迁移效率。
附图说明
图1为本发明实施例中数据迁移方法的一种示意图;
图2为本发明实施例中数据迁移方法的一种流程图;
图3为本发明实施例中数据迁移方法的另一种流程图;
图4为本发明实施例中的数据迁移装置的一种功能模块结构图。
具体实施方式
以下结合附图对本发明实施例进行进一步详细说明。
如图1所示,本发明实施例的数据迁移方法是将物理主机中的数据迁移至移动介质,之后,可以将移动介质中的数据导入到云平台的服务器,生成虚拟机,再将虚拟机配置给租户。从而可以将物理主机中的数据迁移至云平台,其中,数据可以包括物理主机上的操作系统、以及运行在操作系统上的应用软件和数据。
其中,物理主机可以手持设备、车载设备、计算设备,以及各种形式的用户设备,也可以是服务器。
移动介质可以是移动硬盘、u盘,或其他可以通过物理接口接入物理主机的装置,物理接口可以是通用串行总线(universalserialbus,usb)接口。
云平台是基于openstack等云计算管理平台框架搭建的一套虚拟化多租户环境,由多个服务器或分布式部署的服务器集群组成。租户为使用云平台的资源的用户。
本发明实施例中的数据迁移方法可以适用于p2v热迁移和冷迁移。下面结合图2对本发明实施例中的数据迁移方法进行介绍。该数据迁移方法可以由物理主机的处理器执行。
201、确定物理主机的基本信息;
将移动介质插入至物理主机后,物理主机的处理器对自身的基本信息进行扫描,确定物理主机的基本信息,其中,基本信息包括物理主机的内存大小、磁盘大小、网卡个数等信息。
202、根据所述基本信息在所述移动介质的存储中创建镜像文件;
处理器在确定物理主机的基本信息后,根据该基本信息在移动介质的存储中创建镜像文件,具体的,根据物理主机的内存大小、磁盘大小、网卡个数等信息创建与这些信息相匹配的镜像文件,该镜像文件用于后续创建虚拟机。
可选的,在移动介质插入物理主机后,物理主机的处理器加载移动介质的空闲分区,并格式化所述空闲分区,将该空闲分区作为被迁移数据的存储空间,即处理器根据所述基本信息在移动介质的空闲分区创建所述镜像文件。
203、读取物理主机的待迁移数据;
其中,待迁移数据可以包括物理主机上的应用软件和数据,还可以包括物理主机上运行的操作系统等数据。
读取物理主机的待迁移数据的具体方式可以为:确定物理主机的数据盘位图(具体是确定物理主机上除移动介质以外的其他数据盘位图),读取所述数据盘位图对应的磁盘扇区数据,所述待迁移数据即为所述数据盘位图对应的所述磁盘扇区数据。
204、将待迁移数据写入所述镜像文件。
在读取物理主机的待迁移数据后,将待迁移数据写入在移动介质中的存储中创建的镜像文件中。
可选的,在创建镜像文件的同时,处理器还根据所述基本信息在移动介质的存储中创建虚拟机的配置文件,所述配置文件和所述镜像文件用于创建虚拟机。
本发明实施例中,是将移动介质通过物理接口连接至物理主机,先确定物理主机的基本信息,根据物理主机的基本信息在移动介质的存储中创建虚拟机的镜像文件,之后,读取物理主机中的待迁移数据,将待迁移数据写入所述镜像文件,以便于后续根据该镜像文件创建虚拟机。本发明实施例中的数据迁移方法是直接将物理主机中的数据读取并写入至移动介质中,且不需要通过网络进行传输,迁移过程不受网络质量的影响,因此能够节省数据迁移的时间,能够提高迁移效率。
在将物理主机上的数据迁移至移动介质后,将移动介质插入云平台的服务器上,云平台的服务器根据移动介质中的镜像文件及配置文件创建虚拟机,该虚拟机中的数据即为物理主机上的数据,若物理主机迁移至移动介质的镜像文件中包括操作系统、,则该虚拟机的操作系统即与物理主机上的操作系统一致。
需要说明的是,处理器在执行图2所示的数据迁移方法时,具体可以是运行虚拟化平台进行数据迁移,该虚拟化平台可以安装在移动介质中,也可以安装在物理主机中。该虚拟化平台可以是sangforasv等工具。
下面结合图3,对处理器数据迁移方法进行介绍。
1、将移动介质插入被迁移的物理主机,将物理主机设置为从移动介质启动,进入虚拟化平台;
2、启动p2v迁移流程,将存放待迁移数据的地址设置为本地移动介质的空闲分区,或者将移动介质分区模拟成iscsi存储,作为p2v迁移的数据存储卷。
3、启动数据迁移,将被迁移的物理主机的磁盘设置为被迁移的源数据区,目的分区为移动介质的空闲分区,开始迁移;整个迁移过程自动完成,只要插入移动介质重启,就自动开始迁移。
迁移的具体处理过程包括:
301、读取除移动介质外的其他数据盘位图;
302、加载移动介质的空闲分区,并格式化;
303、确定被迁移的物理主机的基本信息,如磁盘大小、网卡个数等信息;
304、根据被迁移的物理主机的基本信息创建镜像文件以及虚拟机对应的配置文件;
305、读取数据盘位图相关的物理磁盘扇区数据;
306、将步骤305读取的物理磁盘扇区数据写入步骤304中创建的镜像文件;
307、数据迁移完成。
之后,将移动介质插入云平台的服务器,自动导入新建成虚拟机,并将虚拟机分配给对应的租户。
通过上述流程,可以实际解决虚拟化集中管理遇到的数据迁移问题,同时能提供非常便捷的用户体验。
以上是对本发明例中的数据迁移方法进行的介绍,下面从功能模块角度对本发明实施例中的数据迁移装置进行介绍。
如图4所示,本发明实施例中的数据迁移装置包括:
信息确定单元401,用于确定物理主机的基本信息;
镜像文件创建单元402,用于根据信息确定单元401中的基本信息在移动介质的存储中创建镜像文件;
数据读取单元403,用于读取物理主机的待迁移数据;
数据写入单元404,用于将待迁移数据写入镜像文件创建单元402中创建的镜像文件,其中,该镜像文件用于创建虚拟机。
在一些具体的实施例中,该装置还包括:加载单元405,用于加载移动介质的空闲分区,并格式化该空闲分区;所述镜像文件创建单元402,具体用于根据基本信息在移动介质的空闲分区创建镜像文件。
在一些具体的实施例中,数据读取单元403,具体用于确定物理主机的数据盘位图,读取数据盘位图对应的磁盘扇区数据,待迁移数据包括数据盘位图对应的磁盘扇区数据。
在一些具体的实施例中,该装置还包括:
配置文件创建单元406,用于根据基本信息在移动介质的存储中创建虚拟机的配置文件,虚拟机的配置文件用于创建虚拟机。
在一些具体的实施例中,信息确定单元401,具体用于确定物理主机的基本信息,基本信息包括物理主机的内存大小、磁盘大小或网卡个数。
该装置中的各单元之间的信息交互可以参阅上述方法实施例(图1至图3所示的实施例),本申请不做赘述。
需要说明的是,在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。