虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置制造方法
【專利摘要】本發(fā)明公開了一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置。該方法通過控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,并且通過識(shí)別子鏡像文件大小是否符合結(jié)束閾值條件,響應(yīng)于符合結(jié)束閾值條件,停止虛擬機(jī)系統(tǒng)運(yùn)行并遷移至目標(biāo)存儲(chǔ)設(shè)備,對(duì)父鏡像文件與子鏡像文件進(jìn)行融合形成新的系統(tǒng)文件。通過利用存儲(chǔ)控制器實(shí)現(xiàn)大量數(shù)據(jù)復(fù)制工作的遷移機(jī)制,避免了存儲(chǔ)遷移方法中對(duì)物理主機(jī)資源的占有和依賴,減小了對(duì)物理主機(jī)以及物理主機(jī)上虛擬機(jī)系統(tǒng)性能的影響,實(shí)現(xiàn)靈活、快速、高效的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移。
【專利說明】虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,特別涉及一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置。
【背景技術(shù)】
[0002]虛擬機(jī)系統(tǒng)在線遷移是大多數(shù)虛擬機(jī)系統(tǒng)管理器不可或缺的工具,被廣泛地應(yīng)用在數(shù)據(jù)中心的容錯(cuò)、災(zāi)備及負(fù)載均衡中。目前虛擬機(jī)系統(tǒng)在線遷移主要包括計(jì)算遷移、存儲(chǔ)遷移和全系統(tǒng)遷移,即存儲(chǔ)和計(jì)算同時(shí)遷移。虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移是指在虛擬機(jī)系統(tǒng)運(yùn)行時(shí),將虛擬機(jī)系統(tǒng)的磁盤文件從一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備遷移到另一個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備,并進(jìn)行維護(hù)和重新配置。
[0003]一種實(shí)現(xiàn)虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法是通過磁盤快照、REDO log、父/子磁盤關(guān)系和快照整合等技術(shù),支持在虛擬機(jī)系統(tǒng)運(yùn)行時(shí)進(jìn)行虛擬機(jī)系統(tǒng)磁盤文件遷移。該方法滿足了數(shù)據(jù)中心虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的基本需求。然而,由于該方法在完成虛擬機(jī)系統(tǒng)的磁盤數(shù)據(jù)拷貝時(shí),需要由虛擬機(jī)系統(tǒng)所在物理主機(jī)的虛擬機(jī)系統(tǒng)管理器(VMM)進(jìn)行數(shù)據(jù)的讀取和傳輸,以及進(jìn)行數(shù)據(jù)接收和寫入,導(dǎo)致虛擬機(jī)系統(tǒng)存儲(chǔ)遷移過程中,占用了大量的物理主機(jī)資源,尤其是對(duì)磁盤尺寸較大的虛擬機(jī)系統(tǒng)進(jìn)行遷移時(shí),將在很長的時(shí)間段內(nèi)占用大量的計(jì)算資源和主機(jī)內(nèi)存,影響物理主機(jī)上運(yùn)行的虛擬機(jī)系統(tǒng)的性能。
[0004]使用上述方法的存儲(chǔ)遷移過程中,還需要將虛擬機(jī)系統(tǒng)的磁盤數(shù)據(jù)從存儲(chǔ)設(shè)備復(fù)制到物理主機(jī)內(nèi)存,需要占有大量資源用于遷移過程。然而,為了滿足物理主機(jī)上虛擬機(jī)系統(tǒng)的基本運(yùn)行需求,物理主機(jī)可用于遷移的資源非常有限,造成物理主機(jī)內(nèi)存資源緊張,也影響了存儲(chǔ)遷移的性能,延長了遷移時(shí)間。
[0005]此外,通過物理主機(jī)占有物理主機(jī)資源進(jìn)行讀寫,當(dāng)有其他任務(wù)需要使用物理主機(jī)資源,例如有新的虛擬機(jī)系統(tǒng)需要進(jìn)行啟動(dòng)或創(chuàng)建,或者物理主機(jī)資源本來就已經(jīng)使用緊張,則可能造成遷移的時(shí)間增加,導(dǎo)致磁盤增量數(shù)據(jù)隨著時(shí)間增加而增大,進(jìn)一步延長遷移時(shí)間。
【發(fā)明內(nèi)容】
[0006]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,所要解決的一個(gè)技術(shù)問題是:提供一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置,減少遷移中對(duì)物理主機(jī)資源的占有,實(shí)現(xiàn)快速高效的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移。
[0007]本發(fā)明實(shí)施例提供的一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法,所述方法包括:
[0008]創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為所述磁盤文件創(chuàng)建父鏡像文件;
[0009]在所述磁盤文件設(shè)置為只讀狀態(tài)之后對(duì)所述磁盤文件的更新數(shù)據(jù)寫入所述子鏡像文件;
[0010]控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0011]識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件;
[0012]響應(yīng)于所述子鏡像文件的大小符合所述結(jié)束閾值條件,停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài);
[0013]通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī)將所述子鏡像文件復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備;
[0014]在所述目標(biāo)主機(jī)上對(duì)所述父鏡像文件與所述子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件。
[0015]優(yōu)選地,所述方法還包括:
[0016]響應(yīng)于所述子鏡像文件的大小不符合所述結(jié)束閾值條件,識(shí)別所述子鏡像文件的大小是否符合復(fù)制閾值條件;
[0017]若所述子鏡像文件的大小符合預(yù)設(shè)的復(fù)制閾值條件,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;若所述子鏡像文件的大小不符合所述復(fù)制閾值條件,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī),將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0018]將在所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入所述子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行所述識(shí)別所述子鏡像文件的大小是否符合結(jié)束閾值條件的操作。
[0019]優(yōu)選地,在將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之后,所述方法還包括:
[0020]記錄所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù);
[0021]在執(zhí)行所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的操作后,識(shí)別所述復(fù)制次數(shù)是否符合預(yù)設(shè)的停止次數(shù)閾值條件;
[0022]響應(yīng)于所述復(fù)制次數(shù)符合所述停止次數(shù)閾值條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0023]優(yōu)選地,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,所述方法還包括:
[0024]識(shí)別所述子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件;
[0025]響應(yīng)于所述產(chǎn)生速率與所述數(shù)據(jù)傳輸速率符合所述停止條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0026]優(yōu)選地,所述控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,具體包括:
[0027]所述第一存儲(chǔ)控制器根據(jù)所述文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器;
[0028]在所述目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄;
[0029]所述第二存儲(chǔ)控制器接收所述文件的數(shù)據(jù),在所述目標(biāo)存儲(chǔ)設(shè)備的所述虛擬機(jī)系統(tǒng)目錄下保存所述文件。
[0030]優(yōu)選地,所述地址映射表包括:文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度;所述方法還包括:[0031]在創(chuàng)建所述文件時(shí),創(chuàng)建所述文件的地址映射表;
[0032]所述從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器,具體包括:
[0033]所述從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù)以及所述文件的地址映射表,將所述文件的數(shù)據(jù)與文件的地址映射表一并發(fā)送給第二存儲(chǔ)控制器;
[0034]所述第二存儲(chǔ)控制器按照所述文件的地址映射表,將文件的數(shù)據(jù)保存在所述目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
[0035]優(yōu)選地,在形成新的系統(tǒng)文件之后,所述方法還包括:
[0036]將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件;
[0037]在所述目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行所述虛擬機(jī)系統(tǒng)。
[0038]本發(fā)明實(shí)施例提供的一種虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置,所述裝置包括:
[0039]源鏡像控制單元,用于創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為所述磁盤文件創(chuàng)建父鏡像文件;
[0040]子鏡像更新單元,用于在所述磁盤文件設(shè)置為只讀狀態(tài)之后將所述磁盤文件的更新數(shù)據(jù)寫入所述子鏡像文件;
[0041]存儲(chǔ)器復(fù)制單元,用于控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0042]識(shí)別單元,用于識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件;
[0043]源控制單元,用于響應(yīng)于所述子鏡像文件的大小符合所述結(jié)束閾值條件,停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài);
[0044]主機(jī)復(fù)制單元,用于源控制單元保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)之后,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī)將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備;
[0045]目標(biāo)鏡像控制單元,用于在所述目標(biāo)主機(jī)上對(duì)所述父鏡像文件與所述子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件。
[0046]優(yōu)選地,所述識(shí)別單元,還用于響應(yīng)于所述子鏡像文件的大小不符合所述結(jié)束閾值條件,識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的復(fù)制閾值條件;
[0047]所述存儲(chǔ)器復(fù)制單元,還用于響應(yīng)于所述子鏡像文件的大小符合復(fù)制閾值條件,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0048]所述主機(jī)復(fù)制單元,還用于響應(yīng)于所述子鏡像文件的大小不符合所述復(fù)制閾值條件,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī),將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0049]所述識(shí)別單元,還用于將在所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入所述子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行所述識(shí)別所述子鏡像文件的大小是否符合結(jié)束閾值條件的操作。
[0050]優(yōu)選地,所述裝置還包括:
[0051]計(jì)數(shù)單元,用于在將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備之后,記錄所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù);
[0052]所述識(shí)別單元,用于在執(zhí)行所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的操作后,識(shí)別所述復(fù)制次數(shù)是否符合預(yù)設(shè)的停止次數(shù)閾值條件;
[0053]所述源控制單元,還用于響應(yīng)于所述復(fù)制次數(shù)符合停止次數(shù)閾值條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0054]優(yōu)選地,所述識(shí)別單元,還用于在將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備之后,識(shí)別所述子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件;
[0055]所述源控制單元,還用于響應(yīng)于所述產(chǎn)生速率與所述數(shù)據(jù)傳輸速率符合預(yù)設(shè)的停止條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0056]優(yōu)選地,所述存儲(chǔ)器復(fù)制單元,具體包括源遷移代理單元與目標(biāo)遷移代理單元;
[0057]所述源遷移代理單元,用于控制所述第一存儲(chǔ)控制器根據(jù)所述文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器;
[0058]所述目標(biāo)遷移代理單元,用在所述目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄;控制第二存儲(chǔ)控制器接收所述文件的數(shù)據(jù),在所述目標(biāo)存儲(chǔ)設(shè)備的所述虛擬機(jī)系統(tǒng)目錄下保存所述文件。
[0059]優(yōu)選地,所述源鏡像源控制單元,還用于在創(chuàng)建所述文件時(shí),創(chuàng)建所述文件的地址映射表,所述地址映射表包括文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度;
[0060]所述源遷移代理單元,具體用于控制所述第一存儲(chǔ)控制器,根據(jù)所述起始地址、結(jié)束地址以及地址長度,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),將所述文件的數(shù)據(jù)與地址映射表一并發(fā)送給第二存儲(chǔ)控制器;
[0061]所述目標(biāo)遷移代理單元,具體用于控制第二存儲(chǔ)控制器按照所述文件的地址映射表,將接收的文件的數(shù)據(jù)保存在所述目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
[0062]優(yōu)選地,所述裝置還包括:
[0063]目標(biāo)控制單元,用于在形成新的系統(tǒng)文件之后,將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件;在所述目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行所述虛擬機(jī)系統(tǒng)。
[0064]本發(fā)明實(shí)施例提供的一種虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的系統(tǒng),所述系統(tǒng)包括:
[0065]本發(fā)明實(shí)施例提供的任意一種虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置;
[0066]物理主機(jī),用于承載虛擬機(jī)系統(tǒng);
[0067]源存儲(chǔ)設(shè)備,用于存儲(chǔ)遷移之前虛擬機(jī)系統(tǒng)的磁盤文件;
[0068]所述源存儲(chǔ)設(shè)備對(duì)應(yīng)的第一存儲(chǔ)控制器,用于根據(jù)源遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的讀取以及發(fā)送操作;
[0069]目標(biāo)存儲(chǔ)設(shè)備,用于儲(chǔ)存遷移之后虛擬機(jī)系統(tǒng)的磁盤文件;
[0070]所述目標(biāo)存儲(chǔ)設(shè)備對(duì)應(yīng)的第二存儲(chǔ)控制器,用于根據(jù)目標(biāo)遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的接收以及存儲(chǔ)操作。
[0071]基于本發(fā)明上述實(shí)施例提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置,通過控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,并且通過識(shí)別子鏡像文件大小是否滿足結(jié)束閾值條件,響應(yīng)于滿足結(jié)束閾值條件,停止虛擬機(jī)系統(tǒng)運(yùn)行并遷移至目標(biāo)存儲(chǔ)設(shè)備,對(duì)父鏡像文件與子鏡像文件進(jìn)行融合形成新的文件系統(tǒng)。通過利用存儲(chǔ)控制器實(shí)現(xiàn)大量數(shù)據(jù)復(fù)制工作的遷移機(jī)制,減少存儲(chǔ)遷移中對(duì)物理主機(jī)資源的占有和依賴,例如物理主機(jī)的計(jì)算資源和內(nèi)存資源,也減小了對(duì)物理主機(jī)以及物理主機(jī)上虛擬機(jī)系統(tǒng)性能的影響,實(shí)現(xiàn)靈活、快速、高效的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移。同時(shí),縮短遷移時(shí)間還能使得磁盤增量數(shù)據(jù)較小,從而進(jìn)一步加快遷移過程。
[0072]另外,利用本發(fā)明所提供虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置,還可以實(shí)現(xiàn)對(duì)虛擬機(jī)系統(tǒng)的維護(hù),例如,無需虛擬機(jī)系統(tǒng)停機(jī),即可將虛擬機(jī)系統(tǒng)快速高效地從源存儲(chǔ)設(shè)備遷移到目標(biāo)存儲(chǔ)設(shè)備,進(jìn)而對(duì)源存儲(chǔ)設(shè)備進(jìn)行維護(hù)和重新配置。此外,也可以通過在線存儲(chǔ)遷移,將虛擬機(jī)系統(tǒng)的存儲(chǔ)位置進(jìn)行調(diào)整,實(shí)現(xiàn)存儲(chǔ)資源的重新分配,從而平衡容量或提聞性能。
[0073]通過以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
【專利附圖】
【附圖說明】
[0074]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0075]同時(shí),應(yīng)當(dāng)明白,為了便于描述,附圖中所示出的各個(gè)部分的尺寸并不是按照實(shí)際的比例關(guān)系繪制的。相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
[0076]構(gòu)成說明書的一部分的附圖描述了本發(fā)明的實(shí)施例,并且連同說明書一起用于解釋本發(fā)明的原理。
[0077]參照附圖,根據(jù)下面的詳細(xì)描述,可以更加清楚地理解本發(fā)明,其中:
[0078]圖1示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法一種實(shí)施例的流程示意圖;
[0079]圖2示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法另一種實(shí)施例的流程示意圖;
[0080]圖3示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法又一種實(shí)施例的流程示意圖;
[0081]圖4示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法再一種實(shí)施例的流程示意圖;
[0082]圖5示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的裝置一種施例的結(jié)構(gòu)示意圖;
[0083]圖6示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的系統(tǒng)一種施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0084]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置不限制本發(fā)明的范圍。
[0085]以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0086]對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為授權(quán)說明書的一部分。
[0087]在這里示出和討論的所有示例中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它示例可以具有不同的值。
[0088]參見圖1所示,圖1示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法一種實(shí)施例的流程示意圖。該實(shí)施例提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法包括:
[0089]101,創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為磁盤文件創(chuàng)建父鏡像文件;
[0090]102,在磁盤文件設(shè)置為只讀狀態(tài)之后對(duì)磁盤文件的更新數(shù)據(jù)寫入子鏡像文件,需要注意的是,步驟102的操作根據(jù)寫入更新數(shù)據(jù)的需要執(zhí)行;
[0091]103,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0092]104,識(shí)別子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件;
[0093]105,響應(yīng)于子鏡像文件的大小符合結(jié)束閾值條件,停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài),例如,可以設(shè)定子鏡像文件小于或者等于預(yù)設(shè)的結(jié)束閾值時(shí),為子鏡像文件的大小符合結(jié)束閾值條件,也可以是子鏡像文件的大小小于結(jié)束閾值時(shí),為子鏡像文件的大小符合結(jié)束閾值條件;
[0094]106,通過承載虛擬機(jī)系統(tǒng)的物理主機(jī)將子鏡像文件復(fù)制目標(biāo)存儲(chǔ)設(shè)備,即將最后一個(gè)子鏡像文件復(fù)制到目標(biāo)儲(chǔ)存設(shè)備;
[0095]107,在目標(biāo)主機(jī)上對(duì)父鏡像文件與子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將運(yùn)行狀態(tài)的系統(tǒng)文件映射到目標(biāo)存儲(chǔ)設(shè)備中新的系統(tǒng)文件。
[0096]本發(fā)明上述實(shí)施例提供的方法中,通過控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器將父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,并且通過識(shí)別子鏡像文件大小是否滿足結(jié)束閾值,響應(yīng)于滿足結(jié)束閾值,停止虛擬機(jī)系統(tǒng)運(yùn)行并遷移至目標(biāo)存儲(chǔ)設(shè)備,對(duì)父鏡像文件與子鏡像文件進(jìn)行融合形成新的系統(tǒng)文件。通常情況下,基于存儲(chǔ)控制器的存儲(chǔ)設(shè)備之間直接進(jìn)行的數(shù)據(jù)復(fù)制傳輸?shù)乃俾瘦^高,并且占有物理主機(jī)資源較少,從而避免了現(xiàn)有存儲(chǔ)遷移方法中使用物理主機(jī)進(jìn)行大量數(shù)據(jù)復(fù)制操作,而帶來的對(duì)物理主機(jī)資源的占有和依賴。
[0097]參見圖2所示,圖2示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法另一種實(shí)施例的流程示意圖。該方法實(shí)施例與圖1實(shí)施例相比,還包括:
[0098]201,響應(yīng)于子鏡像文件的大小不符合結(jié)束閾值條件,識(shí)別子鏡像文件的大小是否符合預(yù)設(shè)的復(fù)制閾值條件,若子鏡像文件的大小符合復(fù)制閾值條件,則執(zhí)行202的操作;若子鏡像文件的大小不符合復(fù)制閾值條件,則執(zhí)行203的操作;例如,可以根據(jù)預(yù)先設(shè)定復(fù)制閾值,若子鏡像文件的大小大于或者等于復(fù)制閾值,則子鏡像文件的大小符合復(fù)制閾值條件,若子鏡像文件的大小小于復(fù)制閾值,則子鏡像文件的大小不符合復(fù)制閾值條件;
[0099]202,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,執(zhí)行204的操作;
[0100]203,通過承載虛擬機(jī)系統(tǒng)的物理主機(jī),將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,執(zhí)行204的操作;
[0101]204,將在子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行104即識(shí)別子鏡像文件的大小是否符合結(jié)束閾值條件的操作。
[0102]參見圖3所示,圖3示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法又一種實(shí)施例的流程示意圖。該實(shí)施例與圖2實(shí)施例相比,將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之后,該方法還可以包括:
[0103]301,記錄將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù);識(shí)別復(fù)制次數(shù)是否符合預(yù)定的停止次數(shù)閾值條件,響應(yīng)于復(fù)制次數(shù)符合預(yù)定的停止次數(shù)閾值條件,執(zhí)行105的操作,即停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作;響應(yīng)于復(fù)制次數(shù)不符合預(yù)定的停止次數(shù)閾值條件,可以執(zhí)行204的操作??梢愿鶕?jù)預(yù)設(shè)的停止次數(shù)閾值,當(dāng)復(fù)制次數(shù)大于或者等于,或者大于復(fù)制次數(shù)閾值時(shí),為符合預(yù)定的停止次數(shù)閾值條件。
[0104]參見圖4所示,圖4示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法再一種實(shí)施例的流程示意圖。該實(shí)施例與圖3實(shí)施例相比,在將子鏡像文件復(fù)制目標(biāo)存儲(chǔ)設(shè)備之后,該方法還包括:
[0105]401,識(shí)別子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件;響應(yīng)于產(chǎn)生速率與數(shù)據(jù)傳輸速率符合預(yù)設(shè)的停止條件,執(zhí)行105的操作,即停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作;響應(yīng)于復(fù)制次數(shù)不滿足預(yù)定的符合預(yù)設(shè)的停止條件,可以執(zhí)行204的操作。例如,預(yù)設(shè)的停止條件可以是更新數(shù)據(jù)的產(chǎn)生速率大于或者等于數(shù)據(jù)傳輸速率,或者更新數(shù)據(jù)的產(chǎn)生速率大于數(shù)據(jù)傳輸速率。
[0106]需要說明的是,401的操作可以先于或者后于301的操作執(zhí)行,也可以從401或者301中選擇一個(gè)操作進(jìn)行識(shí)別,當(dāng)任何一個(gè)滿足停止迭代執(zhí)行204的條件時(shí),進(jìn)入執(zhí)行105的操作。結(jié)束閾值是用于判斷子鏡像文件是否足夠小,如果子鏡像文件的大小很小,則可以馬上進(jìn)行105執(zhí)行虛擬機(jī)系統(tǒng)復(fù)制,如果子鏡像文件還比較大,則可以進(jìn)行新的一輪子鏡像復(fù)制。復(fù)制閾值是用于判斷子鏡像文件是否過大,當(dāng)子鏡像文件的大小大于復(fù)制閾值時(shí),使用存儲(chǔ)控制器的復(fù)制方式,小于復(fù)制閾值則使用物理主機(jī)讀取和寫入的復(fù)制方式。可以設(shè)置復(fù)制閾值大于結(jié)束閾值。以后的逐輪子鏡像文件復(fù)制傳輸只需要傳輸上一輪傳輸中被修改過的數(shù)據(jù),即更新數(shù)據(jù)。當(dāng)子鏡像文件復(fù)制次數(shù)到達(dá)最大限度即停止次數(shù)閾值時(shí),或增量數(shù)據(jù)的產(chǎn)生速率大于復(fù)制數(shù)據(jù)傳輸速率時(shí),或者子鏡像尺寸小于結(jié)束閾值時(shí),進(jìn)入105的操作。
[0107]可以根據(jù)實(shí)際的網(wǎng)絡(luò)情況和物理主機(jī)資源負(fù)載情況,動(dòng)態(tài)的調(diào)整復(fù)制閾值和結(jié)束閾值,以及停止子鏡像文件復(fù)制的停止次數(shù)閾值。
[0108]根據(jù)本發(fā)明方法實(shí)施例一種具體示例,圖1中操作103中,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,包括父鏡像文件或者子鏡像文件,具體可以通過以下方法實(shí)現(xiàn):第一存儲(chǔ)控制器根據(jù)文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器;在目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄;第二存儲(chǔ)控制器接收文件的數(shù)據(jù),在目標(biāo)存儲(chǔ)設(shè)備的所創(chuàng)建的虛擬機(jī)系統(tǒng)目錄下保存文件。
[0109]示例性地,地址映射表可以包括文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度。根據(jù)本發(fā)明方法實(shí)施例一種具體示例,該方法還可以包括:在創(chuàng)建文件時(shí),創(chuàng)建文件的地址映射表;第一存儲(chǔ)控制器根據(jù)文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取文件的數(shù)據(jù)以及文件的地址映射表,將文件的數(shù)據(jù)與文件的地址映射表一并發(fā)送給第二存儲(chǔ)控制器;第二存儲(chǔ)控制器按照文件的地址映射表,將文件的數(shù)據(jù)保存在目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
[0110]根據(jù)本發(fā)明方法實(shí)施例一種具體示例,在形成新的系統(tǒng)文件之后,該方法還可以包括:將運(yùn)行狀態(tài)的系統(tǒng)文件映射到目標(biāo)存儲(chǔ)設(shè)備中新的系統(tǒng)文件;在目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行虛擬機(jī)系統(tǒng)。
[0111]在目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行被遷移的虛擬機(jī)系統(tǒng)后,還可以刪除源存儲(chǔ)設(shè)備上的父鏡像文件和所有子鏡像文件,退出遷移任務(wù),完成一次虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移過程。
[0112]參見圖5所示,圖5示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的裝置一種實(shí)施例的結(jié)果示意圖。該實(shí)施例的虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置包括:
[0113]源鏡像控制單元501,用于創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為磁盤文件創(chuàng)建父鏡像文件;
[0114]子鏡像更新單元502,用于在磁盤文件設(shè)置為只讀狀態(tài)之后將磁盤文件的更新數(shù)據(jù)寫入子鏡像文件;
[0115]存儲(chǔ)器復(fù)制單元503,用于控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;
[0116]識(shí)別單元504,用于識(shí)別子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件;
[0117]源控制單元505,用于響應(yīng)于子鏡像文件的大小符合結(jié)束閾值條件,停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài);
[0118]主機(jī)復(fù)制單元506,用于通過承載虛擬機(jī)系統(tǒng)的物理主機(jī)將子鏡像文件復(fù)制目標(biāo)存儲(chǔ)設(shè)備;
[0119]目標(biāo)鏡像控制單元507,用于在目標(biāo)主機(jī)上對(duì)父鏡像文件與子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將運(yùn)行狀態(tài)的系統(tǒng)文件映射到目標(biāo)存儲(chǔ)設(shè)備中新的系統(tǒng)文件。
[0120]根據(jù)本發(fā)明裝置實(shí)施例一種具體示例,識(shí)別單元504,還用于響應(yīng)于子鏡像文件的大小不符合閾值條件,識(shí)別子鏡像文件的大小是否符合預(yù)設(shè)的復(fù)制閾值條件。存儲(chǔ)器復(fù)制單元503還用于響應(yīng)于子鏡像文件的大小符合復(fù)制閾值條件,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備。主機(jī)復(fù)制單元506還用于響應(yīng)于子鏡像文件的大小不符合復(fù)制閾值條件,通過承載虛擬機(jī)系統(tǒng)的物理主機(jī),將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;識(shí)別單元504還用于將在子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行識(shí)別子鏡像文件的大小是否符合結(jié)束閾值條件的操作。[0121]根據(jù)本發(fā)明裝置實(shí)施例一種具體示例,該裝置還可以包括:計(jì)數(shù)單元508,用于在將子鏡像文件復(fù)制目標(biāo)存儲(chǔ)設(shè)備之后,記錄將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù);識(shí)別單元504,還用于在執(zhí)行將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的操作后,識(shí)別復(fù)制次數(shù)是否符合預(yù)定的停止次數(shù)閾值條件;源控制單元505,還用于響應(yīng)于復(fù)制次數(shù)符合預(yù)定的停止次數(shù)閾值條件,執(zhí)行停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0122]根據(jù)本發(fā)明裝置實(shí)施例一種具體示例,該裝置還包括:識(shí)別單元504還用于在將子鏡像文件復(fù)制目標(biāo)存儲(chǔ)設(shè)備之后,識(shí)別子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件;源控制單元505,還用于響應(yīng)于產(chǎn)生速率與數(shù)據(jù)傳輸速率符合預(yù)設(shè)的停止條件,執(zhí)行停止虛擬機(jī)系統(tǒng)運(yùn)行,保存虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
[0123]上述本發(fā)明裝置的各實(shí)施例中,存儲(chǔ)器復(fù)制單元,具體包括源遷移代理單元與目標(biāo)遷移代理單元;
[0124]源遷移代理單元,用于控制第一存儲(chǔ)控制器根據(jù)文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器;
[0125]目標(biāo)遷移代理單元,用于在目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄;控制第二存儲(chǔ)控制器接收文件的數(shù)據(jù),在目標(biāo)存儲(chǔ)設(shè)備的虛擬機(jī)系統(tǒng)目錄下保存文件。目標(biāo)遷移代理單元可以設(shè)置在目標(biāo)存儲(chǔ)設(shè)備上。
[0126]根據(jù)本發(fā)明裝置實(shí)施例一種具體示例,源鏡像源控制單元501還用于在創(chuàng)建文件時(shí),創(chuàng)建文件的地址映射表,地址映射表包括文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度;
[0127]源遷移代理單元,具體用于控制第一存儲(chǔ)控制器,根據(jù)起始地址、結(jié)束地址以及地址長度,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取文件的數(shù)據(jù),將文件的數(shù)據(jù)與地址映射表一并發(fā)送給第二存儲(chǔ)控制器;
[0128]目標(biāo)遷移代理單元,具體用于控制第二存儲(chǔ)控制器按照文件的地址映射表,將接收的文件的數(shù)據(jù)保存在目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
[0129]根據(jù)本發(fā)明裝置實(shí)施例一種具體示例,該裝置還包括:
[0130]目標(biāo)控制單元,用于在形成新的系統(tǒng)文件之后,將運(yùn)行狀態(tài)的系統(tǒng)文件映射到目標(biāo)存儲(chǔ)設(shè)備中新的系統(tǒng)文件;在目標(biāo)存儲(chǔ)設(shè)備上運(yùn)打虛擬機(jī)系統(tǒng)。
[0131]參見圖6所示,圖6示出本發(fā)明所提供的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的系統(tǒng)一種實(shí)施例的結(jié)果示意圖。圖6實(shí)施例中的物理主機(jī)和源存儲(chǔ)設(shè)備、目標(biāo)存儲(chǔ)設(shè)備可以通過一個(gè)網(wǎng)絡(luò)交換機(jī)相連接,物理主機(jī)和交換機(jī)的接口可以為千兆電口,兩個(gè)存儲(chǔ)設(shè)備和交換機(jī)的接口可以為萬兆光口,各主機(jī)與存儲(chǔ)設(shè)備之間相互進(jìn)行網(wǎng)絡(luò)通信。該實(shí)施例提供的虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的系統(tǒng),包括:
[0132]物理主機(jī)600,用于承載虛擬機(jī)系統(tǒng);
[0133]前述實(shí)施例中的任意一項(xiàng)的虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置601 ;
[0134]源存儲(chǔ)設(shè)備602,用于存儲(chǔ)遷移之前虛擬機(jī)系統(tǒng)的磁盤文件;
[0135]源存儲(chǔ)設(shè)備對(duì)應(yīng)的第一存儲(chǔ)控制器603,用于根據(jù)源遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的讀取以及發(fā)送操作;
[0136]目標(biāo)存儲(chǔ)設(shè)備604,用于儲(chǔ)存遷移之后虛擬機(jī)系統(tǒng)的磁盤文件;[0137]目標(biāo)存儲(chǔ)設(shè)備對(duì)應(yīng)的第二存儲(chǔ)控制器605,用于根據(jù)目標(biāo)遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的接收以及存儲(chǔ)操作。
[0138]至此,已經(jīng)詳細(xì)描述了根據(jù)本發(fā)明的一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置。為了避免遮蔽本發(fā)明的構(gòu)思,沒有描述本領(lǐng)域所公知的一些細(xì)節(jié)。本領(lǐng)域技術(shù)人員根據(jù)上面的描述,完全可以明白如何實(shí)施這里公開的技術(shù)方案。
[0139]本說明書中各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似的部分相互參見即可。對(duì)于虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的系統(tǒng)與裝置實(shí)施例而言,由于其與方法實(shí)施例基本對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0140]可能以許多方式來實(shí)現(xiàn)本發(fā)明的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實(shí)現(xiàn)本發(fā)明的虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法、系統(tǒng)與裝置。用于所述方法的步驟的上述順序僅是為了進(jìn)行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0141]雖然已經(jīng)通過示例對(duì)本發(fā)明的一些特定實(shí)施例進(jìn)行了詳細(xì)說明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,以上示例僅是為了進(jìn)行說明,而不是為了限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員應(yīng)該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對(duì)以上實(shí)施例進(jìn)行修改。本發(fā)明的范圍由所附權(quán)利要求來限定。
【權(quán)利要求】
1.一種虛擬機(jī)系統(tǒng)在線存儲(chǔ)遷移的方法,其特征在于,所述方法包括: 創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為所述磁盤文件創(chuàng)建父鏡像文件; 在所述磁盤文件設(shè)置為只讀狀態(tài)之后對(duì)所述磁盤文件的更新數(shù)據(jù)寫入所述子鏡像文件; 控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備; 識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件; 響應(yīng)于所述子鏡像文件的大小符合所述結(jié)束閾值條件,停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài); 通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī)將所述子鏡像文件復(fù)制到所述目標(biāo)存儲(chǔ)設(shè)備;在所述目標(biāo)主機(jī)上對(duì)所述父鏡像文件與所述子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 響應(yīng)于所述子鏡像文件的大小不符合所述結(jié)束閾值條件,識(shí)別所述子鏡像文件的大小是否符合復(fù)制閾值條件; 若所述子鏡像文件的大小符合預(yù)設(shè)的復(fù)制閾值條件,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備;若所述子鏡像文件 的大小不符合所述復(fù)制閾值條件,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī),將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備; 將在所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入所述子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行所述識(shí)別所述子鏡像文件的大小是否符合結(jié)束閾值條件的操作。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備之后,所述方法還包括: 記錄所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù); 在執(zhí)行所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的操作后,識(shí)別所述復(fù)制次數(shù)是否符合預(yù)設(shè)的停止次數(shù)閾值條件; 響應(yīng)于所述復(fù)制次數(shù)符合所述停止次數(shù)閾值條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備,所述方法還包括: 識(shí)別所述子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件; 響應(yīng)于所述產(chǎn)生速率與所述數(shù)據(jù)傳輸速率符合所述停止條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的方法,其特征在于,所述控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,具體包括: 所述第一存儲(chǔ)控制器根據(jù)所述文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器; 在所述目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄; 所述第二存儲(chǔ)控制器接收所述文件的數(shù)據(jù),在所述目標(biāo)存儲(chǔ)設(shè)備的所述虛擬機(jī)系統(tǒng)目錄下保存所述文件。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述地址映射表包括:文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度;所述方法還包括: 在創(chuàng)建所述文件時(shí),創(chuàng)建所述文件的地址映射表; 所述從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器,具體包括: 所述從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù)以及所述文件的地址映射表,將所述文件的數(shù)據(jù)與文件的地址映射表一并發(fā)送給第二存儲(chǔ)控制器; 所述第二存儲(chǔ)控制器按照所述文件的地址映射表,將文件的數(shù)據(jù)保存在所述目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在形成新的系統(tǒng)文件之后,所述方法還包括: 將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件; 在所述目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行所述虛擬機(jī)系統(tǒng)。
8.—種虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置,其特征在于,所述裝置包括: 源鏡像控制單元,用于創(chuàng)建子鏡像文件,設(shè)置源存儲(chǔ)設(shè)備上虛擬機(jī)系統(tǒng)的磁盤文件為只讀狀態(tài),為所述磁盤文件創(chuàng)建父鏡像文件; 子鏡像更新單元,用于在所述磁盤文件設(shè)置為只讀狀態(tài)之后將所述磁盤文件的更新數(shù)據(jù)寫入所述子鏡像文件; 存儲(chǔ)器復(fù)制單元,用于控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述父鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備; 識(shí)別單元,用于識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的結(jié)束閾值條件; 源控制單元,用于響應(yīng)于所述子鏡像文件的大小符合所述結(jié)束閾值條件,停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài); 主機(jī)復(fù)制單元,用于源控制單元保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)之后,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī)將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備; 目標(biāo)鏡像控制單元,用于在所述目標(biāo)主機(jī)上對(duì)所述父鏡像文件與所述子鏡像文件進(jìn)行融合更新操作,形成新的系統(tǒng)文件,以將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述識(shí)別單元,還用于響應(yīng)于所述子鏡像文件的大小不符合所述結(jié)束閾值條件,識(shí)別所述子鏡像文件的大小是否符合預(yù)設(shè)的復(fù)制閾值條件; 所述存儲(chǔ)器復(fù)制單元,還用于響應(yīng)于所述子鏡像文件的大小符合復(fù)制閾值條件,控制源存儲(chǔ)設(shè)備的第一存儲(chǔ)控制器與目標(biāo)存儲(chǔ)設(shè)備的第二存儲(chǔ)控制器進(jìn)行文件復(fù)制操作,將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備; 所述主機(jī)復(fù)制單元,還用于響應(yīng)于所述子鏡像文件的大小不符合所述復(fù)制閾值條件,通過承載所述虛擬機(jī)系統(tǒng)的物理主機(jī),將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備; 所述識(shí)別單元,還用于將在所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的過程中寫入所述子鏡像文件的更新數(shù)據(jù)作為新的子鏡像文件,重新執(zhí)行所述識(shí)別所述子鏡像文件的大小是否符合結(jié)束閾值條件的操作。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括: 計(jì)數(shù)單元,用于在將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備之后,記錄所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的復(fù)制次數(shù); 所述識(shí)別單元,用于在執(zhí)行所述將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備的操作后,識(shí)別所述復(fù)制次數(shù)是否符合預(yù)設(shè)的停止次數(shù)閾值條件; 所述源控制單元,還用于響應(yīng)于所述復(fù)制次數(shù)符合停止次數(shù)閾值條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述識(shí)別單元,還用于在將所述子鏡像文件復(fù)制所述目標(biāo)存儲(chǔ)設(shè)備之后,識(shí)別所述子鏡像文件的更新數(shù)據(jù)的產(chǎn)生速率與將所述子鏡像文件復(fù)制到目標(biāo)存儲(chǔ)設(shè)備過程中的數(shù)據(jù)傳輸速率是否符合預(yù)設(shè)的停止條件; 所述源控制單元,還用于響應(yīng)于所述產(chǎn)生速率與所述數(shù)據(jù)傳輸速率符合預(yù)設(shè)的停止條件,執(zhí)行所述停止所述虛擬機(jī)系統(tǒng)運(yùn)行,保存所述虛擬機(jī)系統(tǒng)的運(yùn)行狀態(tài)的操作。
12.根據(jù)權(quán)利要求8至11任意一項(xiàng)所述的裝置,其特征在于,所述存儲(chǔ)器復(fù)制單元,具體包括源遷移代理單元與目標(biāo)遷移代理單元; 所述源遷移代理單元,用 于控制所述第一存儲(chǔ)控制器根據(jù)所述文件的地址映射表,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),發(fā)送給第二存儲(chǔ)控制器; 所述目標(biāo)遷移代理單元,用在所述目標(biāo)存儲(chǔ)設(shè)備上創(chuàng)建虛擬機(jī)系統(tǒng)目錄;控制第二存儲(chǔ)控制器接收所述文件的數(shù)據(jù),在所述目標(biāo)存儲(chǔ)設(shè)備的所述虛擬機(jī)系統(tǒng)目錄下保存所述文件。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述源鏡像源控制單元,還用于在創(chuàng)建所述文件時(shí),創(chuàng)建所述文件的地址映射表,所述地址映射表包括文件的數(shù)據(jù)在存儲(chǔ)地址空間的起始地址、結(jié)束地址以及地址長度; 所述源遷移代理單元,具體用于控制所述第一存儲(chǔ)控制器,根據(jù)所述起始地址、結(jié)束地址以及地址長度,從源存儲(chǔ)設(shè)備的存儲(chǔ)地址空間讀取所述文件的數(shù)據(jù),將所述文件的數(shù)據(jù)與地址映射表一并發(fā)送給第二存儲(chǔ)控制器; 所述目標(biāo)遷移代理單元,具體用于控制第二存儲(chǔ)控制器按照所述文件的地址映射表,將接收的文件的數(shù)據(jù)保存在所述目標(biāo)存儲(chǔ)設(shè)備的存儲(chǔ)地址空間。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述裝置還包括: 目標(biāo)控制單元,用于在形成新的系統(tǒng)文件之后,將所述運(yùn)行狀態(tài)的系統(tǒng)文件映射到所述目標(biāo)存儲(chǔ)設(shè)備中所述新的系統(tǒng)文件;在所述目標(biāo)存儲(chǔ)設(shè)備上運(yùn)行所述虛擬機(jī)系統(tǒng)。
15.一種虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的系統(tǒng),其特征在于,所述系統(tǒng)包括: 根據(jù)權(quán)利要求12至14任意一項(xiàng)所述的虛擬機(jī)系統(tǒng)存儲(chǔ)遷移的裝置; 物理主機(jī),用于承載虛擬機(jī)系統(tǒng); 源存儲(chǔ)設(shè)備,用于存儲(chǔ)遷移之前虛擬機(jī)系統(tǒng)的磁盤文件; 所述源存儲(chǔ)設(shè)備對(duì)應(yīng)的第一存儲(chǔ)控制器,用于根據(jù)源遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的讀取以及發(fā)送操作; 目標(biāo)存儲(chǔ)設(shè)備,用于儲(chǔ)存遷移之后虛擬機(jī)系統(tǒng)的磁盤文件; 所述目標(biāo)存儲(chǔ)設(shè)備對(duì)應(yīng)的第二存儲(chǔ)控制器,用于根據(jù)目標(biāo)遷移代理單元的控制命令,執(zhí)行文件數(shù)據(jù)的接 收以及存儲(chǔ)操作。
【文檔編號(hào)】G06F3/06GK103885719SQ201210562612
【公開日】2014年6月25日 申請日期:2012年12月21日 優(yōu)先權(quán)日:2012年12月21日
【發(fā)明者】樊勇兵, 賴培源, 于玉海, 區(qū)洪輝, 周駿, 賈嫚, 馬衛(wèi)民, 張文強(qiáng), 肖慧, 吳躍華, 劉式穎, 何曉武, 劉藝, 管華 申請人:中國電信股份有限公司