薛 建 曲守宁
(济南大学信息网络中心,山东 济南 250022)
将物理机迁移至VMware主机
薛 建 曲守宁
(济南大学信息网络中心,山东 济南 250022)
虚拟化是数据中心架构发展的必然趋势,而P2V(Physical to Virtual)又是实现虚拟化的第一步。P2V是指物理机到虚拟机的转换。本文对P2V进行简要阐述以后,又以实际工作经验为背景,讲述了如何完成Windows及Linux物理机迁移到VMware ESX虚拟机的方法。
虚拟化;P2V;迁移
虚拟化是服务器系统架构发展的必然趋势,也是云计算的物理基础。近年来,虚拟化技术己经进入很多应用领域,而且虚拟化技术也己经慢慢被大众所接受。服务器的虚拟化就是通过在硬件和软件之间增加一个虚拟层的方法,将一台物理服务器虚拟出多台服务器,被虚拟出的服务器称作虚拟机,虚拟机是具有完整硬件功能的、运行在一个隔离环境中的逻辑计算机系统。虚拟机上可以安装不同类型的操作系统和应用程序,以此来满足不同的需求。
P2V是实现虚拟化的第一步,对于大中型数据中心来说,原来的物理服务器可能有几十台甚至上百台,如果全部服务器都重新安装操作系统、数据库、应用软件等,将是一件十分耗时耗力的工程。虚拟化技术的软件方面,Vmware公司一直处在该行业的领先的地位,主要产品包括VMware workstation、VMware Server、ESX Server和Vsphere云操作系统等。本文根据作者单位的实际工作经验,讲述如何完成物理机到VMware ESX虚拟机的转换工作。
P2V是指迁移物理服务器上的操作系统及其上的应用软件和数据到虚拟机中的过程。主要是使用各种工具软件,把物理服务器上的系统状态和数据“镜像”到虚拟机中,并且在虚拟机中“替换”物理服务器的存储硬件与网卡驱动程序。只要在虚拟服务器中安装好相应的驱动程序并且设置与原来服务器相同的地址(如TCP/IP地址等),在重启虚拟机服务器后,虚拟服务器即可以替代物理服务器进行工作。
数据中心向虚拟化迁移,可以选择在虚拟机上重新安装服务器,这些工作将主要包括:操作系统安装、数据库安装、应用服务器安装、应用软件安装及系统环境配置、安装完成后的测试等等。这些都是非常耗时耗力的工作,尤其是Linux或Unix的服务器,数据库及应用软件安装时要修改大量基于文本的配置文件,一旦有配置文件修改不到位,可能就影响系统正常运行或系统无法在一个优化的环境中运行。还有,许多安装了较早操作系统的服务器,重装需要各种驱动程序光盘等,这都增加了重新安装系统的困难。
解决这个问题的方法就是实行P2V迁移,即物理机向虚拟器的迁移,通过某种工具或方式,将物理机“克隆”到虚拟机上,这将大大降低迁移的工作量,并将系统停机时间降低到最短。
现在的P2V工具比较多,比较著名的有VMWare的VCenter Converter、Vizioncore的VConverter等,VMWare的VCenter Converter只适合Windows操作系统的P2V迁移,经过我们的测试,其Linux P2V的成功率非常低。Vconvertor也是只支持windows的迁移,且是价格相对昂贵的产品。所以我们推荐VMWare公司免费的VCenter Converter作为Windows系统的P2V工具。VCenter Converter也是虚拟机之间(V2V)进行迁移的较好工具。
而Linux的P2V迁移历来就是比较困难的,许多号称可以完成Linux P2V的工具软件,实际上因为成功率极低、操作繁琐,甚至对源服务器有风险,实际的应用价值不大。针对这种情况,经过查阅资料,我们探索了一种通过Linux的nc工具和dd命令进行Linux P2V的方法,在作者工作的单位已经有多台Linux服务器用此方法完成了P2V,迁移后虚拟器上的Linux系统运行正常,原服务器上的各种进程在新的虚拟机上也正常启动,各种应用也运行正常。
P2V还有一种方式,即利用VMware的RDM(raw device mapping)功能,将原来安装在FC SAN上的物理机转换为VMware虚拟机,这种方式迁移速度快,但只适用于原物理机是直接安装在FC SAN上的情况。
支持Windows系统P2V的工具软件主要有免费的VMWare VCenter Converter和收费的Vizioncore Vconverter。
VCenter Converter支持物理机、VMware和Microsoft虚拟机等格式的源进行转换。VMware vCenter Converter可以支持和识别大多数服务器硬件类型,并提供以下两种迁移机制:热迁移(实时迁移)和冷迁移(从WinPE启动光盘进入,在不运行操作系统的情况下迁移)。根据服务器上应用的不同,可以选择不同的迁移方式。
使用热迁移时,VMware vCenter Converter直接与源物理机上运行的操作系统通信,因此没有直接的硬件级依赖性。源物理机保持运行,正常对外提供应用服务,这是热迁移的优势。因为要保持数据的一致性,所有热切换适合那些数据修改相对不太频繁的服务器,如web服务器、打印服务器、DNS和应用服务器等,因为这些服务器的多数文件为静态数据文件。
冷迁移可以更加有效地保证克隆过程成功,因为冷迁移时操作系统是不运行的,这样保证了在转化过程中没有被打开的文件,也就没有数据修改发生。这种方式有效避免了坏数据块的产生。对于那些数据交换频繁的服务器来说这是最佳的办法(如数据库、电子邮件服务器等),冷迁移的缺点就是要临时中断服务器的对外服务。
下面是使用VCenter Converter完成windows系统的P2V热迁移的具体方法:
(1)从Vmware的官网下载并安装好VCenter Converter并安装在一台windows的计算机上。
(2)确认目标ESX或ESXi服务器上有足够的资源以完成P2V工作,主要是CPU、内存和硬盘,ESX或ESXi服务器上CPU内核的空余数量要大于被迁移服务器的CPU数量。
(3)启动VCenter Converter,选择源计算机,选择“已打开电源的计算机”,就表示选择物理机,如图1:
图1 选择并填写源计算机信息
(4)接下来以此选择目标虚拟机所属的Vcenter服务器、目标数据中心(DataCenter)、选择目标虚拟机名字、选择ESX或ESXi服务器等。
(5)配置目标虚拟机需要的资源,主要是选择目标服务器的VCPU核数、内存大小、硬盘空间,VCPU和内存可以根据应用需求调整,硬盘空间选择默认即可。完成配置后启动P2V转换.迁移完成以后要重启转换好的虚拟机,调整系统设置(比如调整VCPU、内存的大小),在虚拟机上安装Vmware tools,检查系统和应用日志有无异常。
(6)检测P2V是否成功,开启服务,测试数据库等、应用软件运行是否正常运行。
能完成Linux P2V的工具软件相对较少,有许多号称可以完成Linux P2V的工具软件,实际上因为成功率极低、操作繁琐,甚至对源服务器有风险,实际的应用价值不大。这类软件包括:EZP2V、Power Converter、Live view等。甚至使用VMWare的VCenter Converter进行Linux的P2V时成功率都很低。
下面我们介绍利用NetCat工具结合Linux的dd命令,完成Linux服务器迁移的步骤。基本原理就是利用dd将源计算机的硬盘信息读出后通过NetCat传输到已经建立好的虚拟机上,在虚拟机上用dd命令再输出到硬盘。dd会随着分区表拷贝所有的信息。
首先,在ESX server或ESXi server上建立好一个虚拟机备用,这个虚拟机的配置要和被迁移的服务器具有同样的配置,如内存大小、网卡数量,硬盘大小要稍大于被迁移的服务器的硬盘。
然后用Linux Live CD(如KNOPPIX等)重启被迁移计算机(由于迁移最长可能要用几个小时的时间,所以应在晚上进行这项工作),等Live CD引导起来以后,用ifconfig配置网卡的IP地址。
同样用Live CD启动虚拟机(通过在虚拟机上挂载LiveCD的ISO文件并重启虚拟机实现),用ifconfig配置网卡地址,用ping测试被迁移计算机是否网络可达。
接下来,通过dd命令读取物理机原始硬盘信息然后通过nc命令传输到目标虚拟机并再用dd命令写入虚拟机硬盘:
在目标虚拟机上运行nc-l-p 9001|dd of=/dev/sda,其中sda是硬盘的设备名。
在源计算机上运行dd if=/dev/sda|nc〈目标虚拟机IP地址〉9001
根据硬盘大小和网络环境不同,迁移进行的时间会从几十分钟到几个小时,以300G硬盘为例,如果采用千兆以太网,大概需2个小时。
做好P2V,就走出了虚拟化的第一步,相信将来会有更多好用的工具,帮助我们完成各种复杂系统的P2V工作。
[1]VMware英文站点[EB/OL].http://www.vmware.com/.
[2]Linux P2V[EB/OL]. http://conshell. net/wiki/index. php/ Linux_P2V.
[3]胡嘉玺.P2V,迈出虚拟化的第一步[J].程序员,2009,(10).
[4]李剑.P2V技术在校园信息化平台中的引用[J].中国现代教育装备,2011,(23).
[5]鲁松.计算机虚拟化技术及应用[M].北京:机械工业出版社,2008.
The Convertion from Physical Machine to VMware Server
Xue Jian Qu Shouning
(Information Network Center of Jinan University,Jinan 250022,Shandong)
Virtualization is an inevitable trend for the data center architecture.P2V(Physical to Virtual)is the first step to achieve virtualization.P2V is the process of converting physical machines to virtual machine.First,this paper discusses P2V;then elaborates how to achieve the convertion from physical machine to VMware ESX server.
virtualization;P2V;Convertion
TP302
:A
:1008-66609(2015)04-0081-03
薛建,男,山东蒙阴人,本科,工程师,研究方向:计算机网络。