虛擬機遷移方法簡介_第1頁
虛擬機遷移方法簡介_第2頁
虛擬機遷移方法簡介_第3頁
虛擬機遷移方法簡介_第4頁
虛擬機遷移方法簡介_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、虛擬機遷移技術簡介虛擬機遷移技術為服務器虛擬化提供了便捷的方法。目前流行的虛擬化工具如 VMware,Xen,HyperV,KVM都提供了各自的遷移組件。盡管商業(yè)的虛擬軟件功能比較強大,但是開源虛擬機如 Linux 內(nèi)核虛擬機 KVM 和 XEN 發(fā)展迅速,遷移技術日趨完善。本系列文章介紹了虛擬機遷移的三種方式 P2V、V2V 和 V2P,及他們在內(nèi)核虛擬機 KVM 上的實現(xiàn)方法,分成五個部分。本文是第一部分,全面介紹了虛擬機遷移的各種方法和相應的遷移工具 , 并且著重分析了 Linux 平臺上開源的虛擬化工具 KVM 和 XEN 實時遷移中的的內(nèi)存預拷貝技術。1. 前言系統(tǒng)的遷移是指把源主機

2、上的操作系統(tǒng)和應用程序移動到目的主機,并且能夠在目的主機上正常運行。在沒有虛擬機的時代,物理機之間的遷移依靠的是系統(tǒng)備份和恢復技術。在源主機上實時備份操作系統(tǒng) 和應用程序的狀態(tài),然后把存儲介質連接到目標主機上,最后在目標主機上恢復系統(tǒng)。隨著虛擬機技術的發(fā)展,系統(tǒng)的遷移更加靈活和多樣化。2. 虛擬機遷移簡介2.1 為什么要遷移服務器遷移服務器可以為用戶節(jié)省管理資金、維護費用和升級費用。以前的 x86 服務器,體積比較“龐大”;而現(xiàn)在的服務器,體積已經(jīng)比以前小了許多,遷移技術使得用戶可以用一臺服務器來同時替代以前的許多臺服務器,這樣就節(jié)省了用戶 大量的機房空間。另外,虛擬機中的服務器有著統(tǒng)一的“虛

3、擬硬件資源”,不像以前的服務器有著許多不同的硬件資源(如主板芯片組不同,網(wǎng)卡不同,硬盤,RAID 卡,顯卡不同)。遷移后的服務器,不僅可以在一個統(tǒng)一的界面中進行管理,而且通過某些虛擬機軟件,如 VMware 提供的高可用性工具,在這些服務器因為各種故障停機時,可以自動切換到網(wǎng)絡中另外相同的虛擬服務器中,從而達到不中斷業(yè)務的目的。總之,遷移的優(yōu)勢在于簡化系統(tǒng)維護管理, 提高系統(tǒng)負載均衡,增強系統(tǒng)錯誤容忍度和優(yōu)化系統(tǒng)電源管理。2.2 虛擬機遷移的性能指標一個優(yōu)秀的遷移工具,目標是最小化整體遷移的時間和停機時間,并且將遷移對于被遷移主機上運行服務的性能造成的影響降至最低。當然,這幾個因素互相影響,實

4、施者需要根據(jù)遷移針對的應用的需求在其中進行衡量,選用合適的工具軟件。虛擬機遷移的性能指標包括以下三個方面:整體遷移時間:從源主機開始遷移到遷移結束的時間停機時間:遷移過程中,源主機、目的主機同時不可用的時間對應用程序的性能影響:遷移對于被遷移主機上運行服務性能的的影響程度。3. 虛擬機遷移的分類及原理3.1 物理機到虛擬機的遷移(Physical-to-Virtual)P2V 指遷移物理服務器上的操作系統(tǒng)及其上的應用軟件和數(shù)據(jù)到 VMM(Virtual Machine Monitor)管理的虛擬服務器中。這種遷移方式,主要是使用各種工具軟件,把物理服務器上的系統(tǒng)狀態(tài)和數(shù)據(jù)“鏡像”到 VMM 提

