域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。
[0177]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0178]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0179]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0180]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0181]所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(R0M,Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0182]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
【主權項】
1.一種擴展虛擬機磁盤空間的方法,其特征在于,所述方法包括: 關閉待擴展磁盤的虛擬機; 為所述虛擬機分配目標磁盤,所述目標磁盤的空間大小等于所述虛擬機所需磁盤空間的期望值; 將所述虛擬機的當前磁盤中的數(shù)據(jù)文件完全復制到所述目標磁盤上; 調用磁盤擴展工具修改所述目標磁盤的主引導記錄MBR以及磁盤文件系統(tǒng),以便識別所述目標磁盤的空間大??; 建立所述目標磁盤與所述虛擬機之間的關聯(lián),并釋放所述虛擬機的當前磁盤。
2.根據(jù)權利要求1所述的方法,其特征在于,為所述虛擬機分配目標磁盤包括: 向存儲資源池申請空間大小等于所述期望值的目標磁盤。
3.根據(jù)權利要求1所述的方法,其特征在于,為所述虛擬機分配目標磁盤包括: 向所述存儲資源池申請擴展磁盤,所述擴展磁盤的空間大小等于所述期望值與所述當前磁盤空間大小的差值; 合并所述虛擬機的當前磁盤和所述擴展磁盤,作為所述虛擬機的目標磁盤。
4.根據(jù)權利要求1至3任一項所述的方法,其特征在于,所述調用磁盤擴展工具修改所述目標磁盤的主引導記錄MBR文件以及磁盤文件系統(tǒng)分區(qū)表包括: 修改所述目標磁盤的MBR文件中主引導扇區(qū)對應的分區(qū)表項的結束標識字,使得修改后的結束標識字對應的磁盤空間大小等于所述期望值; 修改所述目標磁盤的啟動$Boot文件中主引導扇區(qū)包括的分區(qū)數(shù)目,使得修改后的主引導扇區(qū)包括的分區(qū)數(shù)目對應的磁盤空間大小等于所述期望值; 將所述修改后的$Boot文件備份到所述目標磁盤的最后一個分區(qū)中; 修改所述目標磁盤的位圖$Bitmap文件和主文件表MFT記錄。
5.根據(jù)權利要求4所述的方法,其特征在于,所述修改所述目標磁盤的位圖文件SBitmap文件和主文件表MFT記錄包括: 在所述修改后的$Boot文件的主引導扇區(qū)中查找得到所述MFT記錄的起始位置; 結合所述MFT記錄的起始位置,找到所述MFT記錄的第六項的位置,其中,所述MFT記錄的第六項用于存儲所述$Bitmap的屬性信息; 讀取所述MFT記錄的第六項中存儲的$Bitmap屬性信息,獲取所述$Bitmap的數(shù)據(jù)DATA屬性頭和簇流列表信息; 分別對所述$Bitmap的DATA屬性頭的屬性字段和簇流列表信息進行修改; 修改所述$Bitmap的文件內容。
6.根據(jù)權利要求5所述的方法,其特征在于,所述對所述$Bitmap的DATA屬性頭的屬性字段進行修改包括: 修改后的簇流的結束虛擬簇號highest_vcn等于所述目標磁盤的$Bitmap數(shù)據(jù)區(qū)的總簇數(shù)減I ;其中,所述$Bitmap數(shù)據(jù)區(qū)是用于存放$Bitmap文件的磁盤空間; 修改后的為$Bitmap的屬性信息分配的空間字節(jié)數(shù)的大小allocated_size等于對所述目標磁盤的$Bitmap數(shù)據(jù)區(qū)的字節(jié)數(shù)做按簇向上取整運算的結果值; 修改后的$Bitmap的屬性信息實際占用的空間字節(jié)數(shù)的大小data_size等于對所述目標磁盤的$Bitmap數(shù)據(jù)區(qū)的字節(jié)數(shù)做按字節(jié)向上取整運算的結果值; 修改后的$Bitmap的屬性信息的初始大小initialized_size等于所述data_size。
7.根據(jù)權利要求5所述的方法,其特征在于,所述對所述$Bitmap的DATA屬性頭的簇流列表信息進行修改包括: 修改后的所述DATA屬性頭的邏輯簇號Icn等于所述虛擬機的當前磁盤的$Bitmap數(shù)據(jù)區(qū)對應的總簇數(shù)加I ; 修改后的所述DATA屬性頭的長度length等于所述目標磁盤的$Bitmap數(shù)據(jù)區(qū)對應的總簇數(shù)。
8.一種擴展虛擬機磁盤空間的裝置,其特征在于,所述裝置包括: 虛擬機控制單元,用于關閉待擴展磁盤的虛擬機; 磁盤分配單元,用于為所述虛擬機分配目標磁盤,所述目標磁盤的空間大小等于所述虛擬機所需磁盤空間的期望值; 文件復制單元,用于將所述虛擬機的當前磁盤中的數(shù)據(jù)文件完全復制到所述目標磁盤上; 文件修改單元,用于調用磁盤擴展工具修改所述目標磁盤的主引導記錄MBR以及磁盤文件系統(tǒng),以便識別所述目標磁盤的空間大小; 磁盤關聯(lián)單元,用于建立所述目標磁盤與所述待擴展磁盤的虛擬機之間的關聯(lián),并釋放所述待擴展磁盤的虛擬機的當前磁盤。
9.根據(jù)權利要求8所述的擴展虛擬機磁盤空間的裝置,其特征在于,所述磁盤分配單元包括: 第一申請子單元,用于向存儲資源池申請空間大小等于所述期望值的目標磁盤。
10.根據(jù)權利要求8所述的擴展虛擬機磁盤空間的裝置,其特征在于,所述磁盤分配單元包括: 第二申請子單元,用于向所述存儲資源池申請擴展磁盤,所述擴展磁盤的空間大小等于所述期望值與所述當前磁盤空間大小的差值; 磁盤合并子單元,用于合并所述虛擬機的當前磁盤和所述擴展磁盤,作為所述虛擬機的目標磁盤。
11.根據(jù)權利要求8至10任一項所述的擴展虛擬機磁盤空間的裝置,其特征在于,所述文件修改單元包括: 第一修改子單元,用于修改所述目標磁盤的MBR文件中主引導扇區(qū)對應的分區(qū)表項的結束標識字,使得修改后的結束標識字對應的磁盤空間大小等于所述期望值; 第二修改子單元,用于修改所述目標磁盤的啟動$Boot文件中主引導扇區(qū)包括的分區(qū)數(shù)目,使得修改后的主引導扇區(qū)包括的分區(qū)數(shù)目對應的磁盤空間大小等于所述期望值; 文件轉移子單元,用于將所述修改后的$Boot文件備份到所述目標磁盤的最后一個分區(qū)中; 第三修改子單元,用于修改所述目標磁盤的位圖$Bitmap文件和主文件表MFT記錄。
12.—種虛擬化資源管理器,其特征在于,所述虛擬化資源管理器包括:如權利要求8至11任一項所述的擴展虛擬機磁盤空間的裝置。
13.—種虛擬機系統(tǒng),其特征在于,所述系統(tǒng)包括:如權利要求12所述的虛擬化資源管理器、至少一臺虛擬化主機以及存儲資源池;其中,每臺所述虛擬化主機可以虛擬得到至少一個虛擬機。
【專利摘要】本發(fā)明實施例公開了一種擴展虛擬機磁盤空間的方法,包括:關閉待擴展磁盤的虛擬機;為所述虛擬機分配目標磁盤,所述目標磁盤的空間大小等于所述虛擬機所需磁盤空間的期望值;將當前磁盤中的數(shù)據(jù)文件完全復制到所述目標磁盤上;調用磁盤擴展工具修改所述目標磁盤的主引導記錄MBR以及磁盤文件系統(tǒng)分區(qū)表,以便識別所述目標磁盤的空間大?。唤⒛繕舜疟P與虛擬機之間的關聯(lián),并釋放當前磁盤。本發(fā)明實施例還公開一種擴展虛擬機磁盤空間的裝置。采用本發(fā)明實施例,能夠直接由虛擬化資源管理器實現(xiàn)對虛擬機的數(shù)據(jù)盤和系統(tǒng)盤的空間擴展,該方法操作簡單,可實施性較強。
【IPC分類】G06F9-455
【公開號】CN104572242
【申請?zhí)枴緾N201310507542
【發(fā)明人】劉錦濤, 閆立俊
【申請人】華為技術有限公司
【公開日】2015年4月29日
【申請日】2013年10月24日