薛 建 曲守寧
(濟(jì)南大學(xué)信息網(wǎng)絡(luò)中心,山東 濟(jì)南 250022)
將物理機(jī)遷移至VMware主機(jī)
薛 建 曲守寧
(濟(jì)南大學(xué)信息網(wǎng)絡(luò)中心,山東 濟(jì)南 250022)
虛擬化是數(shù)據(jù)中心架構(gòu)發(fā)展的必然趨勢,而P2V(Physical to Virtual)又是實現(xiàn)虛擬化的第一步。P2V是指物理機(jī)到虛擬機(jī)的轉(zhuǎn)換。本文對P2V進(jìn)行簡要闡述以后,又以實際工作經(jīng)驗為背景,講述了如何完成Windows及Linux物理機(jī)遷移到VMware ESX虛擬機(jī)的方法。
虛擬化;P2V;遷移
虛擬化是服務(wù)器系統(tǒng)架構(gòu)發(fā)展的必然趨勢,也是云計算的物理基礎(chǔ)。近年來,虛擬化技術(shù)己經(jīng)進(jìn)入很多應(yīng)用領(lǐng)域,而且虛擬化技術(shù)也己經(jīng)慢慢被大眾所接受。服務(wù)器的虛擬化就是通過在硬件和軟件之間增加一個虛擬層的方法,將一臺物理服務(wù)器虛擬出多臺服務(wù)器,被虛擬出的服務(wù)器稱作虛擬機(jī),虛擬機(jī)是具有完整硬件功能的、運(yùn)行在一個隔離環(huán)境中的邏輯計算機(jī)系統(tǒng)。虛擬機(jī)上可以安裝不同類型的操作系統(tǒng)和應(yīng)用程序,以此來滿足不同的需求。
P2V是實現(xiàn)虛擬化的第一步,對于大中型數(shù)據(jù)中心來說,原來的物理服務(wù)器可能有幾十臺甚至上百臺,如果全部服務(wù)器都重新安裝操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用軟件等,將是一件十分耗時耗力的工程。虛擬化技術(shù)的軟件方面,Vmware公司一直處在該行業(yè)的領(lǐng)先的地位,主要產(chǎn)品包括VMware workstation、VMware Server、ESX Server和Vsphere云操作系統(tǒng)等。本文根據(jù)作者單位的實際工作經(jīng)驗,講述如何完成物理機(jī)到VMware ESX虛擬機(jī)的轉(zhuǎn)換工作。
P2V是指遷移物理服務(wù)器上的操作系統(tǒng)及其上的應(yīng)用軟件和數(shù)據(jù)到虛擬機(jī)中的過程。主要是使用各種工具軟件,把物理服務(wù)器上的系統(tǒng)狀態(tài)和數(shù)據(jù)“鏡像”到虛擬機(jī)中,并且在虛擬機(jī)中“替換”物理服務(wù)器的存儲硬件與網(wǎng)卡驅(qū)動程序。只要在虛擬服務(wù)器中安裝好相應(yīng)的驅(qū)動程序并且設(shè)置與原來服務(wù)器相同的地址(如TCP/IP地址等),在重啟虛擬機(jī)服務(wù)器后,虛擬服務(wù)器即可以替代物理服務(wù)器進(jìn)行工作。
數(shù)據(jù)中心向虛擬化遷移,可以選擇在虛擬機(jī)上重新安裝服務(wù)器,這些工作將主要包括:操作系統(tǒng)安裝、數(shù)據(jù)庫安裝、應(yīng)用服務(wù)器安裝、應(yīng)用軟件安裝及系統(tǒng)環(huán)境配置、安裝完成后的測試等等。這些都是非常耗時耗力的工作,尤其是Linux或Unix的服務(wù)器,數(shù)據(jù)庫及應(yīng)用軟件安裝時要修改大量基于文本的配置文件,一旦有配置文件修改不到位,可能就影響系統(tǒng)正常運(yùn)行或系統(tǒng)無法在一個優(yōu)化的環(huán)境中運(yùn)行。還有,許多安裝了較早操作系統(tǒng)的服務(wù)器,重裝需要各種驅(qū)動程序光盤等,這都增加了重新安裝系統(tǒng)的困難。
解決這個問題的方法就是實行P2V遷移,即物理機(jī)向虛擬器的遷移,通過某種工具或方式,將物理機(jī)“克隆”到虛擬機(jī)上,這將大大降低遷移的工作量,并將系統(tǒng)停機(jī)時間降低到最短。
現(xiàn)在的P2V工具比較多,比較著名的有VMWare的VCenter Converter、Vizioncore的VConverter等,VMWare的VCenter Converter只適合Windows操作系統(tǒng)的P2V遷移,經(jīng)過我們的測試,其Linux P2V的成功率非常低。Vconvertor也是只支持windows的遷移,且是價格相對昂貴的產(chǎn)品。所以我們推薦VMWare公司免費(fèi)的VCenter Converter作為Windows系統(tǒng)的P2V工具。VCenter Converter也是虛擬機(jī)之間(V2V)進(jìn)行遷移的較好工具。
而Linux的P2V遷移歷來就是比較困難的,許多號稱可以完成Linux P2V的工具軟件,實際上因為成功率極低、操作繁瑣,甚至對源服務(wù)器有風(fēng)險,實際的應(yīng)用價值不大。針對這種情況,經(jīng)過查閱資料,我們探索了一種通過Linux的nc工具和dd命令進(jìn)行Linux P2V的方法,在作者工作的單位已經(jīng)有多臺Linux服務(wù)器用此方法完成了P2V,遷移后虛擬器上的Linux系統(tǒng)運(yùn)行正常,原服務(wù)器上的各種進(jìn)程在新的虛擬機(jī)上也正常啟動,各種應(yīng)用也運(yùn)行正常。
P2V還有一種方式,即利用VMware的RDM(raw device mapping)功能,將原來安裝在FC SAN上的物理機(jī)轉(zhuǎn)換為VMware虛擬機(jī),這種方式遷移速度快,但只適用于原物理機(jī)是直接安裝在FC SAN上的情況。
支持Windows系統(tǒng)P2V的工具軟件主要有免費(fèi)的VMWare VCenter Converter和收費(fèi)的Vizioncore Vconverter。
VCenter Converter支持物理機(jī)、VMware和Microsoft虛擬機(jī)等格式的源進(jìn)行轉(zhuǎn)換。VMware vCenter Converter可以支持和識別大多數(shù)服務(wù)器硬件類型,并提供以下兩種遷移機(jī)制:熱遷移(實時遷移)和冷遷移(從WinPE啟動光盤進(jìn)入,在不運(yùn)行操作系統(tǒng)的情況下遷移)。根據(jù)服務(wù)器上應(yīng)用的不同,可以選擇不同的遷移方式。
使用熱遷移時,VMware vCenter Converter直接與源物理機(jī)上運(yùn)行的操作系統(tǒng)通信,因此沒有直接的硬件級依賴性。源物理機(jī)保持運(yùn)行,正常對外提供應(yīng)用服務(wù),這是熱遷移的優(yōu)勢。因為要保持?jǐn)?shù)據(jù)的一致性,所有熱切換適合那些數(shù)據(jù)修改相對不太頻繁的服務(wù)器,如web服務(wù)器、打印服務(wù)器、DNS和應(yīng)用服務(wù)器等,因為這些服務(wù)器的多數(shù)文件為靜態(tài)數(shù)據(jù)文件。
冷遷移可以更加有效地保證克隆過程成功,因為冷遷移時操作系統(tǒng)是不運(yùn)行的,這樣保證了在轉(zhuǎn)化過程中沒有被打開的文件,也就沒有數(shù)據(jù)修改發(fā)生。這種方式有效避免了壞數(shù)據(jù)塊的產(chǎn)生。對于那些數(shù)據(jù)交換頻繁的服務(wù)器來說這是最佳的辦法(如數(shù)據(jù)庫、電子郵件服務(wù)器等),冷遷移的缺點就是要臨時中斷服務(wù)器的對外服務(wù)。
下面是使用VCenter Converter完成windows系統(tǒng)的P2V熱遷移的具體方法:
(1)從Vmware的官網(wǎng)下載并安裝好VCenter Converter并安裝在一臺windows的計算機(jī)上。
(2)確認(rèn)目標(biāo)ESX或ESXi服務(wù)器上有足夠的資源以完成P2V工作,主要是CPU、內(nèi)存和硬盤,ESX或ESXi服務(wù)器上CPU內(nèi)核的空余數(shù)量要大于被遷移服務(wù)器的CPU數(shù)量。
(3)啟動VCenter Converter,選擇源計算機(jī),選擇“已打開電源的計算機(jī)”,就表示選擇物理機(jī),如圖1:
圖1 選擇并填寫源計算機(jī)信息
(4)接下來以此選擇目標(biāo)虛擬機(jī)所屬的Vcenter服務(wù)器、目標(biāo)數(shù)據(jù)中心(DataCenter)、選擇目標(biāo)虛擬機(jī)名字、選擇ESX或ESXi服務(wù)器等。
(5)配置目標(biāo)虛擬機(jī)需要的資源,主要是選擇目標(biāo)服務(wù)器的VCPU核數(shù)、內(nèi)存大小、硬盤空間,VCPU和內(nèi)存可以根據(jù)應(yīng)用需求調(diào)整,硬盤空間選擇默認(rèn)即可。完成配置后啟動P2V轉(zhuǎn)換.遷移完成以后要重啟轉(zhuǎn)換好的虛擬機(jī),調(diào)整系統(tǒng)設(shè)置(比如調(diào)整VCPU、內(nèi)存的大?。?,在虛擬機(jī)上安裝Vmware tools,檢查系統(tǒng)和應(yīng)用日志有無異常。
(6)檢測P2V是否成功,開啟服務(wù),測試數(shù)據(jù)庫等、應(yīng)用軟件運(yùn)行是否正常運(yùn)行。
能完成Linux P2V的工具軟件相對較少,有許多號稱可以完成Linux P2V的工具軟件,實際上因為成功率極低、操作繁瑣,甚至對源服務(wù)器有風(fēng)險,實際的應(yīng)用價值不大。這類軟件包括:EZP2V、Power Converter、Live view等。甚至使用VMWare的VCenter Converter進(jìn)行Linux的P2V時成功率都很低。
下面我們介紹利用NetCat工具結(jié)合Linux的dd命令,完成Linux服務(wù)器遷移的步驟?;驹砭褪抢胐d將源計算機(jī)的硬盤信息讀出后通過NetCat傳輸?shù)揭呀?jīng)建立好的虛擬機(jī)上,在虛擬機(jī)上用dd命令再輸出到硬盤。dd會隨著分區(qū)表拷貝所有的信息。
首先,在ESX server或ESXi server上建立好一個虛擬機(jī)備用,這個虛擬機(jī)的配置要和被遷移的服務(wù)器具有同樣的配置,如內(nèi)存大小、網(wǎng)卡數(shù)量,硬盤大小要稍大于被遷移的服務(wù)器的硬盤。
然后用Linux Live CD(如KNOPPIX等)重啟被遷移計算機(jī)(由于遷移最長可能要用幾個小時的時間,所以應(yīng)在晚上進(jìn)行這項工作),等Live CD引導(dǎo)起來以后,用ifconfig配置網(wǎng)卡的IP地址。
同樣用Live CD啟動虛擬機(jī)(通過在虛擬機(jī)上掛載LiveCD的ISO文件并重啟虛擬機(jī)實現(xiàn)),用ifconfig配置網(wǎng)卡地址,用ping測試被遷移計算機(jī)是否網(wǎng)絡(luò)可達(dá)。
接下來,通過dd命令讀取物理機(jī)原始硬盤信息然后通過nc命令傳輸?shù)侥繕?biāo)虛擬機(jī)并再用dd命令寫入虛擬機(jī)硬盤:
在目標(biāo)虛擬機(jī)上運(yùn)行nc-l-p 9001|dd of=/dev/sda,其中sda是硬盤的設(shè)備名。
在源計算機(jī)上運(yùn)行dd if=/dev/sda|nc〈目標(biāo)虛擬機(jī)IP地址〉9001
根據(jù)硬盤大小和網(wǎng)絡(luò)環(huán)境不同,遷移進(jìn)行的時間會從幾十分鐘到幾個小時,以300G硬盤為例,如果采用千兆以太網(wǎng),大概需2個小時。
做好P2V,就走出了虛擬化的第一步,相信將來會有更多好用的工具,幫助我們完成各種復(fù)雜系統(tǒng)的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技術(shù)在校園信息化平臺中的引用[J].中國現(xiàn)代教育裝備,2011,(23).
[5]魯松.計算機(jī)虛擬化技術(shù)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,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
薛建,男,山東蒙陰人,本科,工程師,研究方向:計算機(jī)網(wǎng)絡(luò)。