5、供的虛擬機中,并且在虛擬機中“替換”物理服務器的存儲硬件與網(wǎng)卡驅動程序。只要在虛擬服務器中安裝好相應的驅動程序并且設置與原來服務器相同的地址(如 TCP/IP 地址等),在重啟虛擬機服務器后,虛擬服務器即可以替代物理服務器進行工作。P2V 遷移方法手動遷移:手動完成所有遷移操作,需要對物理機系統(tǒng)和虛擬機環(huán)境非常了解。Ø 關閉原有的物理機上的服務和操作系統(tǒng),并且從其他媒質上啟動一個新的系統(tǒng)。比如從 LiveCD 上啟動一個新的光盤系統(tǒng)。大部分的發(fā)行版都會帶有 LiveCD。Ø 把物理機系統(tǒng)的磁盤做成虛擬機鏡像文件,如有多個磁盤則需要做多個鏡像,并且拷貝鏡像到虛擬主機上。

6、16; 為虛擬機創(chuàng)建虛擬設備,加載鏡像文件Ø 啟動虛擬機,調(diào)整系統(tǒng)設置,并開啟服務。半自動遷移:利用專業(yè)工具輔助 P2V 的遷移,把某些手動環(huán)節(jié)進行自動化。比如將物理機的磁盤數(shù)據(jù)轉換成虛擬機格式,這一向是相當耗時的工作,你可以選擇專業(yè)的工具來完成這個步驟。這里有大量 的工具可以使用,如 RedHat 的開源工具 virt-p2v,Microsoft Virtual Server Migration Toolkit 等。P2V 熱遷移:遷移中避免宕機 。大部分 P2V 工具也有一個很大的限制:在整個遷移過程中,物理機不可用。在運行關鍵任務的環(huán)境或有 SLA(服務水平協(xié)議)的地方,這種工

7、具不可選。幸運的是隨著 P2V 技術的發(fā)展,VMware vCenter Converter 和 Microsoft Hyper-V 已經(jīng)能夠提供熱遷移功能,避免宕機。目前,P2V 熱遷移僅在 Windows 物理服務器可用,未來將添加對 Linux 的支持。3.2 虛擬機到虛擬機的遷移(Virtual-to-Virtual)V2V 遷移是在虛擬機之間移動操作系統(tǒng)和數(shù)據(jù),照顧主機級別的差異和處理不同的虛擬硬件。虛擬機從一個物理機上的 VMM 遷移到另一個物理機的 VMM,這兩個 VMM 的類型可以相同,也可以不同。如 VMware 遷移到 KVM, KVM 遷移到 KVM??梢酝ㄟ^多種方式將虛

8、擬機從一個 VM Host 系統(tǒng)移動到另一個 VM Host 系統(tǒng)。V2V 離線遷移離線遷移(offline migration):也叫做常規(guī)遷移、靜態(tài)遷移。在遷移之前將虛擬機暫停,如果共享存儲,則只拷貝系統(tǒng)狀態(tài)至目的主機,最后在目的主機重建虛擬機狀態(tài), 恢復執(zhí)行。如果使用本地存儲,則需要同時拷貝虛擬機鏡像和狀態(tài)到目的主機。到這種方式的遷移過程需要顯示的停止虛擬機的運行。從用戶角度看,有明確的一段 服務不可用的時間。這種遷移方式簡單易行,適用于對服務可用性要求不嚴格的場合。V2V 在線遷移在線遷移 (online migration):又稱為實時遷移 (live migration)。是指在保

9、證虛擬機上服務正常運行的同時,虛擬機在不同的物理主機之間進行遷移,其邏輯步驟與離線遷移幾乎完全一致。不同的是,為了 保證遷移過程中虛擬機服務的可用,遷移過程僅有非常短暫的停機時間。遷移的前面階段,服務在源主機運行,當遷移進行到一定階段,目的主機已經(jīng)具備了運行系 統(tǒng)的必須資源,經(jīng)過一個非常短暫的切換,源主機將控制權轉移到目的主機,服務在目的主機上繼續(xù)運行。對于服務本身而言,由于切換的時間非常短暫,用戶感覺 不到服務的中斷,因而遷移過程對用戶是透明的。在線遷移適用于對服務可用性要求很高的場景。目前主流的在線遷移工具, 如 VMware 的 VMotion,XEN 的 xenMotion,都要求物理

