本發(fā)明涉及云計算存儲虛擬化領(lǐng)域,特別涉及一種基于LVM的邏輯卷動態(tài)擴(kuò)容的方法及系統(tǒng)。
背景技術(shù):
KVM(Kernel Virtual Machine)虛擬化已經(jīng)在大多數(shù)的Linux系統(tǒng)上得到應(yīng)用支持。它是基于硬件的完全虛擬化,需要硬件支持(如Inter VT技術(shù)或AMDV技術(shù)),主要支持CPU和內(nèi)存的虛擬化管理。qemu主要模擬磁盤、網(wǎng)卡等IO設(shè)備?;趒emu-KVM的技術(shù)是一個完整的模擬器,它可以提供完整的CPU、內(nèi)存、網(wǎng)絡(luò)、IO等模擬環(huán)境。libvirt是一個軟件集全,提供一種單一的方式為多種不同的虛擬化管理提供方式和hypervisor,同時為開發(fā)或管理人員提供了多種多樣的API庫和命令行工具用于管理虛擬機(jī)、存儲和網(wǎng)絡(luò)等。
隨著云計算技術(shù)的快速發(fā)展,邏輯卷管理器(LVM)逐漸應(yīng)用于云存儲的各個領(lǐng)域。LVM隱藏物理硬件之間的差異性和異構(gòu)性,在物理存儲上構(gòu)建抽象層,向文件系統(tǒng)或直接向應(yīng)用程序提供邏輯卷使用?;贚VM技術(shù)提供的邏輯卷,經(jīng)過qemu技術(shù)轉(zhuǎn)換為qcow2格式文件后可以被虛擬機(jī)掛載使用。但是由于底層邏輯卷的容量大小不能根據(jù)上層業(yè)務(wù)實時動態(tài)擴(kuò)容分配,從而無法提高磁盤空間利用率。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于LVM的邏輯卷動態(tài)擴(kuò)容的方法及系統(tǒng),能根據(jù)上層業(yè)務(wù)實時動態(tài)擴(kuò)容,動態(tài)按需分配底層邏輯卷的容量大小,從而提高磁盤空間利用率。
為解決上述技術(shù)問題,本發(fā)明提供一種基于LVM的邏輯卷動態(tài)擴(kuò)容的方法,包括:
利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值;
獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑;
根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷是否滿足擴(kuò)容條件;
若滿足,則對所述邏輯卷執(zhí)行擴(kuò)容操作,并根據(jù)所述虛擬機(jī)名稱及所述虛擬機(jī)id重啟虛擬機(jī)。
其中,利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值之后,還包括:
當(dāng)libvirt中虛擬磁盤上報容量不足錯誤時,利用libvirt觸發(fā)虛擬機(jī)保護(hù)機(jī)制,暫停對應(yīng)虛擬機(jī)的上層業(yè)務(wù)。
其中,利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值之前,還包括:
設(shè)置邏輯卷容量值,邏輯卷的容量最大上限值,卷組容量值,各業(yè)務(wù)對應(yīng)的擴(kuò)容步長值。
其中,判斷是否滿足擴(kuò)容條件,包括:
根據(jù)所述虛擬機(jī)的上層業(yè)務(wù),確定擴(kuò)容步長值;
根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷所述邏輯卷的容量加上擴(kuò)容步長值是否大于所述容量最大上限值;
若不大于,則判斷擴(kuò)容步長值是否大于卷組剩余容量值;
若不大于,則滿足擴(kuò)容條件。
其中,獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑,包括:
LMD的第一線程獲取libvirt中虛擬磁盤上報的容量不足錯誤,將需要執(zhí)行的擴(kuò)容任務(wù)放入到任務(wù)隊列中;
LMD的第二線程從所述任務(wù)隊列中讀取擴(kuò)容任務(wù),并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑。
其中,當(dāng)多個虛擬機(jī)的多個虛擬磁盤同時執(zhí)行擴(kuò)容操作時,在執(zhí)行擴(kuò)容操作之前對卷組添加獨占鎖;虛擬磁盤獲得獨占鎖之后,對對應(yīng)的邏輯卷執(zhí)行擴(kuò)容操作。
本發(fā)明還提供一種基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng),包括:
格式轉(zhuǎn)換模塊,用于利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值;
容量錯誤獲取模塊,用于獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑;
判斷模塊,用于根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷是否滿足擴(kuò)容條件;
擴(kuò)容模塊,用于當(dāng)滿足擴(kuò)容條件時,對所述邏輯卷執(zhí)行擴(kuò)容操作,并根據(jù)所述虛擬機(jī)名稱及所述虛擬機(jī)id重啟虛擬機(jī)。
其中,還包括:
暫停業(yè)務(wù)模塊,用于當(dāng)libvirt中虛擬磁盤上報容量不足錯誤時,利用libvirt觸發(fā)虛擬機(jī)保護(hù)機(jī)制,暫停對應(yīng)虛擬機(jī)的上層業(yè)務(wù)。
其中,所述判斷模塊包括:
擴(kuò)容步長值單元,用于根據(jù)所述虛擬機(jī)的上層業(yè)務(wù),確定擴(kuò)容步長值;
第一判斷單元,用于根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷所述邏輯卷的容量加上擴(kuò)容步長值是否大于所述容量最大上限值;
第二判斷單元,用于當(dāng)所述邏輯卷的容量加上擴(kuò)容步長值不大于所述容量最大上限值,則判斷擴(kuò)容步長值是否大于卷組剩余容量值;若不大于,則滿足擴(kuò)容條件。
其中,所述容量錯誤獲取模塊包括:
第一線程單元,用于LMD的第一線程獲取libvirt中虛擬磁盤上報的容量不足錯誤,將需要執(zhí)行的擴(kuò)容任務(wù)放入到任務(wù)隊列中;
第二線程單元,用于LMD的第二線程從所述任務(wù)隊列中讀取擴(kuò)容任務(wù),并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑。
本發(fā)明所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法,包括:利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值;獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑;根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷是否滿足擴(kuò)容條件;若滿足,則對所述邏輯卷執(zhí)行擴(kuò)容操作,并根據(jù)所述虛擬機(jī)名稱及所述虛擬機(jī)id重啟虛擬機(jī);
可見,該方法能根據(jù)上層業(yè)務(wù)實時動態(tài)擴(kuò)容,動態(tài)按需分配底層邏輯卷的容量大小,從而無法提高磁盤空間利用率滿足上層業(yè)務(wù)需求;本發(fā)明還提供了基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng),具有上述效果,在此不再贅述。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法的流程圖;
圖2為本發(fā)明實施例所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的示意圖;
圖3為本發(fā)明實施例所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng)的結(jié)構(gòu)框圖。
具體實施方式
本發(fā)明的核心是提供一種基于LVM的邏輯卷動態(tài)擴(kuò)容的方法及系統(tǒng),能根據(jù)上層業(yè)務(wù)實時動態(tài)擴(kuò)容,動態(tài)按需分配底層邏輯卷的容量大小,從而提高磁盤空間利用率。
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明實施例所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法的流程圖;該方法可以包括:
S100、利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值;
其中,請參考圖2,LVM的數(shù)據(jù)布局主要是將LUN存儲空間分為兩部分:元數(shù)據(jù)區(qū)域meta data section和數(shù)據(jù)區(qū)域data section。為了方便元數(shù)據(jù)將每個LUN制作成為一個物理卷和卷組,即元數(shù)據(jù)和數(shù)據(jù)區(qū)域存在同一個LUN上。使用數(shù)據(jù)區(qū)域創(chuàng)建邏輯卷后,使用qemu命令將邏輯卷的映射文件轉(zhuǎn)換為qcow2格式。原理是將qcow2格式的頭文件header寫在邏輯卷之上。執(zhí)行擴(kuò)容的操作只是更改底層的邏輯卷大小,而不更改上層的qcow2文件大小。即qcow2文件掛載給虛擬機(jī)使用之后,虛擬機(jī)并不會感知底層邏輯卷的擴(kuò)容操作。
其中,虛擬機(jī)掛載的qcow2虛擬磁盤,經(jīng)過qemu-kvm下發(fā)的寫IO,觸發(fā)了底層LV的最大值上限即底層邏輯卷的容量最大上限值。這里的容量最大上限值的設(shè)定可以由用戶根據(jù)上層業(yè)務(wù)的實際需要進(jìn)行設(shè)定。例如,對容量需求量不是很大的業(yè)務(wù)場景可以設(shè)置小點的容量;對容量需求量很大的業(yè)務(wù)場景可以設(shè)置大點的容量;這樣可以根據(jù)實際需求分配容量值,使得不會出現(xiàn)大量資源閑置的情況。
S110、獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑;
其中,由于并不是在一開始就已經(jīng)給底層的邏輯卷分配容量最大上限值對應(yīng)的容量,只是給分配基本容量給用戶,因此,當(dāng)這部分基本容量已經(jīng)不能滿足用戶需求時,就需要給該邏輯卷進(jìn)行擴(kuò)容。即需要監(jiān)測上層業(yè)務(wù)是否容量不足。因此可以利用libvirt技術(shù)來監(jiān)測上層業(yè)務(wù)是否出現(xiàn)IO Error,即libvirt統(tǒng)一虛擬化管理平臺捕獲qcow2上報的IO Error;當(dāng)出現(xiàn)該錯誤時即表明上層業(yè)務(wù)容量不足。
這里為了保證擴(kuò)容操作時,不會出現(xiàn)混亂現(xiàn)象而造成元數(shù)據(jù)的一致性被破壞,這里可以使用邏輯卷服務(wù)管理方法LMD(Logical Volume Manager Daemon),它是以消費者-生產(chǎn)者模型實現(xiàn)的守護(hù)進(jìn)程服務(wù),主要應(yīng)用于LVM動態(tài)擴(kuò)容方法之中。具體過程可以是:
LMD的第一線程獲取libvirt中虛擬磁盤上報的容量不足錯誤即No Space Error,將需要執(zhí)行的擴(kuò)容任務(wù)放入到任務(wù)隊列中;
LMD的第二線程從所述任務(wù)隊列中讀取擴(kuò)容任務(wù),并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑。
為了保證元數(shù)據(jù)的一致性,當(dāng)多個虛擬機(jī)的多個虛擬磁盤同時執(zhí)行擴(kuò)容操作時,在執(zhí)行擴(kuò)容操作之前對卷組添加獨占鎖;虛擬磁盤獲得獨占鎖之后,對對應(yīng)的邏輯卷執(zhí)行擴(kuò)容操作。
其中,LMD主要包括兩個線程,一個線程主要負(fù)責(zé)監(jiān)控捕獲libvirt上報的“NO SPACE”錯誤,將需要執(zhí)行的擴(kuò)容任務(wù)放入到任務(wù)隊列中;另一個線程從隊列中讀取任務(wù),執(zhí)行擴(kuò)容。由于需要保護(hù)LVM元數(shù)據(jù)的數(shù)據(jù)一致性,當(dāng)多個虛擬機(jī)的多個虛擬磁盤同時執(zhí)行擴(kuò)容操作,在執(zhí)行擴(kuò)容之前需要對卷組(VG)添加獨占鎖。獲得獨占鎖之后,對邏輯卷(LV)執(zhí)行擴(kuò)容操作。最后是重新啟動掛載該虛擬磁盤的虛擬機(jī)。
其中,為了保證在容量不足時,可以保護(hù)虛擬機(jī)以及虛擬機(jī)對應(yīng)的上層業(yè)務(wù),當(dāng)libvirt中虛擬磁盤上報容量不足錯誤時或捕獲qcow2上報的IO Error時,利用libvirt觸發(fā)虛擬機(jī)保護(hù)機(jī)制,暫停對應(yīng)虛擬機(jī)的上層業(yè)務(wù)。
S120、根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷是否滿足擴(kuò)容條件;
其中,這里的擴(kuò)容條件可以根據(jù)實際用戶的需求進(jìn)行制定;影響擴(kuò)容條件的參數(shù)可以包括邏輯卷容量值,邏輯卷的容量最大上限值,卷組容量值,各業(yè)務(wù)對應(yīng)的擴(kuò)容步長值,或每種業(yè)務(wù)對應(yīng)同樣的擴(kuò)容步長。這里值的設(shè)定也可以由用戶進(jìn)行設(shè)定,且可以有用戶根據(jù)需求對設(shè)置的值進(jìn)行修改。擴(kuò)容策略即擴(kuò)容條件可以根據(jù)用戶制定的擴(kuò)容步長、LUN值大小、虛擬磁盤大小、邏輯卷大小等評估是否達(dá)到擴(kuò)容條件。
由于擴(kuò)容值與用戶設(shè)置的虛擬磁盤大小、底層邏輯卷大小有著必然的聯(lián)系,因此在擴(kuò)容之前需要判斷是否達(dá)到擴(kuò)容條件。只有達(dá)到擴(kuò)容條件才會允許擴(kuò)容。同時用戶根據(jù)業(yè)務(wù)模型(如數(shù)據(jù)庫場景、數(shù)據(jù)歸檔、郵箱服務(wù)器等)、底層的LUN讀寫速率、內(nèi)存、緩存等基礎(chǔ)信息,設(shè)置屬于的業(yè)務(wù)場景。根據(jù)業(yè)務(wù)場景指定不同的擴(kuò)容步長,即邏輯卷每次擴(kuò)容增加值。然后根據(jù)邏輯卷當(dāng)前容量與擴(kuò)容步長,與虛擬磁盤大小和卷組可用容量比較,判定是否達(dá)到擴(kuò)容條件,只能達(dá)到擴(kuò)容條件,才能觸發(fā)LMD的擴(kuò)容操作。
優(yōu)選的,判斷是否滿足擴(kuò)容條件,包括:
根據(jù)所述虛擬機(jī)的上層業(yè)務(wù),確定擴(kuò)容步長值;
根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷所述邏輯卷的容量加上擴(kuò)容步長值是否大于所述容量最大上限值;
若不大于,則判斷擴(kuò)容步長值是否大于卷組剩余容量值;
若不大于,則滿足擴(kuò)容條件。
其中,這里的每種上層業(yè)務(wù)可以設(shè)定不同的擴(kuò)容步長,這樣可以滿足用戶根據(jù)每種業(yè)務(wù)的實際容量需求或者容量增長需求進(jìn)行設(shè)定,避免容量閑置。
S130、若滿足,則對所述邏輯卷執(zhí)行擴(kuò)容操作,并根據(jù)所述虛擬機(jī)名稱及所述虛擬機(jī)id重啟虛擬機(jī)。
下面通過一個具體實施過程說明上述方法:
第1步,虛擬機(jī)掛載的qcow2虛擬磁盤,經(jīng)過qemu-kvm下發(fā)的寫IO,觸發(fā)了底層LV的最大值上限。
第2步,libvirt統(tǒng)一虛擬化管理平臺捕獲qcow2上報的IO Error。
第3步,libvirt觸發(fā)虛擬機(jī)保護(hù)機(jī)制,暫停虛擬機(jī)上層業(yè)務(wù)。
第4步,LMD捕獲libvirt中虛擬磁盤上報的No Space Error,并記錄虛擬機(jī)名稱、虛擬機(jī)對應(yīng)id及虛擬磁盤路徑。
第5步,根據(jù)虛擬磁盤路徑查找對應(yīng)的邏輯卷,對邏輯卷執(zhí)行擴(kuò)容操作。
第6步,重新開啟虛擬機(jī),繼續(xù)下發(fā)業(yè)務(wù)。直至擴(kuò)容隊列中沒有任務(wù)。
基于上述技術(shù)方案,本發(fā)明實施例提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法,以LVM的邏輯卷(Logical Volume)為底層載體,以qemu技術(shù)對文件進(jìn)行格式轉(zhuǎn)換,在虛擬化場景下通過監(jiān)控libvirt告警作為擴(kuò)容觸發(fā)點,判斷是否達(dá)到擴(kuò)容條件后,最后實現(xiàn)動態(tài)擴(kuò)容。實現(xiàn)根據(jù)上層業(yè)務(wù)規(guī)劃,預(yù)先分配,自動擴(kuò)容;從而提高磁盤空間利用率。
本發(fā)明實施例提供了基于LVM的邏輯卷動態(tài)擴(kuò)容的方法,能根據(jù)上層業(yè)務(wù)實時動態(tài)擴(kuò)容,動態(tài)按需分配底層邏輯卷的容量大小。
下面對本發(fā)明實施例提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng)進(jìn)行介紹,下文描述的基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng)與上文描述的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法可相互對應(yīng)參照。
請參考圖3,圖3為本發(fā)明實施例所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
格式轉(zhuǎn)換模塊100,用于利用qemu命令將邏輯卷的映射文件轉(zhuǎn)變?yōu)閝cow2文件格式,并通過下發(fā)的寫IO,觸發(fā)底層邏輯卷的容量最大上限值;
容量錯誤獲取模塊200,用于獲取libvirt中虛擬磁盤上報的容量不足錯誤,并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑;
判斷模塊300,用于根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷是否滿足擴(kuò)容條件;
擴(kuò)容模塊400,用于當(dāng)滿足擴(kuò)容條件時,對所述邏輯卷執(zhí)行擴(kuò)容操作,并根據(jù)所述虛擬機(jī)名稱及所述虛擬機(jī)id重啟虛擬機(jī)。
基于上述技術(shù)方案,該系統(tǒng)還包括:
暫停業(yè)務(wù)模塊,用于當(dāng)libvirt中虛擬磁盤上報容量不足錯誤時,利用libvirt觸發(fā)虛擬機(jī)保護(hù)機(jī)制,暫停對應(yīng)虛擬機(jī)的上層業(yè)務(wù)。
可選的,所述判斷模塊300包括:
擴(kuò)容步長值單元,用于根據(jù)所述虛擬機(jī)的上層業(yè)務(wù),確定擴(kuò)容步長值;
第一判斷單元,用于根據(jù)所述虛擬磁盤路徑查找對應(yīng)的邏輯卷,判斷所述邏輯卷的容量加上擴(kuò)容步長值是否大于所述容量最大上限值;
第二判斷單元,用于當(dāng)所述邏輯卷的容量加上擴(kuò)容步長值不大于所述容量最大上限值,則判斷擴(kuò)容步長值是否大于卷組剩余容量值;若不大于,則滿足擴(kuò)容條件。
可選的,所述容量錯誤獲取模塊200包括:
第一線程單元,用于LMD的第一線程獲取libvirt中虛擬磁盤上報的容量不足錯誤,將需要執(zhí)行的擴(kuò)容任務(wù)放入到任務(wù)隊列中;
第二線程單元,用于LMD的第二線程從所述任務(wù)隊列中讀取擴(kuò)容任務(wù),并記錄對應(yīng)的虛擬機(jī)名稱、虛擬機(jī)id及虛擬磁盤路徑。
基于上述技術(shù)方案,該系統(tǒng)還包括:
設(shè)置模塊,用于設(shè)置邏輯卷容量值,邏輯卷的容量最大上限值,卷組容量值,各業(yè)務(wù)對應(yīng)的擴(kuò)容步長值。
說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機(jī)軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的基于LVM的邏輯卷動態(tài)擴(kuò)容的方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。