一種存儲(chǔ)虛擬化數(shù)據(jù)處理方法以及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)虛擬化技術(shù)領(lǐng)域,尤其涉及一種存儲(chǔ)虛擬化數(shù)據(jù)處理方法以及
目.ο
【背景技術(shù)】
[0002]在現(xiàn)有的虛擬化環(huán)境中,以卷迀移(或模板部署)為例,若某個(gè)虛擬機(jī)中的用戶文件系統(tǒng)包含三個(gè)文件,分別為filel、file2以及f ile3,并且三個(gè)文件分別存儲(chǔ)于該虛擬機(jī)中的用戶虛擬磁盤(pán)中,并且這三個(gè)文件也同時(shí)存儲(chǔ)于hypervisor (管理程序)中的存儲(chǔ)虛擬化層中的數(shù)據(jù)卷,但是當(dāng)該虛擬機(jī)中的用戶虛擬磁盤(pán)中的file3被刪除時(shí),存儲(chǔ)虛擬化層中的file3并沒(méi)有被同步刪除,而且由于存儲(chǔ)虛擬化層不會(huì)感知用戶文件系統(tǒng),所以在對(duì)存儲(chǔ)虛擬化層中的數(shù)據(jù)卷進(jìn)行迀移(或模板導(dǎo)入導(dǎo)出)時(shí),用戶虛擬磁盤(pán)中被刪除的file3仍然會(huì)被拷貝,即拷貝了無(wú)用的數(shù)據(jù),造成空間上的浪費(fèi),進(jìn)而影響系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種存儲(chǔ)虛擬化數(shù)據(jù)處理方法以及裝置,可避免在虛擬化環(huán)境中無(wú)用數(shù)據(jù)被拷貝,進(jìn)而提高系統(tǒng)性能。
[0004]本發(fā)明第一方面提供一種存儲(chǔ)虛擬化數(shù)據(jù)處理方法,包括:
[0005]獲取磁盤(pán)分區(qū)表,并識(shí)別所述磁盤(pán)分區(qū)表中的目標(biāo)磁盤(pán)分區(qū)對(duì)應(yīng)的用戶文件系統(tǒng);
[0006]識(shí)別所述用戶文件系統(tǒng)中用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置;
[0007]根據(jù)所述有效存儲(chǔ)位置,查找在存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中的用戶有效數(shù)據(jù),并生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷。
[0008]在第一種可能的實(shí)現(xiàn)方式中,所述識(shí)別所述用戶文件系統(tǒng)中用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置,包括:
[0009]判斷所述用戶文件系統(tǒng)的元數(shù)據(jù)中的存儲(chǔ)位置信息是否僅包含已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0010]若判斷為是,則根據(jù)所述元數(shù)據(jù)識(shí)別所述用戶文件系統(tǒng)中已分配有用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置;
[0011]若判斷為否,則掃描所述用戶文件系統(tǒng),以生成與所述用戶文件系統(tǒng)對(duì)應(yīng)的用戶虛擬磁盤(pán)的存儲(chǔ)位置狀態(tài)表,并將所述存儲(chǔ)位置狀態(tài)表中標(biāo)識(shí)為非空閑狀態(tài)的存儲(chǔ)位置狀態(tài)對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0012]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述元數(shù)據(jù)識(shí)別所述用戶文件系統(tǒng)中已分配有用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置,包括:
[0013]根據(jù)識(shí)別出的所述用戶文件系統(tǒng)的類型,確定所述元數(shù)據(jù)的格式;
[0014]基于所述元數(shù)據(jù)的格式讀取所述元數(shù)據(jù),以提取所述元數(shù)據(jù)中已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0015]將所述已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息所對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0016]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述掃描所述用戶文件系統(tǒng),以生成與所述用戶文件系統(tǒng)對(duì)應(yīng)的用戶虛擬磁盤(pán)的存儲(chǔ)位置狀態(tài)表,并將所述存儲(chǔ)位置狀態(tài)表中標(biāo)識(shí)為非空閑狀態(tài)的存儲(chǔ)位置狀態(tài)對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置,包括:
[0017]讀取并掃描所述用戶文件系統(tǒng)的元數(shù)據(jù),以提取所述元數(shù)據(jù)中的存儲(chǔ)位置信息;所述元數(shù)據(jù)中的存儲(chǔ)位置信息包括已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息和未分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0018]創(chuàng)建與所述用戶文件系統(tǒng)對(duì)應(yīng)的用戶虛擬磁盤(pán)的存儲(chǔ)位置狀態(tài)表,并將所述存儲(chǔ)位置狀態(tài)表中與所述已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息對(duì)應(yīng)的存儲(chǔ)位置狀態(tài)標(biāo)識(shí)為非空閑狀態(tài),并將所述存儲(chǔ)位置狀態(tài)表中與所述未分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息對(duì)應(yīng)的存儲(chǔ)位置狀態(tài)標(biāo)識(shí)為空閑狀態(tài);
[0019]將所述存儲(chǔ)位置狀態(tài)表中標(biāo)識(shí)為非空閑狀態(tài)的存儲(chǔ)位置狀態(tài)對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0020]結(jié)合第一方面,在第四種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述有效存儲(chǔ)位置,查找在存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中的用戶有效數(shù)據(jù),并生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷,包括:
[0021]查找存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中與所述有效存儲(chǔ)位置具有映射關(guān)系的存儲(chǔ)位置,以確定為所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置;
[0022]提取所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置上的數(shù)據(jù),以確定為用戶有效數(shù)據(jù);
[0023]拷貝所述用戶有效數(shù)據(jù),以生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷,并對(duì)所述目標(biāo)數(shù)據(jù)卷進(jìn)行卷迀移操作。
[0024]結(jié)合第一方面,在第五種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述有效存儲(chǔ)位置,查找在存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中的用戶有效數(shù)據(jù),并生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷,包括:
[0025]查找存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中與所述有效存儲(chǔ)位置具有映射關(guān)系的存儲(chǔ)位置,以確定為所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置;
[0026]提取所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置上的數(shù)據(jù),以確定為用戶有效數(shù)據(jù);
[0027]拷貝所述用戶有效數(shù)據(jù),以生成僅包含所述用戶有效數(shù)據(jù)的數(shù)據(jù)模板;
[0028]根據(jù)所述數(shù)據(jù)模板生成用于進(jìn)行模板部署操作的目標(biāo)數(shù)據(jù)卷;所述目標(biāo)數(shù)據(jù)卷中僅包含所述用戶有效數(shù)據(jù),且所述目標(biāo)數(shù)據(jù)卷中的所述用戶有效數(shù)據(jù)的存儲(chǔ)位置與所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置相對(duì)應(yīng)。
[0029]結(jié)合第一方面,在第六種可能的實(shí)現(xiàn)方式中,所述獲取磁盤(pán)分區(qū)表,并識(shí)別所述磁盤(pán)分區(qū)表中的目標(biāo)磁盤(pán)分區(qū)對(duì)應(yīng)的用戶文件系統(tǒng),包括:
[0030]獲取磁盤(pán)分區(qū)表,并讀取所述磁盤(pán)分區(qū)表,以識(shí)別出所述磁盤(pán)分區(qū)表中的目標(biāo)磁盤(pán)分區(qū);
[0031 ] 根據(jù)所述目標(biāo)磁盤(pán)分區(qū)中的文件系統(tǒng)標(biāo)識(shí),識(shí)別出與所述文件系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的用戶文件系統(tǒng)。
[0032]本發(fā)明第二方面提供一種存儲(chǔ)虛擬化數(shù)據(jù)處理裝置,包括:
[0033]獲取模塊,用于獲取磁盤(pán)分區(qū)表,并識(shí)別所述磁盤(pán)分區(qū)表中的目標(biāo)磁盤(pán)分區(qū)對(duì)應(yīng)的用戶文件系統(tǒng);
[0034]識(shí)別模塊,用于識(shí)別所述用戶文件系統(tǒng)中用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置;
[0035]查找處理模塊,用于根據(jù)所述有效存儲(chǔ)位置,查找在存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中的用戶有效數(shù)據(jù),并生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷。
[0036]在第一種可能的實(shí)現(xiàn)方式中,所述識(shí)別模塊包括:
[0037]判斷單元,用于判斷所述用戶文件系統(tǒng)的元數(shù)據(jù)中的存儲(chǔ)位置信息是否僅包含已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0038]位置識(shí)別單元,用于若所述判斷單元判斷為是,則根據(jù)所述元數(shù)據(jù)識(shí)別所述用戶文件系統(tǒng)中已分配有用戶數(shù)據(jù)的存儲(chǔ)位置,以確定為有效存儲(chǔ)位置;
[0039]掃描確定單元,用于若所述判斷單元判斷為否,則掃描所述用戶文件系統(tǒng),以生成與所述用戶文件系統(tǒng)對(duì)應(yīng)的用戶虛擬磁盤(pán)的存儲(chǔ)位置狀態(tài)表,并將所述存儲(chǔ)位置狀態(tài)表中標(biāo)識(shí)為非空閑狀態(tài)的存儲(chǔ)位置狀態(tài)對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0040]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述位置識(shí)別單元包括:
[0041]第一確定子單元,用于根據(jù)識(shí)別出的所述用戶文件系統(tǒng)的類型,確定所述元數(shù)據(jù)的格式;
[0042]信息提取子單元,用于基于所述元數(shù)據(jù)的格式讀取所述元數(shù)據(jù),以提取所述元數(shù)據(jù)中已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0043]所述第一確定子單元,還用于將所述已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息所對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0044]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述掃描確定單元包括:
[0045]讀取掃描子單元,用于讀取并掃描所述用戶文件系統(tǒng)的元數(shù)據(jù),以提取所述元數(shù)據(jù)中的存儲(chǔ)位置信息;所述元數(shù)據(jù)中的存儲(chǔ)位置信息包括已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息和未分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息;
[0046]創(chuàng)建標(biāo)識(shí)子單元,用于創(chuàng)建與所述用戶文件系統(tǒng)對(duì)應(yīng)的用戶虛擬磁盤(pán)的存儲(chǔ)位置狀態(tài)表,并將所述存儲(chǔ)位置狀態(tài)表中與所述已分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息對(duì)應(yīng)的存儲(chǔ)位置狀態(tài)標(biāo)識(shí)為非空閑狀態(tài),并將所述存儲(chǔ)位置狀態(tài)表中與所述未分配有用戶數(shù)據(jù)的存儲(chǔ)位置信息對(duì)應(yīng)的存儲(chǔ)位置狀態(tài)標(biāo)識(shí)為空閑狀態(tài);
[0047]第二確定子單元,用于將所述存儲(chǔ)位置狀態(tài)表中標(biāo)識(shí)為非空閑狀態(tài)的存儲(chǔ)位置狀態(tài)對(duì)應(yīng)的存儲(chǔ)位置確定為有效存儲(chǔ)位置。
[0048]結(jié)合第二方面,在第四種可能的實(shí)現(xiàn)方式中,所述查找處理模塊包括:
[0049]第一查找單元,用于查找存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中與所述有效存儲(chǔ)位置具有映射關(guān)系的存儲(chǔ)位置,以確定為所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置;
[0050]第一提取單元,用于提取所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置上的數(shù)據(jù),以確定為用戶有效數(shù)據(jù);
[0051]迀移單元,用于拷貝所述用戶有效數(shù)據(jù),以生成僅包含所述用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷,并對(duì)所述目標(biāo)數(shù)據(jù)卷進(jìn)行卷迀移操作。
[0052]結(jié)合第二方面,在第五種可能的實(shí)現(xiàn)方式中,所述查找處理模塊包括:
[0053]第二查找單元,用于查找存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中與所述有效存儲(chǔ)位置具有映射關(guān)系的存儲(chǔ)位置,以確定為所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置;
[0054]第二提取單元,用于提取所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置上的數(shù)據(jù),以確定為用戶有效數(shù)據(jù);
[0055]模板生成單元,用于拷貝所述用戶有效數(shù)據(jù),以生成僅包含所述用戶有效數(shù)據(jù)的數(shù)據(jù)模板;
[0056]所述模板生成單元,還用于根據(jù)所述數(shù)據(jù)模板生成用于進(jìn)行模板部署操作的目標(biāo)數(shù)據(jù)卷;所述目標(biāo)數(shù)據(jù)卷中僅包含所述用戶有效數(shù)據(jù),且所述目標(biāo)數(shù)據(jù)卷中的所述用戶有效數(shù)據(jù)的存儲(chǔ)位置與所述源數(shù)據(jù)卷的目標(biāo)存儲(chǔ)位置相對(duì)應(yīng)。
[0057]結(jié)合第二方面,在第六種可能的實(shí)現(xiàn)方式中,所述獲取模塊包括:
[0058]讀取單元,用于獲取磁盤(pán)分區(qū)表,并讀取所述磁盤(pán)分區(qū)表,以識(shí)別出所述磁盤(pán)分區(qū)表中的目標(biāo)磁盤(pán)分區(qū);
[0059]系統(tǒng)識(shí)別單元,用于根據(jù)所述目標(biāo)磁盤(pán)分區(qū)中的文件系統(tǒng)標(biāo)識(shí),識(shí)別出與所述文件系統(tǒng)標(biāo)識(shí)對(duì)應(yīng)的用戶文件系統(tǒng)。
[0060]本發(fā)明實(shí)施例通過(guò)識(shí)別與目標(biāo)磁盤(pán)分區(qū)對(duì)應(yīng)的用戶文件系統(tǒng),并將用戶文件系統(tǒng)中用戶數(shù)據(jù)的存儲(chǔ)位置確定為有效存儲(chǔ)位置,并根據(jù)有效存儲(chǔ)位置查找在存儲(chǔ)虛擬化層中的源數(shù)據(jù)卷中的用戶有效數(shù)據(jù),可以生成僅包含用戶有效數(shù)據(jù)的目標(biāo)數(shù)據(jù)卷,使得在對(duì)目標(biāo)數(shù)據(jù)卷進(jìn)行迀移或模板導(dǎo)入導(dǎo)出時(shí),可以只拷貝用戶有效數(shù)據(jù),從而可避免在虛擬化環(huán)境中無(wú)用數(shù)據(jù)被拷貝,進(jìn)而提高系統(tǒng)性能。
【附圖說(shuō)明】
[0061]為了更清楚地