10、機之間采用 SAN(storage area network), NAS(network-attached storage)之類的集中式共享外存設備,因而在遷移時只需要考慮操作系統(tǒng)內(nèi)存執(zhí)行狀態(tài)的遷移,從而獲得較好的遷移性能。另外,在某些沒有使用共享存儲的場合,可以使用存儲塊在線遷移技術來實現(xiàn) V2V 的虛擬機在線遷移。相比較基于共享存儲的在線遷移,數(shù)據(jù)塊在線遷移的需要同時遷移虛擬機磁盤鏡像和系統(tǒng)內(nèi)存狀態(tài),遷移性能上打了折扣。但是他使得在采用分散式本地存儲的環(huán)境下,仍然能夠利用遷移技術轉移計算機環(huán)境,并且保證遷移過程中操作系統(tǒng)服務的可用性,擴展了虛擬機在線遷移的應用范圍。V2V 在線遷移技術消除

11、了軟硬件相關性,是進行軟硬件系統(tǒng)升級,維護等管理操作的有力工具。3.3 V2V 內(nèi)存遷移技術對于 VM 的內(nèi)存狀態(tài)的遷移,XEN 和 KVM 都采用了主流的的預拷貝(pre-copy)的策略。遷移開始之后,源主機 VM 仍在運行,目的主機 VM 尚未啟動。遷移通過一個循環(huán),將源主機 VM 的內(nèi)存數(shù)據(jù)發(fā)送至目的主機 VM。循環(huán)第一輪發(fā)送所有內(nèi)存頁數(shù)據(jù),接下來的每一輪循環(huán)發(fā)送上一輪預拷貝過程中被 VM 寫過的臟頁內(nèi)存 dirty pages。直到時機成熟,預拷貝循環(huán)結束,進入停機拷貝階段,源主機被掛起,不再有內(nèi)存更新。最后一輪循環(huán)中的臟頁被傳輸至目的主機 VM。預拷貝機制極大的減少了停機拷貝階段需

12、要傳輸?shù)膬?nèi)存數(shù)據(jù)量,從而將停機時間大大縮小。然而,對于更新速度非常快的內(nèi)存部分,每次 循環(huán)過程都會變臟,需要重復 pre-copy,同時也導致循環(huán)次數(shù)非常多,遷移的時間變長。針對這種情況,KVM 虛擬機建立了三個原則:集中原則,一個循環(huán)內(nèi)的 dirty pages 小于等于 50;不擴散原則, 一個循環(huán)內(nèi)傳輸?shù)?dirty pages 少于新產(chǎn)生的;有限循環(huán)原則,循環(huán)次數(shù)必須少于 30。在實現(xiàn)上,就是采取了以下措施:有限循環(huán):循環(huán)次數(shù)和效果受到控制,對每輪 pre-copy 的效果進行計算,若 pre-copy 對于減少不一致內(nèi)存數(shù)量的效果不顯著,或者循環(huán)次數(shù)超過了上限,循環(huán)將中止,進入停機拷

13、貝階段。在被遷移 VM 的內(nèi)核設置一個內(nèi)存訪問的監(jiān)控模塊。在內(nèi)存 pre-copy 過程中,VM 的一個進程在一個被調(diào)度運行的期間,被限制最多執(zhí)行 40 次內(nèi)存寫操作。這個措施直接限制了 pre-copy 過程中內(nèi)存變臟的速度,其代價是對 VM 上的進程運行進行了一定的限制。KVM 的預拷貝在線遷移過程詳解:系統(tǒng)驗證目標服務器的存儲器和網(wǎng)絡設置是否正確,并預保留目標服務器虛擬機的資源。 圖 1. 源服務器和目標服務器簡圖當虛擬機還在源服務器上運轉時,第一個循環(huán)內(nèi)將全部內(nèi)存鏡像復制到目標服務器上。在這個過程中,KVM 依然會監(jiān)視內(nèi)存的任何變化。 圖 2. 內(nèi)存鏡像復制示意圖以后的循環(huán)中,檢查上一

