本發(fā)明涉及通信領域,尤其涉及一種虛擬機在線整體遷移方法和設備。
背景技術:虛擬化技術是將一臺主機的物理資源虛擬成多個虛擬機(VirtualMachine,簡稱VM),每個虛擬機可以共享該主機的物理資源,獨立實現(xiàn)類似于主機的功能。虛擬機在線整體遷移指在虛擬機上業(yè)務正常運行,服務不中斷的前提下,虛擬機在不同主機、不同共享存儲域間進行的遷移。虛擬機在線整體遷移技術本質(zhì)上是虛擬機在線遷移和虛擬機在線存儲遷移技術的結合,在無共享存儲虛擬機在線整體遷移技術中,虛擬機業(yè)務遷移時間是最重要的性能指標之一,虛擬機業(yè)務遷移時間指的是從遷移開始到目的主機運行虛擬機業(yè)務的時間?,F(xiàn)有技術中一種虛擬機在線整體遷移方法為:1、虛擬機存儲遷移;2、內(nèi)存遷移(和增量存儲拷貝并行);3、源虛擬機暫停,虛擬設備狀態(tài)遷移,虛擬機設備包括CPU、網(wǎng)絡和磁盤適配器狀態(tài)等等;4、目的虛擬機啟動,關聯(lián)物理設備,網(wǎng)絡重定向,恢復虛擬機業(yè)務;5、釋放源虛擬機資源。現(xiàn)有技術至少存在以下問題:在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間。
技術實現(xiàn)要素:本發(fā)明實施例提供一種虛擬機在線整體遷移方法和設備,源虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間。為達到上述目的,本發(fā)明實施例采用的技術方案是,第一方面,提供了一種虛擬機在線整體遷移方法,包括:接收中央控制器發(fā)送的源虛擬機對應的遷移等級;根據(jù)所述源虛擬機對應的遷移等級,將所述源虛擬機的存儲分割為基礎文件和其它文件;將所述基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)所述基礎文件在所述目的主機啟動;釋放所述源虛擬機資源;將所述其它文件發(fā)送至所述目的虛擬機。在第一種可能的實現(xiàn)方式中,根據(jù)第一方面,所述遷移等級由所述中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,所述虛擬機遷移等級由用戶根據(jù)需要設定。在第二種可能的實現(xiàn)方式中,結合第一方面或第一種可能的實現(xiàn)方式,所述遷移等級包含激進等級,一般等級和保守等級。在第三種可能的實現(xiàn)方式中,結合第二種可能的實現(xiàn)方式,當所述遷移等級為激進等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件;當所述遷移等級為一般等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件;當所述遷移等級為保守等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件。在第四種可能的實現(xiàn)方式中,結合第一方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式,所述將所述其它文件發(fā)送至所述目的虛擬機,可以包括:將所述其它文件按照拷貝序列發(fā)送至所述目的虛擬機。在第五種可能的實現(xiàn)方式中,結合第四種可能的實現(xiàn)方式,所述將所述其它文件發(fā)送至所述目的虛擬機,還可以包括:接收所述目的虛擬機發(fā)送的優(yōu)先拷貝用戶訪問所需文件的申請;根據(jù)所述優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整所述拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級;按照調(diào)整后的所述拷貝序列將所述其它文件發(fā)送至所述目的虛擬機。第二方面,提供了一種虛擬機在線整體遷移設備,包括:接收單元,用于接收中央控制器發(fā)送的源虛擬機對應的遷移等級;分割單元,用于根據(jù)所述接收單元接收的遷移等級,將所述源虛擬機的存儲分割為基礎文件和其它文件;第一發(fā)送單元,用于將所述基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)所述基礎文件在所述目的主機啟動;釋放單元,用于釋放所述源虛擬機資源;第二發(fā)送單元,用于將所述其它文件發(fā)送至所述目的虛擬機。在第一種可能的實現(xiàn)方式中,根據(jù)第二方面,所述遷移等級由所述中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,所述遷移等級由用戶根據(jù)需要設定。在第二種可能的實現(xiàn)方式中,結合第二方面或第一種可能的實現(xiàn)方式,所述遷移等級包含激進等級,一般等級和保守等級。在第三種可能的實現(xiàn)方式中,結合第二種可能的實現(xiàn)方式中,當所述遷移等級為激進等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件;當所述遷移等級為一般等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件;當所述遷移等級為保守等級時,所述基礎文件包含所述目的虛擬機在所述目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;所述其它文件為所述源虛擬機的存儲中除所述基礎文件之外的文件。在第四種可能的實現(xiàn)方式中,結合第二方面或第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式或第三種可能的實現(xiàn)方式,所述第二發(fā)送單元還用于:將所述其它文件按照拷貝序列發(fā)送至所述目的虛擬機。在第五種可能的實現(xiàn)方式中,結合第四種可能的實現(xiàn)方式,所述第二發(fā)送單元還包括:接收模塊,用于接收所述目的虛擬機發(fā)送的優(yōu)先拷貝用戶訪問所需文件的申請;處理模塊,用于根據(jù)所述優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整所述拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級;所述第二發(fā)送單元還用于:按照調(diào)整后的所述拷貝序列將所述其它文件發(fā)送至所述目的虛擬機。本發(fā)明實施例提供的一種虛擬機在線整體遷移方法和設備,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種虛擬機在線整體遷移方法的流程圖;圖2為本發(fā)明實施例提供的另一種虛擬機在線整體遷移方法的流程圖;圖3為本發(fā)明實施例提供的一種無共享存儲下虛擬機快速在線整體遷移系統(tǒng)的示意圖;圖4為本發(fā)明實施例提供的另一種虛擬機在線整體遷移方法的流程圖;圖5為本發(fā)明實施例提供的一種虛擬機在線整體遷移裝置示意圖;圖6為本發(fā)明實施例提供的另一種虛擬機在線整體遷移裝置示意圖;圖7為本發(fā)明實施例提供的另一種虛擬機在線整體遷移裝置示意圖;圖8為本發(fā)明實施例提供的另一種虛擬機在線整體遷移裝置示意圖;圖9為本發(fā)明實施例提供的另一種虛擬機在線整體遷移裝置示意圖;圖10為本發(fā)明實施例提供的另一種虛擬機在線整體遷移裝置示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供的虛擬機在線整體遷移方法可以應用于多個云數(shù)據(jù)中心間的虛擬機在線整體遷移,例如私有云間的遷移、共有云間的遷移以及私有云和共有云之間遷移(混合云模式),但不局限于此,還可用于資源動態(tài)負載均衡、云爆發(fā)、Followme等應用的任何虛擬機在線整體遷移場景。參見圖1,為本發(fā)明實施例提供的一種虛擬機在線整體遷移方法的流程示意圖,如圖所示,可以包括以下步驟:101:接收中央控制器發(fā)送的源虛擬機對應的遷移等級;示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,所述遷移等級包含激進等級,一般等級和保守等級。102:根據(jù)所述源虛擬機對應的遷移等級,將所述源虛擬機的存儲分割為基礎文件和其它文件;示例性的,根據(jù)源虛擬機對應的遷移等級,將源虛擬機的存儲分割為基礎文件和其它文件,可以包括以下任意一種方式:1、當遷移等級為激進等級時,基礎文件包含所述目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。103:將所述基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)所述基礎文件在所述目的主機啟動;104:釋放所述源虛擬機資源;105:將所述其它文件發(fā)送至所述目的虛擬機。示例性的,將其它文件發(fā)送至目的虛擬機,可以包括:將其它文件按照拷貝序列發(fā)送至目的虛擬機。示例性的,將其它文件發(fā)送至目的虛擬機,還可以包括:接收目的虛擬機發(fā)送的優(yōu)先拷貝用戶訪問所需文件的申請;根據(jù)優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整拷貝序列,并將用戶訪問所需的文件設為最高拷貝優(yōu)先級;按照調(diào)整后的拷貝序列將其它文件發(fā)送至目的虛擬機。本發(fā)明實施例提供的一種虛擬機在線整體遷移方法,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。參見圖2,為本發(fā)明實施例提供的另一種虛擬機在線整體遷移方法的流程示意圖,如圖所示,可以包括以下步驟:201:接收源虛擬機發(fā)送的基礎文件;202:根據(jù)所述基礎文件將目的虛擬機在所述目的主機啟動;203:接收源主機在釋放所述源虛擬機資源后發(fā)送的其它文件;其中,所述基礎文件和其它文件根據(jù)源虛擬機對應的遷移等級對源虛擬機的存儲進行分割所得。示例性的,該方法還可以包括:接收用戶訪問請求;根據(jù)用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,阻止并緩存用戶訪問請求,并向源主機發(fā)送優(yōu)先拷貝用戶訪問所需文件的申請,以便源主機根據(jù)優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整拷貝序列,并將用戶訪問所需的文件設為最高拷貝優(yōu)先級;接收源主機發(fā)送的用戶訪問所需文件,繼續(xù)用戶訪問。示例性的,該方法還可以包括:接收用戶的訪問請求;根據(jù)用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,且判斷用戶的訪問請求所屬進程的文件訪問率大于預設閾值,則提供偽文件以跳過用戶的訪問請求。本發(fā)明實施例提供的一種虛擬機在線整體遷移方法,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。下面通過具體實施例對上述方法實施例進行說明。參見圖3,為本發(fā)明實施例提供的一種無共享存儲下虛擬機快速在線整體遷移系統(tǒng)的示意圖,包括虛擬機遷移中央控制器101,共享存儲域102和106,集群遷移管理設備103和107,主機104(源主機)和主機108(目的主機),虛擬機1002(源虛擬機)和虛擬機1006(目的虛擬機),以及分別應用于源虛擬機1002側(cè)的虛擬機在線整體遷移設備和應用于目的虛擬機1006側(cè)的虛擬機在線整體遷移設備。其中,虛擬機遷移中央控制器101具有執(zhí)行虛擬機遷移等級、發(fā)送虛擬機遷移指令、監(jiān)控虛擬機遷移過程等功能,該虛擬機遷移中央控制器101可以以模塊的形式內(nèi)嵌到任意一種虛擬機中心管理平臺中。共享存儲域102和106分別用于存儲源主機103上的虛擬機的存儲和目的主機108上的虛擬機的存儲,可以是存儲區(qū)域網(wǎng)(StorageAreaNetwork,簡稱SAN)、網(wǎng)絡附屬存儲(NetworkAttachedStorage,簡稱NAS)等任一種形式的共享存儲設備。集群遷移管理設備103和107用于分別管理一個共享存儲域內(nèi)的虛擬機遷移,集群遷移管理設備103和107可以分別以模塊的形式嵌入到一個任意形式的虛擬化環(huán)境中。主機中的主機資源被虛擬化平臺以虛擬資源池的形式提供給其上的每一個虛擬機,虛擬機共享該主機資源,獨立實現(xiàn)類似主機的功能。虛擬機在線整體遷移設備用于實現(xiàn)虛擬機的在線整體遷移,可以包含主機快速遷移代理(FastMigrationAgent_host,簡稱FMA_host)和虛擬機快速遷移代理(FastMigrationAgentVirtualMachine,簡稱FMA_vm),其中,F(xiàn)MA_host可以以模塊形式設置在主機中,在虛擬機集群部署時可進行選擇安裝,例如:選擇快速遷移功能則安裝,否則,不安裝。FMA_host可執(zhí)行該主機上所有虛擬機的快速遷移任務,并可以具有兩種運行模式:源端模式和目的端模式。FMA_vm可以以模塊形式設置在虛擬機中,在虛擬機部署時隨虛擬機模版\鏡像可選擇安裝在虛擬機上并隨機啟動,例如:選擇快速遷移功能則安裝;否則,不安裝,F(xiàn)MA_vm具有兩種運行模式:源端模式和目的端模式。參見圖3,應用于源虛擬機1002側(cè)虛擬機在線整體遷移設備可以包含源FMA_host1001和源FMA_vm10001,其中,源FMA_host1001以模塊形式設置在主機104中,源FMA_vm10001以模塊形式設置在源虛擬機1002中。應用于目的虛擬機1006側(cè)虛擬機在線整體遷移設備包含目的FMA_host1005和目的FMA_vm10004,其中,目的FMA_host1005以模塊形式設置在主機108中,目的FMA_vm10004以模塊形式設置在目的虛擬機1006中。參見圖4,為本發(fā)明實施例提供的另一種虛擬機在線整體遷移方法的流程示意圖,如圖所示,可以包括以下步驟:401:源FMA_vm接收中央控制器發(fā)送的源虛擬機對應的遷移等級;示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,遷移等級可以包含激進等級,一般等級和保守等級。402:源FMA_vm根據(jù)源虛擬機對應的遷移等級,將源虛擬機的存儲分割為基礎文件和其它文件;示例性的,源虛擬機對應的遷移等級不同,源FMA_vm可以將源虛擬機的存儲分割為不同的基礎文件和其它文件,例如:1、當遷移等級為激進等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集,例如:包含操作系統(tǒng)相關文件、驅(qū)動程序文件、用戶配置文件、在線進程相關文件等;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;示例性的,在激進等級下,源虛擬機存儲能以最快的速度遷移到目的主機,但由于源虛擬機存儲的文件大都被劃分為其它文件,用戶的例外訪問概率增加,會在一定程度上造成用戶服務體驗下降。示例性的,上述用戶的例外訪問包括:目的虛擬機在目的主機啟動后,業(yè)務請求訪問的文件還未拷貝到目的虛擬機存儲的其它文件。2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;示例性的,在一般等級下,源虛擬機存儲遷移的速度較快,而當例外訪問發(fā)生時,只用快速拷貝用戶相關數(shù)據(jù)文件就可以保證業(yè)務的正常運行,服務體驗較好。3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。示例性的,可以根據(jù)源FMA_vm統(tǒng)計的用戶最近訪問文件記錄判斷某一文件是否為用戶常用的數(shù)據(jù)文件。示例性的,源FMA_vm可以記錄文件被用戶使用的情況,并可以通過特定文件的方式表示。例如,源FMA_vm可以記錄最近一段時間內(nèi)用戶訪問過的文件,并生成一個文件訪問記錄表。該文件訪問記錄表記錄了最近N天內(nèi)源虛擬機存儲內(nèi)所有文件被訪問的次數(shù)。當用戶關閉源虛擬機時,該文件訪問記錄表以文件的方式存儲在虛擬機存儲中,當用戶啟動源虛擬機,源虛擬機自動預讀該文件訪問記錄表到內(nèi)存中并進行實時更新。其中,上述最近一段時間可以為N天,該N天為用戶登錄的實際天數(shù),而非自然天,例如,可以將上述N天設定為一個默認閾值(如,7天),該閾值可根據(jù)用戶例外訪問率的要求進行設定,例如,該閾值能保證用戶例外訪問率不大于10%。該閾值具體計算方法可以預先通過實際統(tǒng)計大量用戶訪問文件習慣得到。如統(tǒng)計多用戶大量文件訪問發(fā)生時,該被訪問文件最近一次訪問是在幾天前,假設小于等于N天占據(jù)90%的統(tǒng)計量,那么N天就是該閾值。根據(jù)該閾值,N天內(nèi)被訪問的文件(不管訪問次數(shù)的多少)被劃入基礎文件中,在目的虛擬機在目的主機啟動前拷貝到目的虛擬機存儲中。示例性的,在保守等級下,由于拷貝了一定比例的用戶數(shù)據(jù)文件,虛擬機業(yè)務遷移速度較慢,但是由于這些用戶近期訪問的文件被預先拷貝到了目的虛擬機存儲,使得例外訪問的機率大大下降,服務體驗最好。示例性的,上述三種快速遷移等級可靈活選擇,默認情況下,虛擬機遷移中央控制器發(fā)送一般等級,可預先由虛擬機遷移中央控制器制定,也可根據(jù)需求設計自適應的選擇方法,最終的目的是在遷移速度和服務等級水平之間達到均衡,本發(fā)明實施例在此不做限制。示例性的,上述虛擬機遷移中央控制器制定僅制定了三個等級,還可以根據(jù)遷移速度、服務等級、資源負載情況、網(wǎng)絡情況和用戶的需要來制定更多的等級,本發(fā)明實施例在此不做限制。403:源FMA_host向目的FMA_host發(fā)送遷移虛擬機請求;404:目的FMA_host根據(jù)上述請求預留資源;405:目的FMA_host應答源FMA_host發(fā)送的遷移虛擬機請求;406:源FMA_host通知源FMA_vm遷移;407:源FMA_vm將基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)基礎文件在目的主機啟動;示例性的,源FMA_vm與目的FMA_host建立網(wǎng)絡連接,迭代拷貝基礎文件、內(nèi)存分別至目的FMA_host、目的虛擬機的內(nèi)存;示例性的,為了保證虛擬機業(yè)務不中斷,虛擬機的網(wǎng)絡之間互連協(xié)議(InternetProtocol,簡稱IP)和物理地址(MediumAccessControl,簡稱MAC)地址通常是不變的。因此,需要構建一個大二層的網(wǎng)絡結構支持虛擬機的遷移,虛擬機在大二層網(wǎng)絡下遷移可以保證IP和MAC地址不變,維護業(yè)務的正常運行。源端和目的端之間的數(shù)據(jù)傳輸可使用大二層網(wǎng)絡虛擬專用網(wǎng)絡(VirtualPrivateNetwork,簡稱VPN)技術保證通信安全。示例性的,源FMA_vm在拷貝基礎文件時,源虛擬機仍然運行在源主機上,在拷貝過程中,用戶的文件輸入/輸出(Input/Output,簡稱I/O)讀寫操作仍在進行,基礎文件仍有可能被改變,因此本發(fā)明實施例在拷貝基礎文件時采用迭代拷貝的方法。示例性的,迭代拷貝基礎文件的方法包括:首先,拷貝所有基礎文件到目的FMA_host,在拷貝過程中,基礎文件具有三種狀態(tài):還未拷貝、正在拷貝和已完成拷貝。對于還未拷貝的基礎文件,直接進行當前的I/O操作;當文件I/O請求為寫操作時,正在拷貝的基礎文件需要被鎖定,等拷貝完成后按已經(jīng)完成拷貝方式處理;已完成拷貝的文件,通過日志文件記錄文件I/O操作的內(nèi)容,當一個基礎文件拷貝過程完成后,再將其從目的FMA_host拷貝到目的虛擬機存儲。迭代拷貝改變的文件內(nèi)容直到改變文件內(nèi)容大小滿足一定閾值時,暫停虛擬機,傳輸最后修改的基礎文件到目的FMA_host(該迭代拷貝過程可和內(nèi)存拷貝同時進行)。在基礎文件初次完整拷貝時,可應用一定的文件壓縮技術,以提高拷貝的速度。408:源FMA_vm通知源FMA_host基礎文件拷貝完成,請求托管文件系統(tǒng);409:源FMA_host暫停源虛擬機,暫停源FMA_vm;410:源FMA_host拷貝最后修改的基礎文件、內(nèi)存和狀態(tài)至目的FMA_host;411:目的FMA_host啟動目的虛擬機,并且啟動目的FMA_vm,關聯(lián)設備,進行網(wǎng)絡重定向;412:目的FMA_host向源FMA_host通知快速遷移完成;413:源FMA_host釋放源虛擬機資源;414:源FMA_host向目的FMA_vm發(fā)送請求連接,完成其它文件拷貝。示例性的,源FMA_host將其它文件按照拷貝序列發(fā)送至目的FMA_vm。示例性的,源FMA_host可以依據(jù)源FMA_vm的文件訪問記錄表生成一個其它文件拷貝隊列,該拷貝隊列按文件訪問記錄表中其它文件被訪問次數(shù)的多少排序,被訪問次數(shù)最多的其它文件排在后續(xù)傳輸隊列的最前面。在沒有例外訪問發(fā)生時,源FMA_host按該隊列依次向目的FMA_vm發(fā)送文件。示例性的,源FMA_host具有維護源虛擬機文件系統(tǒng)的功能,為了保證后續(xù)其它文件的正常拷貝,源FMA_host的一個重要的功能就是維護源虛擬機存儲的一個或多個文件系統(tǒng),源虛擬機存儲被掛載到源FMA_host進程下,源FMA_host可對源虛擬機存儲中的任意文件進行I\O操作;同時,在源虛擬機釋放前,源FMA_host接收源FMA_vm的拷貝文件映射表,記錄其它文件的拷貝完成情況。415:目的FMA_vm根據(jù)用戶訪問,向源FMA_host申請優(yōu)先拷貝該用戶訪問的文件;示例性的,當目的虛擬機快速遷移啟動后,源FMA_vm生成一個拷貝文件映射表,該拷貝文件映射表標識文件系統(tǒng)中每一個文件和目錄,其中,已完成拷貝的文件標識為1,未完成拷貝的文件標識為0。當基礎文件拷貝完成,目的虛擬機在目的主機啟動,同時源FMA_host釋放源端虛擬機后,該拷貝序列由源FMA_host繼續(xù)維護;在其它文件開始拷貝前,首先拷貝該映射表到目的虛擬機內(nèi)存中,由目的虛擬機的目的FMA_vm相關進程維護并實時更新后續(xù)其它文件的拷貝狀態(tài)(記錄文件是否已拷貝完成)。目的虛擬機操作系統(tǒng)進行每一個文件I/O請求前,都要查詢該拷貝序列,如果待訪問文件已經(jīng)拷貝到目的虛擬機存儲中,則直接訪問;若待訪問文件還未拷貝到目的虛擬機存儲中(即例外訪問發(fā)生),目的FMA_vm阻止并緩存該訪問,同時向源FMA_host申請優(yōu)先拷貝該文件,當文件拷貝完成后,繼續(xù)該訪問。示例性的,目的FMA_vm可以處理一種特殊的例外訪問:全盤掃描,如虛擬機運行殺毒軟件,全盤掃描進程會在短時間內(nèi)對虛擬機的大量文件進行訪問,上述的例外訪問處理方法是不適用的。目的FMA_vm被設計為具有監(jiān)測一個或多個進程的文件訪問率(訪問文件數(shù)量/單位時間)的功能,當某進程的文件訪問率大于默認閾值時,可視該進程為全盤掃描進程,當該進程訪問未拷貝到目的虛擬機存儲的文件時,為其提供一個偽文件(可以是任意形式的空文件)以跳過該掃描。416:源FMA_host根據(jù)所述優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整拷貝序列,并將用戶訪問所需的文件設為最高拷貝優(yōu)先級;示例性的,源FMA_host根據(jù)所述優(yōu)先拷貝所述用戶訪問所需文件的申請調(diào)整拷貝序列,并將用戶訪問所需的文件設為最高拷貝優(yōu)先級;417:源FMA_host按照調(diào)整后的拷貝序列將其它文件發(fā)送至目的FMA_vm;418:目的FMA_vm通知源FMA_host整體遷移完成。本發(fā)明實施例提供的一種虛擬機在線整體遷移方法,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間。克服了現(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。本發(fā)明實施例所提供的應用于源虛擬機側(cè)的在線整體遷移設備和應用于目的虛擬機側(cè)的在線整體遷移設備嵌入一個設備中,可配合實施,但這并不意味著二者必須配合實施,本發(fā)明實施例分別從源虛擬機側(cè)的在線整體遷移設備和目的虛擬機側(cè)的在線整體遷移設備分別進行說明。參見圖5或6,為本發(fā)明實施例提供的一種虛擬機在線整體遷移裝置示意圖,如圖所示,該裝置包括:接收單元601:用于接收中央控制器發(fā)送的源虛擬機對應的遷移等級:示例性的,中央控制器具有執(zhí)行虛擬機遷移等級、發(fā)送虛擬機遷移指令、監(jiān)控虛擬機遷移過程等功能。示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,遷移等級包含激進等級,一般等級和保守等級。分割單元602:用于根據(jù)所述接收單元601接收的遷移等級,將所述源虛擬機的存儲分割為基礎文件和其它文件;示例性的,源虛擬機對應的遷移等級不同,分割單元602可以將源虛擬機的存儲分割為不同的基礎文件和其它文件,例如:1、當遷移等級為激進等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集,例如:包含操作系統(tǒng)相關文件、驅(qū)動程序文件、用戶配置文件、在線進程相關文件等;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;示例性的,在激進等級下,源虛擬機存儲能以最快的速度遷移到目的主機,但由于源虛擬機存儲的文件大都被劃分為其它文件,用戶的例外訪問概率增加,會在一定程度上造成用戶服務體驗下降。示例性的,上述用戶的例外訪問包括:目的虛擬機在目的主機啟動后,業(yè)務請求訪問的文件還未拷貝到目的虛擬機存儲的其它文件。2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;示例性的,在一般等級下,源虛擬機存儲遷移的速度較快,而當例外訪問發(fā)生時,只用快速拷貝用戶相關數(shù)據(jù)文件就可以保證業(yè)務的正常運行,服務體驗較好。3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。示例性的,可以根據(jù)分割單元602統(tǒng)計的用戶最近訪問文件記錄判斷某一文件是否為用戶常用的數(shù)據(jù)文件。示例性的,分割單元602可以記錄文件被用戶使用的情況,并可以通過特定文件的方式表示。例如,分割單元602可以記錄最近一段時間內(nèi)用戶訪問過的文件,并生成一個文件訪問記錄表。該文件訪問記錄表記錄了最近N天內(nèi)源虛擬機存儲內(nèi)所有文件被訪問的次數(shù)。當用戶關閉源虛擬機時,該文件訪問記錄表以文件的方式存儲在虛擬機存儲中,當用戶啟動源虛擬機,源虛擬機自動預讀該文件訪問記錄表到內(nèi)存中并進行實時更新。其中,上述最近一段時間可以為N天,該N天為用戶登錄的實際天數(shù),而非自然天,例如,可以將上述N天設定為一個默認閾值(如,7天),該閾值可根據(jù)用戶例外訪問率的要求進行設定,例如,該閾值能保證用戶例外訪問率不大于10%。該閾值具體計算方法可以預先通過實際統(tǒng)計大量用戶訪問文件習慣得到。如統(tǒng)計多用戶大量文件訪問發(fā)生時,該被訪問文件最近一次訪問是在幾天前,假設小于等于N天占據(jù)90%的統(tǒng)計量,那么N天就是該閾值。根據(jù)該閾值,N天內(nèi)被訪問的文件(不管訪問次數(shù)的多少)被劃入基礎文件中,在目的虛擬機在目的主機啟動前拷貝到目的虛擬機存儲中。示例性的,在保守等級下,由于拷貝了一定比例的用戶數(shù)據(jù)文件,虛擬機業(yè)務遷移速度較慢,但是由于這些用戶近期訪問的文件被預先拷貝到了目的虛擬機存儲,使得例外訪問的機率大大下降,服務體驗最好。示例性的,上述三種快速遷移等級可靈活選擇,默認情況下,虛擬機遷移中央控制器發(fā)送一般等級,可預先由虛擬機遷移中央控制器制定,也可根據(jù)需求設計自適應的選擇方法,最終的目的是在遷移速度和服務等級水平之間達到均衡,本發(fā)明實施例在此不做限制。示例性的,上述虛擬機遷移中央控制器制定僅制定了三個等級,還可以根據(jù)遷移速度、服務等級、資源負載情況、網(wǎng)絡情況和用戶的需要來制定更多的等級,本發(fā)明實施例在此不做限制。第一發(fā)送單元603:用于將所述基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)所述基礎文件在所述目的主機啟動;示例性的,第一發(fā)送單元603與目的主機建立網(wǎng)絡連接,迭代拷貝基礎文件、內(nèi)存分別至目的主機、目的虛擬機的內(nèi)存;示例性的,在現(xiàn)今虛擬機在線整體遷移方法中,為了保證虛擬機業(yè)務不中斷,虛擬機的網(wǎng)絡之間互連協(xié)議(InternetProtocol,簡稱IP)和物理地址(MediumAccessControl,簡稱MAC)通常是不變的。因此,需要構建一個大二層的網(wǎng)絡結構支持虛擬機的遷移,虛擬機在大二層網(wǎng)絡下遷移可以保證IP和MAC地址不變,維護業(yè)務的正常運行。源端和目的端之間的數(shù)據(jù)傳輸可使用大二層網(wǎng)絡虛擬專用網(wǎng)絡(VirtualPrivateNetwork,簡稱VPN)技術保證通信安全。示例性的,第一發(fā)送單元603在拷貝基礎文件時,源虛擬機仍然運行在源主機上,在拷貝過程中,用戶的文件I/O讀寫操作仍在進行,基礎文件仍有可能被改變,因此本發(fā)明實施例在拷貝基礎文件時采用迭代拷貝的方法。示例性的,迭代拷貝基礎文件的方法包括:首先,拷貝所有基礎文件到目的主機第一接收單元,在拷貝過程中,基礎文件具有三種狀態(tài):還未拷貝、正在拷貝和已完成拷貝。對于還未拷貝的基礎文件,直接進行當前的I/O操作;當文件I/O請求為寫操作時,正在拷貝的基礎文件需要被鎖定,等拷貝完成后按已經(jīng)完成拷貝方式處理;已完成拷貝的文件,通過日志文件記錄文件I/O操作的內(nèi)容,當一個基礎文件拷貝過程完成后,再將其從目的主機拷貝到目的虛擬機存儲。迭代拷貝改變的文件內(nèi)容直到改變文件內(nèi)容大小滿足一定閾值時,暫停虛擬機,傳輸最后修改的基礎文件到目的主機(該迭代拷貝過程可和內(nèi)存拷貝同時進行)。在基礎文件初次完整拷貝時,可應用一定的文件壓縮技術,以提高拷貝的速度。釋放單元604:用于釋放所述源虛擬機資源;第二發(fā)送單元605:用于將所述其它文件發(fā)送至所述目的虛擬機。示例性的,第二發(fā)送單元605還用于:將其它文件按照拷貝序列發(fā)送至目的虛擬機。示例性的,第二發(fā)送單元605可以依據(jù)第一發(fā)送單元603的文件訪問記錄表生成一個其它文件拷貝隊列,該拷貝隊列按文件訪問記錄表中其它文件被訪問次數(shù)的多少排序,被訪問次數(shù)最多的其它文件排在后續(xù)傳輸隊列的最前面。在沒有例外訪問發(fā)生時,第二發(fā)送單元605按該隊列依次向目的虛擬機發(fā)送文件;當例外訪問發(fā)生時,被要求訪問的文件獲得最高的拷貝優(yōu)先級,排在拷貝隊列的最前面。示例性的,第二發(fā)送單元605具有維護源虛擬機文件系統(tǒng)的功能,為了保證后續(xù)其它文件的正常拷貝,第二發(fā)送單元605的一個重要的功能就是維護源虛擬機存儲的一個或多個文件系統(tǒng),源虛擬機存儲被掛載到第二發(fā)送單元605進程下,第二發(fā)送單元605可對源虛擬機存儲中的任意文件進行I\O操作;同時,在源虛擬機釋放前,第二發(fā)送單元605接收第一發(fā)送單元603的拷貝文件映射表,記錄其它文件的拷貝完成情況。示例性的,第二發(fā)送單元605還可以包括:接收模塊6001,用于接收所述目的虛擬機發(fā)送的優(yōu)先拷貝用戶訪問所需文件的申請;處理模塊6002,用于根據(jù)所述優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整所述拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級;示例性的,第二發(fā)送單元603還用于:按照調(diào)整后的拷貝序列將其它文件發(fā)送至目的虛擬機。本發(fā)明實施例提供的一種虛擬機在線整體遷移設備,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。參見圖7或8,為本發(fā)明實施例提供的另一種虛擬機在線整體遷移設備,如圖所示,該設備包括:第一接收單元801:用于接收源虛擬機發(fā)送的基礎文件;啟動單元802:用于根據(jù)所述基礎文件將目的虛擬機在所述目的主機啟動;第二接收單元803:用于接收源主機在釋放所述源虛擬機資源后發(fā)送的其它文件;其中,所述基礎文件和其它文件根據(jù)所述源虛擬機對應的遷移等級對源虛擬機的存儲進行分割所得。示例性的,中央控制器具有執(zhí)行虛擬機遷移等級、發(fā)送虛擬機遷移指令、監(jiān)控虛擬機遷移過程等功能。示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,遷移等級包含激進等級,一般等級和保守等級。示例性的,源虛擬機對應的遷移等級不同,源虛擬機可以將源虛擬機的存儲分割為不同的基礎文件和其它文件,例如:1、當遷移等級為激進等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集,例如:包含操作系統(tǒng)相關文件、驅(qū)動程序文件、用戶配置文件、在線進程相關文件等;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;示例性的,在激進等級下,源虛擬機存儲能以最快的速度遷移到目的主機,但由于源虛擬機存儲的文件大都被劃分為其它文件,用戶的例外訪問概率增加,會在一定程度上造成用戶服務體驗下降。示例性的,上述用戶的例外訪問包括:目的虛擬機在目的主機啟動后,業(yè)務請求訪問的文件還未拷貝到目的虛擬機存儲的其它文件。2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;示例性的,在一般等級下,源虛擬機存儲遷移的速度較快,而當例外訪問發(fā)生時,只用快速拷貝用戶相關數(shù)據(jù)文件就可以保證業(yè)務的正常運行,服務體驗較好。3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。示例性的,可以根據(jù)源虛擬機統(tǒng)計的用戶最近訪問文件記錄判斷某一文件是否為用戶常用的數(shù)據(jù)文件。示例性的,源虛擬機可以記錄文件被用戶使用的情況,并可以通過特定文件的方式表示。例如,源虛擬機可以記錄最近一段時間內(nèi)用戶訪問過的文件,并生成一個文件訪問記錄表。該文件訪問記錄表記錄了最近N天內(nèi)源虛擬機存儲內(nèi)所有文件被訪問的次數(shù)。當用戶關閉源虛擬機時,該文件訪問記錄表以文件的方式存儲在虛擬機存儲中,當用戶啟動源虛擬機,源虛擬機自動預讀該文件訪問記錄表到內(nèi)存中并進行實時更新。其中,上述最近一段時間可以為N天,該N天為用戶登錄的實際天數(shù),而非自然天,例如,可以將上述N天設定為一個默認閾值(如,7天),該閾值可根據(jù)用戶例外訪問率的要求進行設定,例如,該閾值能保證用戶例外訪問率不大于10%。該閾值具體計算方法可以預先通過實際統(tǒng)計大量用戶訪問文件習慣得到。如統(tǒng)計多用戶大量文件訪問發(fā)生時,該被訪問文件最近一次訪問是在幾天前,假設小于等于N天占據(jù)90%的統(tǒng)計量,那么N天就是該閾值。根據(jù)該閾值,N天內(nèi)被訪問的文件(不管訪問次數(shù)的多少)被劃入基礎文件中,在目的虛擬機在目的主機啟動前拷貝到目的虛擬機存儲中。示例性的,在保守等級下,由于拷貝了一定比例的用戶數(shù)據(jù)文件,虛擬機業(yè)務遷移速度較慢,但是由于這些用戶近期訪問的文件被預先拷貝到了目的虛擬機存儲,使得例外訪問的機率大大下降,服務體驗最好。示例性的,上述三種快速遷移等級可靈活選擇,默認情況下,虛擬機遷移中央控制器發(fā)送一般等級,可預先由虛擬機遷移中央控制器制定,也可根據(jù)需求設計自適應的選擇方法,最終的目的是在遷移速度和服務等級水平之間達到均衡,本發(fā)明實施例在此不做限制。示例性的,上述虛擬機遷移中央控制器制定僅制定了三個等級,還可以根據(jù)遷移速度、服務等級、資源負載情況、網(wǎng)絡情況和用戶的需要來制定更多的等級,本發(fā)明實施例在此不做限制。示例性的,第二接收單元803還用于:接收用戶訪問請求;接收所述源主機發(fā)送的所述用戶訪問所需文件,繼續(xù)所述用戶訪問;處理單元804:根據(jù)所述用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,阻止并緩存所述用戶訪問請求,并向源主機發(fā)送優(yōu)先拷貝所述用戶訪問所需文件的申請,以便所述源主機根據(jù)所述優(yōu)先拷貝所述用戶訪問所需文件的申請調(diào)整拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級。示例性的,當目的虛擬機快速遷移啟動后,源虛擬機生成一個拷貝文件映射表,該拷貝文件映射表標識文件系統(tǒng)中每一個文件和目錄,其中,已完成拷貝的文件標識為1,未完成拷貝的文件標識為0。當基礎文件拷貝完成,目的虛擬機在目的主機啟動,同時源主機釋放源端虛擬機后,該拷貝序列由源主機繼續(xù)維護;在其它文件開始拷貝前,首先拷貝該映射表到目的虛擬機內(nèi)存中,由目的虛擬機的第二接收單元803相關進程維護并實時更新后續(xù)其它文件的拷貝狀態(tài)(記錄文件是否已拷貝完成)。目的虛擬機操作系統(tǒng)進行每一個文件I/O請求前,都要查詢該拷貝序列,如果待訪問文件已經(jīng)拷貝到目的虛擬機存儲中,則直接訪問;若待訪問文件還未拷貝到目的虛擬機存儲中(即例外訪問發(fā)生),第二接收單元803阻止并緩存該訪問,同時向源主機申請優(yōu)先拷貝該文件,當文件拷貝完成后,繼續(xù)該訪問。示例性的,第二接收單元803還用于:接收用戶的訪問請求;處理單元804還用于:根據(jù)所述用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,且判斷所述用戶的訪問請求所屬進程的文件訪問率大于預設閾值,則提供偽文件以跳過所述用戶的訪問請求。示例性的,第二接收單元803可以處理一種特殊的例外訪問:全盤掃描,如虛擬機運行殺毒軟件,全盤掃描進程會在短時間內(nèi)對虛擬機的大量文件進行訪問,上述的例外訪問處理方法是不適用的。第二接收單元803具有監(jiān)測一個或多個進程的文件訪問率(訪問文件數(shù)量/單位時間)的功能,當某進程的文件訪問率大于默認閾值時,可視該進程為全盤掃描進程,當該進程訪問未拷貝到目的虛擬機存儲的文件時,為其提供一個偽文件(可以是任意形式的空文件)以跳過該掃描。本發(fā)明實施例提供的一種虛擬機在線整體遷移設備,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。本發(fā)明實施例所提供的應用于源虛擬機側(cè)的在線整體遷移設備和應用于目的虛擬機側(cè)的在線整體遷移設備嵌入一個設備中,可配合實施,但這并不意味著二者必須配合實施,本發(fā)明實施例分別從源虛擬機側(cè)的在線整體遷移設備和目的虛擬機側(cè)的在線整體遷移設備分別進行說明。參見圖9,為本發(fā)明實施例提供的一種虛擬機在線整體遷移設備示意圖,如圖所示,該設備包括:源虛擬機快速遷移代理FMA_vm901:用于接收中央控制器發(fā)送的源虛擬機對應的遷移等級;根據(jù)所述源FMA_vm901接收的遷移等級,將所述源虛擬機的存儲分割為基礎文件和其它文件;將所述基礎文件發(fā)送至目的主機;以便目的虛擬機根據(jù)所述基礎文件在所述目的主機啟動;示例性的,中央控制器具有執(zhí)行虛擬機遷移等級、發(fā)送虛擬機遷移指令、監(jiān)控虛擬機遷移過程等功能。示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,遷移等級包含激進等級,一般等級和保守等級。示例性的,源虛擬機對應的遷移等級不同,源FMA_vm901可以將源虛擬機的存儲分割為不同的基礎文件和其它文件,例如:1、當遷移等級為激進等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集,例如:包含操作系統(tǒng)相關文件、驅(qū)動程序文件、用戶配置文件、在線進程相關文件等;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;示例性的,在激進等級下,源虛擬機存儲能以最快的速度遷移到目的主機,但由于源虛擬機存儲的文件大都被劃分為其它文件,用戶的例外訪問概率增加,會在一定程度上造成用戶服務體驗下降。示例性的,上述用戶的例外訪問包括:目的虛擬機在目的主機啟動后,業(yè)務請求訪問的文件還未拷貝到目的虛擬機存儲的其它文件。2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;示例性的,在一般等級下,源虛擬機存儲遷移的速度較快,而當例外訪問發(fā)生時,只用快速拷貝用戶相關數(shù)據(jù)文件就可以保證業(yè)務的正常運行,服務體驗較好。3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。示例性的,可以根據(jù)源FMA_vm901統(tǒng)計的用戶最近訪問文件記錄判斷某一文件是否為用戶常用的數(shù)據(jù)文件。示例性的,源FMA_vm901可以記錄文件被用戶使用的情況,并可以通過特定文件的方式表示。例如,源FMA_vm901可以記錄最近一段時間內(nèi)用戶訪問過的文件,并生成一個文件訪問記錄表。該文件訪問記錄表記錄了最近N天內(nèi)源虛擬機存儲內(nèi)所有文件被訪問的次數(shù)。當用戶關閉源虛擬機時,該文件訪問記錄表以文件的方式存儲在虛擬機存儲中,當用戶啟動源虛擬機,源虛擬機自動預讀該文件訪問記錄表到內(nèi)存中并進行實時更新。其中,上述最近一段時間可以為N天,該N天為用戶登錄的實際天數(shù),而非自然天,例如,可以將上述N天設定為一個默認閾值(如,7天),該閾值可根據(jù)用戶例外訪問率的要求進行設定,例如,該閾值能保證用戶例外訪問率不大于10%。該閾值具體計算方法可以預先通過實際統(tǒng)計大量用戶訪問文件習慣得到。如統(tǒng)計多用戶大量文件訪問發(fā)生時,該被訪問文件最近一次訪問是在幾天前,假設小于等于N天占據(jù)90%的統(tǒng)計量,那么N天就是該閾值。根據(jù)該閾值,N天內(nèi)被訪問的文件(不管訪問次數(shù)的多少)被劃入基礎文件中,在目的虛擬機在目的主機啟動前拷貝到目的虛擬機存儲中。示例性的,在保守等級下,由于拷貝了一定比例的用戶數(shù)據(jù)文件,虛擬機業(yè)務遷移速度較慢,但是由于這些用戶近期訪問的文件被預先拷貝到了目的虛擬機存儲,使得例外訪問的機率大大下降,服務體驗最好。示例性的,上述三種快速遷移等級可靈活選擇,默認情況下,虛擬機遷移中央控制器發(fā)送一般等級,可預先由虛擬機遷移中央控制器制定,也可根據(jù)需求設計自適應的選擇方法,最終的目的是在遷移速度和服務等級水平之間達到均衡,本發(fā)明實施例在此不做限制。示例性的,上述虛擬機遷移中央控制器制定僅制定了三個等級,還可以根據(jù)遷移速度、服務等級、資源負載情況、網(wǎng)絡情況和用戶的需要來制定更多的等級,本發(fā)明實施例在此不做限制。示例性的,源FMA_vm901與目的主機建立網(wǎng)絡連接,迭代拷貝基礎文件、內(nèi)存分別至目的主機、目的虛擬機的內(nèi)存;示例性的為了保證虛擬機業(yè)務不中斷,虛擬機的網(wǎng)絡之間互連協(xié)議(InternetProtocol,簡稱IP)和物理地址(MediumAccessControl,簡稱MAC)通常是不變的。因此,需要構建一個大二層的網(wǎng)絡結構支持虛擬機的遷移,虛擬機在大二層網(wǎng)絡下遷移可以保證IP和MAC地址不變,維護業(yè)務的正常運行。源端和目的端之間的數(shù)據(jù)傳輸可使用大二層網(wǎng)絡虛擬專用網(wǎng)絡(VirtualPrivateNetwork,簡稱VPN)技術保證通信安全。示例性的,源FMA_vm901在拷貝基礎文件時,源虛擬機仍然運行在源主機上,在拷貝過程中,用戶的文件I/O讀寫操作仍在進行,基礎文件仍有可能被改變,因此本發(fā)明實施例在拷貝基礎文件時采用迭代拷貝的方法。示例性的,迭代拷貝基礎文件的方法包括:首先,拷貝所有基礎文件到目的主機,在拷貝過程中,基礎文件具有三種狀態(tài):還未拷貝、正在拷貝和已完成拷貝。對于還未拷貝的基礎文件,直接進行當前的I/O操作;當文件I/O請求為寫操作時,正在拷貝的基礎文件需要被鎖定,等拷貝完成后按已經(jīng)完成拷貝方式處理;已完成拷貝的文件,通過日志文件記錄文件I/O操作的內(nèi)容,當一個基礎文件拷貝過程完成后,再將其從目的主機拷貝到目的虛擬機存儲。迭代拷貝改變的文件內(nèi)容直到改變文件內(nèi)容大小滿足一定閾值時,暫停虛擬機,傳輸最后修改的基礎文件到目的主機(該迭代拷貝過程可和內(nèi)存拷貝同時進行)。在基礎文件初次完整拷貝時,可應用一定的文件壓縮技術,以提高拷貝的速度。源主機快速遷移代理FMA_host902:用于釋放所述源虛擬機資源;將所述其它文件發(fā)送至所述目的虛擬機。示例性的,源FMA_host902還用于:將其它文件按照拷貝序列發(fā)送至目的虛擬機。示例性的,源FMA_host902可以依據(jù)源FMA_vm901的文件訪問記錄表生成一個其它文件拷貝隊列,該拷貝隊列按文件訪問記錄表中其它文件被訪問次數(shù)的多少排序,被訪問次數(shù)最多的其它文件排在后續(xù)傳輸隊列的最前面。在沒有例外訪問發(fā)生時,第二發(fā)送單元605按該隊列依次向目的虛擬機發(fā)送文件;當例外訪問發(fā)生時,被要求訪問的文件獲得最高的拷貝優(yōu)先級,排在拷貝隊列的最前面。示例性的,源FMA_host902被設計為具有維護源虛擬機文件系統(tǒng)的功能,為了保證后續(xù)其它文件的正常拷貝,源FMA_host902的一個重要的功能就是維護源虛擬機存儲的一個或多個文件系統(tǒng),源虛擬機存儲被掛載到源FMA_host902進程下,源FMA_host902可對源虛擬機存儲中的任意文件進行I\O操作;同時,在源虛擬機釋放前,源FMA_host902接收源FMA_vm901的拷貝文件映射表,記錄其它文件的拷貝完成情況。示例性的,源FMA_host902還用于:接收所述目的虛擬機發(fā)送的優(yōu)先拷貝用戶訪問所需文件的申請;根據(jù)所述優(yōu)先拷貝用戶訪問所需文件的申請調(diào)整所述拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級;按照調(diào)整后的所述拷貝序列將所述其它文件發(fā)送至所述目的虛擬機。本發(fā)明實施例提供的一種虛擬機在線整體遷移設備,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間。克服了現(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。參見圖10,為本發(fā)明實施例提供的另一種虛擬機在線整體遷移設備,如圖所示,該設備包括:目的主機快速遷移代理FMA_host1001:用于接收源虛擬機發(fā)送的基礎文件;根據(jù)所述基礎文件將目的虛擬機在所述目的主機啟動;目的虛擬機快速遷移代理FMA_vm1002:用于接收源主機在釋放所述源虛擬機資源后發(fā)送的其它文件;其中,所述基礎文件和其它文件根據(jù)所述源虛擬機對應的遷移等級對源虛擬機的存儲進行分割所得。示例性的,中央控制器具有執(zhí)行虛擬機遷移等級、發(fā)送虛擬機遷移指令、監(jiān)控虛擬機遷移過程等功能。示例性的,遷移等級由中央控制器根據(jù)下述一種或幾種條件確定:遷移所需要的遷移速度;服務等級水平;資源負載情況、網(wǎng)絡情況;或者,遷移等級由用戶根據(jù)需要設定。示例性的,遷移等級包含激進等級,一般等級和保守等級。示例性的,源虛擬機對應的遷移等級不同,源虛擬機可以將源虛擬機的存儲分割為不同的基礎文件和其它文件,例如:1、當遷移等級為激進等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集,例如:包含操作系統(tǒng)相關文件、驅(qū)動程序文件、用戶配置文件、在線進程相關文件等;其它文件為所述源虛擬機的存儲中除基礎文件之外的文件;示例性的,在激進等級下,源虛擬機存儲能以最快的速度遷移到目的主機,但由于源虛擬機存儲的文件大都被劃分為其它文件,用戶的例外訪問概率增加,會在一定程度上造成用戶服務體驗下降。示例性的,上述用戶的例外訪問包括:目的虛擬機在目的主機啟動后,業(yè)務請求訪問的文件還未拷貝到目的虛擬機存儲的其它文件。2、當遷移等級為一般等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集以及保證所有應用程序可運行的相關文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件;示例性的,在一般等級下,源虛擬機存儲遷移的速度較快,而當例外訪問發(fā)生時,只用快速拷貝用戶相關數(shù)據(jù)文件就可以保證業(yè)務的正常運行,服務體驗較好。3、當遷移等級為保守等級時,基礎文件包含目的虛擬機在目的主機啟動及當前業(yè)務運行所需的最小文件集、保證所有應用程序可運行的相關文件以及用戶常用的數(shù)據(jù)文件;其它文件為源虛擬機的存儲中除基礎文件之外的文件。示例性的,示例性的,可以根據(jù)源虛擬機統(tǒng)計的用戶最近訪問文件記錄判斷某一文件是否為用戶常用的數(shù)據(jù)文件。示例性的,源虛擬機可以記錄文件被用戶使用的情況,并可以通過特定文件的方式表示。例如,源虛擬機可以記錄最近一段時間內(nèi)用戶訪問過的文件,并生成一個文件訪問記錄表。該文件訪問記錄表記錄了最近N天內(nèi)源虛擬機存儲內(nèi)所有文件被訪問的次數(shù)。當用戶關閉源虛擬機時,該文件訪問記錄表以文件的方式存儲在虛擬機存儲中,當用戶啟動源虛擬機,源虛擬機自動預讀該文件訪問記錄表到內(nèi)存中并進行實時更新。其中,上述最近一段時間可以為N天,該N天為用戶登錄的實際天數(shù),而非自然天,例如,可以將上述N天設定為一個默認閾值(如,7天),該閾值可根據(jù)用戶例外訪問率的要求進行設定,例如,該閾值能保證用戶例外訪問率不大于10%。該閾值具體計算方法可以預先通過實際統(tǒng)計大量用戶訪問文件習慣得到。如統(tǒng)計多用戶大量文件訪問發(fā)生時,該被訪問文件最近一次訪問是在幾天前,假設小于等于N天占據(jù)90%的統(tǒng)計量,那么N天就是該閾值。根據(jù)該閾值,N天內(nèi)被訪問的文件(不管訪問次數(shù)的多少)被劃入基礎文件中,在目的虛擬機在目的主機啟動前拷貝到目的虛擬機存儲中。示例性的,在保守等級下,由于拷貝了一定比例的用戶數(shù)據(jù)文件,虛擬機業(yè)務遷移速度較慢,但是由于這些用戶近期訪問的文件被預先拷貝到了目的虛擬機存儲,使得例外訪問的機率大大下降,服務體驗最好。示例性的,上述三種快速遷移等級可靈活選擇,默認情況下,虛擬機遷移中央控制器發(fā)送一般等級,可預先由虛擬機遷移中央控制器制定,也可根據(jù)需求設計自適應的選擇方法,最終的目的是在遷移速度和服務等級水平之間達到均衡,本發(fā)明實施例在此不做限制。示例性的,上述虛擬機遷移中央控制器制定僅制定了三個等級,還可以根據(jù)遷移速度、服務等級、資源負載情況、網(wǎng)絡情況和用戶的需要來制定更多的等級,本發(fā)明實施例在此不做限制。示例性的,目的FMA_vm1002還可以用于:接收用戶訪問請求;根據(jù)所述用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,阻止并緩存所述用戶訪問請求,并向源主機發(fā)送優(yōu)先拷貝用戶訪問所需文件的申請,以便所述源主機根據(jù)優(yōu)先拷貝所述用戶訪問所需文件的申請調(diào)整拷貝序列,并將所述用戶訪問所需的文件設為最高拷貝優(yōu)先級;接收所述源主機發(fā)送的所述用戶訪問所需文件,繼續(xù)所述用戶訪問。示例性的,當目的虛擬機快速遷移啟動后,源虛擬機生成一個拷貝文件映射表,該拷貝文件映射表標識文件系統(tǒng)中每一個文件和目錄,其中,已完成拷貝的文件標識為1,未完成拷貝的文件標識為0。當基礎文件拷貝完成,目的虛擬機在目的主機啟動,同時源主機釋放源端虛擬機后,該拷貝序列由源主機繼續(xù)維護;在其它文件開始拷貝前,首先拷貝該映射表到目的虛擬機內(nèi)存中,由目的虛擬機的目的FMA_vm1002相關進程維護并實時更新后續(xù)其它文件的拷貝狀態(tài)(記錄文件是否已拷貝完成)。目的虛擬機操作系統(tǒng)進行每一個文件I/O請求前,都要查詢該拷貝序列,如果待訪問文件已經(jīng)拷貝到目的虛擬機存儲中,則直接訪問;若待訪問文件還未拷貝到目的虛擬機存儲中(即例外訪問發(fā)生),目的FMA_vm1002阻止并緩存該訪問,同時向源主機申請優(yōu)先拷貝該文件,當文件拷貝完成后,繼續(xù)該訪問。示例性的,目的FMA_vm1002還可以用于:接收用戶的訪問請求;根據(jù)所述用戶訪問請求,若確定用戶訪問所需的文件未被拷貝,且判斷所述用戶的訪問請求所屬進程的文件訪問率大于預設閾值,則提供偽文件以跳過所述用戶的訪問請求。示例性的,目的FMA_vm1002可以處理一種特殊的例外訪問:全盤掃描,如虛擬機運行殺毒軟件,全盤掃描進程會在短時間內(nèi)對虛擬機的大量文件進行訪問,上述的例外訪問處理方法是不適用的。目的FMA_vm1002具有監(jiān)測一個或多個進程的文件訪問率(訪問文件數(shù)量/單位時間)的功能,當某進程的文件訪問率大于默認閾值時,可視該進程為全盤掃描進程,當該進程訪問未拷貝到目的虛擬機存儲的文件時,為其提供一個偽文件(可以是任意形式的空文件)以跳過該掃描。本發(fā)明實施例提供的一種虛擬機在線整體遷移設備,虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。另一方面,本文明實施例提供了一種虛擬機在線整體遷移系統(tǒng),包括上述任一實施例所述的應用于源虛擬機側(cè)的在線整體遷移設備以及上述任一實施例所述的應用于目的虛擬機側(cè)的在線整體遷移設備。本發(fā)明實施例提供的一種虛擬機在線整體遷移系統(tǒng),虛擬機存儲根據(jù)源虛擬機的遷移等級分割為基礎文件和其它文件,首先將基礎文件拷貝至目的主機,使目的虛擬機在目的主機快速啟動,進而大大減少了虛擬機業(yè)務遷移時間??朔爽F(xiàn)有技術中在目的主機運行虛擬機業(yè)務前首先要進行虛擬機存儲的全部遷移而大大增加了虛擬機業(yè)務的遷移時間的缺陷。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理包括,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以便一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-OnlyMemory,簡稱ROM)、隨機存取存儲器(RandomAccessMemory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。