14、個循環(huán)中內(nèi)存是否發(fā)生了變化。 假如發(fā)生了變化,那么 VMM 會將發(fā)生變化的內(nèi)存頁即 dirty pages 重新復制到目標服務器中,并覆蓋掉先前的內(nèi)存頁。在這個階段,VMM 依然會繼續(xù)監(jiān)視內(nèi)存的變化情況。 圖 3. 進行有變化的內(nèi)存復制VMM 會持續(xù)這樣的內(nèi)存復制循環(huán)。隨著循環(huán)次數(shù)的增加,所需要復制的 dirty pages 就會明顯減少,而復制所耗費的時間就會逐漸變短,那么內(nèi)存就有可能沒有足夠的時間發(fā)生變化。最后,當源服務器與目標服務器之間的差異達到一定標準時,內(nèi)存復制操作才會結束,同時暫停源系統(tǒng)。 圖 4. 所需復制的數(shù)據(jù)在減少在源系統(tǒng)和目標系統(tǒng)都停機的情況下,將最后一個循環(huán)的 dirty

15、-pages 和源系統(tǒng)設備的工作狀態(tài)復制到目標服務器。 圖 5. 狀態(tài)信息的復制然后,將存儲從源系統(tǒng)上解鎖,并鎖定在目標系統(tǒng)上。啟動目標服務器,并與存儲資源和網(wǎng)絡資源相連接。 圖 6. 停止源服務器,啟動目標服務器3.4 虛擬機到物理機的遷移(Virtual-to-Physical)V2P 指把一個操作系統(tǒng)、應用程序和數(shù)據(jù)從一個虛擬機中遷移到物理機的主硬盤上, 是 P2V 的逆操作。它可以同時遷移虛擬機系統(tǒng)到一臺或多臺物理機上。盡管虛擬化的基本需求是整合物理機到虛擬機中,但這并不是虛擬化的唯一的應用。比如有時虛擬機 上的應用程序的問題需要在物理機上驗證,以排除虛擬環(huán)境帶來的影響。另外,配置新的

16、工作站是件令 IT 管理者頭痛的事情,但虛擬化的應用可以幫助他解決這個難題。先配置好虛擬機,然后運用硬盤克隆工具復制數(shù)據(jù)至工作站硬件,比如賽門鐵克的 Save & Restore (Ghost)。不過這種克隆方法有兩個局限:一個鏡像只能運用在同種硬件配置的機器上;要想保存配置的修改,只能重做新的鏡像。V2P 的遷移可以通過確定目標的物理環(huán)境來手動完成,如把一個特定的硬盤加載到虛擬系統(tǒng)中,然后在虛擬環(huán)境中安裝操作系統(tǒng)、應用程序和數(shù)據(jù),最后手動修改系統(tǒng)配置和驅動程序。這是一個乏味且不確定的過程,特別是在新的環(huán)境比舊的環(huán)境包含更多大量不同的硬件的情況下。為了簡化操作,我們可以利用專門的遷移工

17、具以自動的方式來完成部分或全部遷移工作。目前支持 V2P 轉換的工具有 PlateSpin Migrate 和 EMC HomeBase。使用這樣的工具使得 V2P 轉換過程更簡易,并且比使用第三方磁盤鏡像工具更快捷。V2P 遷移方法V2P 的不確定性導致自動化工具不多,目前主要有以下幾種解決方案:VMware 官方推薦的是使用 Ghost+sysprep 來實現(xiàn)半自動化的遷移?;趥浞莺突謴筒僮飨到y(tǒng)的解決方案。這個方案利用了現(xiàn)成的系統(tǒng)備份恢復工具,沒有體現(xiàn)虛擬機和物理機的差別,類似于 P2P(Physical-to-Physical 物理機到物理機遷移)。注意備份工具能夠恢復系統(tǒng)到異構硬件平

18、臺上。開源工具的解決方案。適合 Linux/Unix 系統(tǒng),使用開源工具和腳本,手動遷移系統(tǒng)。這個方案難度較大,適合有經(jīng)驗的管理員。Linux 系統(tǒng)在虛擬機遷移中的技術難點通常我們期望虛擬機的遷移能夠全部自動化或者部分自動化完成,但實際上 Linux 系統(tǒng)在 P2V 和 V2V 的遷移中可能遇到一些困難。本節(jié)列舉了 Linux 遷移中需要注意的地方。磁盤分區(qū)名被硬編碼。當我們做磁盤虛擬化時,可能會使用不同類型的虛擬磁盤設備,這將會導致磁盤名字的變化。比如 Xen 虛擬機中的半虛擬化設備使用 /dev/xvda 而標準的 Linux 半虛擬化設備使用 /dev/vda。準備遷移的 Linux 系

19、統(tǒng)中存在對 /dev/hd* 和 /dev/sd* 磁盤分區(qū)名分散的關聯(lián),比如在 /etc/fstab 文件,啟動初始化文件系統(tǒng) ramfs 和一些解析磁盤設備的開機啟動腳本文件中。V2V 遷移工具需要在整個磁盤上查找并修改這些關聯(lián)。有一個簡單的方法來避免這種情況: Linux 系統(tǒng)上主流的文件系統(tǒng)和交換分區(qū)類型可以使用 Lables 或 UUID 作為分區(qū)名。遷移時這些信息是被重點保護的,系統(tǒng)應該小心使用這些信息,一定不要使用設備作為分區(qū)名。另外,LVM 分區(qū)名和設備無關,在遷移中也不受影響。網(wǎng)絡硬件設備的改變。當系統(tǒng)遷移時,網(wǎng)絡設備很可能產(chǎn)生變化。比如虛擬網(wǎng)絡設備和物理網(wǎng)絡設備的轉化或者不

20、同類型的網(wǎng)絡設備之間的轉變。但是是他們的 Mac 地址沒有變化。MAC 地址是 IEEE 分配給物理設備制造商的,兩個物理設備不會有相同的 MAC 地址;然而虛擬網(wǎng)絡設備可能出現(xiàn)這種情況。所以在做虛擬機遷移時,你必須記錄每一個網(wǎng)絡設備的 MAC 地址,保證 MAC 地址和網(wǎng)絡設備的對應關系。內(nèi)核不支持某些虛擬設備。某些 Linux 發(fā)行版沒有 virtio 虛擬設備的驅動, 可能是因為 Linux 發(fā)行版早于虛擬設備發(fā)布了;或者虛擬設備的驅動是閉源的;或者是在系統(tǒng)編譯時去掉了。因此,有時我們另外需要一個完全不同的內(nèi)核(比如 Xen 早期的版本就是這樣的)。無論如何,在客戶機上安裝一個新的內(nèi)核并

21、且使之可以啟動是一個很大的冒險,最好避免這樣做。Xwindow 需要重新配置。與磁盤、網(wǎng)絡設備一樣,系統(tǒng)遷移后顯示設備也會變化。理想的情況是 Xwindow 會自動處理這個的變化,探測所有的顯示設備并且使用它發(fā)現(xiàn)的第一個設備。但是這不意味著所有的 Linux 發(fā)行版都會以這種方式工作。網(wǎng)絡環(huán)境的變化。靜態(tài) IP 地址和靜態(tài) DNS 解析在虛擬機遷移中 是一個麻煩的事情。盡管不是必須的,但是最好配置系統(tǒng)從 DHCP 服務器自動獲得所有的網(wǎng)絡配置信息。CPU 的擴展指令集發(fā)生變化。遷移后的系統(tǒng)中,新的虛擬 CPU 或主板和舊的會有一些不同。CPU 的擴展指令集如 SSE,Vectors, NX 可

22、能被加入或去掉。CPU 的型號和制造商信息可能被改變。因此,如果你想要優(yōu)化虛擬系統(tǒng)上的軟件,這可能是浪費時間并且導致系統(tǒng)崩潰。最好是使用通用的軟件,讓程序在每次啟動的時候檢查運行環(huán)境和是否需要優(yōu)化。實際上,實時遷移的狀況比這個還要復雜,因為處理器可能在程序的運行的過程中被改變。目前為止還沒有一個方案能很好的解決這個問題。如你所見,P2V 和 V2V 最大的問題在于硬件的改變。Linux 發(fā)行版本身應該可以處理所有的硬件變化:在系統(tǒng)啟動的時候去檢查所有的硬件,操作系統(tǒng)內(nèi)核識別新的設備并尋找新的驅動處理它們 ,所有應用軟件都不要和硬件綁定,設計一個很好的模式來應對突然的環(huán)境變化。4. 目前流行的虛擬機軟件的遷移特性介紹虛擬機所呈現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論