亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng)的制作方法

文檔序號:6439766閱讀:201來源:國知局
專利名稱:一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機系統(tǒng)結(jié)構(gòu)虛擬化環(huán)境下文件系統(tǒng)技術(shù)領(lǐng)域,更具體的說,就是在虛擬化環(huán)境下提供一種文件系統(tǒng)日志的存儲系統(tǒng),以提高文件系統(tǒng)寫性能。
背景技術(shù)
近年來,隨著服務(wù)器的應(yīng)用程序的復(fù)雜性大大增加,使得系統(tǒng)容易出錯且穩(wěn)定性下降,為了確保文件系統(tǒng)突然崩潰時的數(shù)據(jù)一致性,目前操作系統(tǒng)普遍使用具有日志的日志型文件系統(tǒng)。首先文件系統(tǒng)在磁盤上為文件系統(tǒng)日志區(qū)域開辟額外的存儲空間,在文件系統(tǒng)要將臟數(shù)據(jù)寫入磁盤前(新文件寫入或者是對原文件進行修改)之前,文件系統(tǒng)將會對這些修改生成相應(yīng)的日志記錄,并將日志記錄寫入到日志區(qū)域中。在這種情況下,一旦遭遇宕機,日志型文件系統(tǒng)就可以利用日志記錄將文件系統(tǒng)恢復(fù)到宕機前的一致性狀態(tài)。這種方法避免了系統(tǒng)宕機后耗時掃描整個文件系統(tǒng)才能恢復(fù)一致性的問題,也避免了采用傳統(tǒng)冗余式備份的效率底下以及耗費過多額外磁盤空間的缺點。
但是日志型文件系統(tǒng)的最大缺陷在于,所有更新過的文件必須首先要寫回磁盤上。每次寫操作都必須經(jīng)歷兩次寫磁盤,一次記錄到日志空間,另一次才是真正的寫入文件系統(tǒng),因此相比于沒有日志記錄的文件系統(tǒng)來說,會造成性能下降,如果在記錄日志時采用同時記錄數(shù)據(jù)和元數(shù)據(jù)的修改(如Ext3中的Journal模式),性能下降則更為嚴重。
而在虛擬化環(huán)境下,如果虛擬機的運行也是為了提供服務(wù)器應(yīng)用的話,為保障更短的服務(wù)宕機時間,日志型文件系統(tǒng)的選用也是必須的。每臺虛擬機都有自己的日志記錄區(qū)域。因為每臺虛擬機都有獨立的運作,都擁有各自的磁盤分區(qū)并且獨自存取自己的磁盤文件系統(tǒng)。如果同時有多臺虛擬機進行寫操作,按照前文講述的內(nèi)容,可以得到每個虛擬機都對自己的日志區(qū)域進行讀寫操作,虛擬機管理程序因此對于這些讀寫的磁盤尋道和旋轉(zhuǎn)開銷就會增加,導(dǎo)致讀寫速度下降。發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng),提高了寫入速度。
一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng),包括位于虛擬機中的日志添加模塊 1和日志磁盤動態(tài)插入模塊2,以及位于虛擬機管理程序中的虛擬日志磁盤管理模塊3 ;
日志添加模塊1,用于申請共享內(nèi)存以存儲日志添加請求,從日志磁盤動態(tài)插入模塊2獲取虛擬日志磁盤盤符,將虛擬機文件系統(tǒng)中的日志讀寫請求定向到該虛擬日志磁盤盤符對應(yīng)的虛擬日志磁盤上;
日志磁盤動態(tài)插入模塊2,用于從虛擬日志磁盤管理模塊3接收虛擬日志磁盤信息,將該虛擬日志磁盤掛載到虛擬機內(nèi)的文件系統(tǒng)上,并將掛載后得到的虛擬日志磁盤盤符傳送給日志添加模塊1 ;
虛擬日志磁盤管理模塊3,用于從日志添加模塊1的共享內(nèi)存中讀取日志添加請求,為該請求創(chuàng)建虛擬日志磁盤,將創(chuàng)建的虛擬磁盤信息傳送給日志磁盤動態(tài)插入模塊2, 從虛擬機的文件系統(tǒng)中獲取日志讀寫請求,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。
進一步地,所述虛擬日志磁盤管理模塊3包括
日志添加請求通信模塊31,用于從日志添加模塊1的共享內(nèi)存中讀取日志添加請求;
虛擬磁盤內(nèi)存管理模塊32,用于為所述日志添加請求確定待創(chuàng)建的虛擬日志磁盤的屬性信息;
虛擬日志磁盤創(chuàng)建模塊33,用于依據(jù)所述虛擬日志磁盤的屬性信息為日志添加請求創(chuàng)建虛擬日志磁盤;
磁盤信息反饋模塊34,用于將創(chuàng)建的虛擬日志磁盤信息反饋給日志磁盤動態(tài)插入模塊2 ;
虛擬日志磁盤塊設(shè)備驅(qū)動35,用于從虛擬機的文件系統(tǒng)中獲取日志讀寫請求,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。
進一步地,還包括位于虛擬機管理程序中的虛擬日志磁盤可靠性保證模塊4,用于將虛擬日志磁盤管理模塊3中的所有虛擬日志磁盤上的日志內(nèi)容存儲到物理磁盤。本發(fā)明的技術(shù)效果體現(xiàn)在
本發(fā)明提供了先進的日志存儲架構(gòu),支持多種虛擬化環(huán)境。該架構(gòu)符合一系列的功能要求,包括可靠性,高速寫入性和通用性。本發(fā)明利用高速設(shè)備存儲原本存儲于低速設(shè)備上的日志數(shù)據(jù),允許虛擬環(huán)境下應(yīng)用程序不做任何修就可以使用本發(fā)明。本發(fā)明在文件系統(tǒng)和設(shè)備驅(qū)動層實現(xiàn)了一個具有設(shè)備透明性和完整日志功能的日志存儲系統(tǒng)。


圖1為虛擬化環(huán)境下文件系統(tǒng)日志存儲系統(tǒng)的一種具體實現(xiàn)方式的結(jié)構(gòu)示意圖2為虛擬磁盤管理模塊設(shè)計圖3為本系統(tǒng)虛擬機添加日志流程圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明系統(tǒng)作進一步詳細的說明。
如圖1所示,本發(fā)明可應(yīng)用在一個虛擬機管理程序?qū)?yīng)多個虛擬機Α、Β···Ν的系統(tǒng)背景中。本發(fā)明系統(tǒng)包括位于虛擬機中的日志添加模塊1和日志磁盤動態(tài)插入模塊2,以及位于虛擬機管理程序中的虛擬日志磁盤管理模塊3和虛擬日志磁盤可靠性保證模塊4。
日志添加模塊1,用于申請共享內(nèi)存以存儲日志添加請求,從日志磁盤動態(tài)插入模塊2獲取虛擬日志磁盤盤符,將虛擬機文件系統(tǒng)中的日志讀寫請求定向到該虛擬日志磁盤盤符對應(yīng)的虛擬日志磁盤上。日志添加模塊1為虛擬機中的文件系統(tǒng)創(chuàng)建日志,必須要求文件系統(tǒng)能夠在運行狀態(tài)下具有由無日志轉(zhuǎn)換為有日志的功能。
日志磁盤動態(tài)插入模塊2用于從虛擬日志磁盤管理模塊3接收虛擬日志磁盤信息,負責將該虛擬磁盤掛載到文件系統(tǒng)上。從虛擬日志磁盤管理模塊3獲得虛擬磁盤信息, 但在本模塊本身看來不能意識到這是一塊虛擬的磁盤,而以為是一塊由虛擬機管理程序所在文件系統(tǒng)所管理的一塊真實的物理磁盤。獲取磁盤信息以后,掛載到虛擬機內(nèi)的文件系統(tǒng)上,并將掛載后得到的虛擬日志磁盤盤符告知日志添加模塊1。
虛擬日志磁盤管理模塊3負責全局的管理所有虛擬機的虛擬磁盤,包括虛擬磁盤在內(nèi)存中占用的空間、虛擬日志磁盤內(nèi)存分配以及與虛擬機內(nèi)部的通信。與日志添加模塊 1通信,獲取虛擬機內(nèi)部的日志添加請求。與日志磁盤動態(tài)插入模塊2通信,告知其確定的虛擬日志磁盤信息。從圖2中可以看出,本模塊包括以下五個模塊日志添加請求通信模塊 31,虛擬磁盤內(nèi)存管理模塊32,虛擬日志磁盤創(chuàng)建模塊33,磁盤信息反饋通信模塊34和虛擬日志磁盤塊設(shè)備驅(qū)動35。
日志添加請求通信模塊31負責接受虛擬機內(nèi)的日志添加請求。通信方式為在虛擬機和虛擬機管理程序之間的共享內(nèi)存技術(shù)。日志添加請求通信模塊獲得虛擬機共享內(nèi)存訪問授權(quán)表,通過授權(quán)表對內(nèi)存固定地址進行訪問,判斷是否發(fā)起添加日志,如果是,則捕獲虛擬機內(nèi)部的日志添加請求。捕獲請求以后,告知虛擬磁盤內(nèi)存管理模塊32。
虛擬磁盤內(nèi)存管理模塊32用于為所述日志添加請求確定待創(chuàng)建的虛擬日志磁盤的屬性信息。屬性信息包括內(nèi)存地址,磁盤主設(shè)備號,磁盤副設(shè)備號,磁盤大小,實際使用大小以及各虛擬日志磁盤與虛擬機的一一對應(yīng)關(guān)系。從日志添加請求通信模塊31中得到虛擬機的添加日志請求后,首先查看該虛擬機是否已經(jīng)添加過日志,如果有,則直接告知磁盤信息反饋通信模塊34相關(guān)磁盤信息;如果沒有,則與虛擬日志磁盤創(chuàng)建模塊33通信,向其請求創(chuàng)建虛擬磁盤。待其創(chuàng)建完成后,獲得創(chuàng)建的虛擬磁盤信息,記錄并將其轉(zhuǎn)發(fā)給磁盤信息反饋模塊;34。
虛擬日志磁盤創(chuàng)建模塊33依據(jù)所述虛擬日志磁盤的屬性信負責為虛擬機創(chuàng)建虛擬日志磁盤,是直接在內(nèi)存中申請空間并創(chuàng)建磁盤塊設(shè)備的模塊。為節(jié)約內(nèi)存使用空間,并不在申請磁盤時直接開辟一塊對應(yīng)磁盤空間大小的內(nèi)存空間,以免造成內(nèi)存數(shù)據(jù)浪費。僅僅申請磁盤塊設(shè)備信息。磁盤空間管理采用基數(shù)樹結(jié)構(gòu)管理,在沒有數(shù)據(jù)寫入的時候,基數(shù)樹只有根結(jié)點會產(chǎn)生空間,就只需為其分配頭結(jié)點空間。將創(chuàng)建的虛擬日志磁盤信息(包括虛擬日志磁盤的屬性信息和內(nèi)存地址空間)返回給虛擬磁盤內(nèi)存管理模塊32。
磁盤信息反饋通信模塊34負責通知虛擬機日志磁盤信息。與日志磁盤動態(tài)插入模塊2通信,通信方式采用共享內(nèi)存,在原來獲取添加日志請求的共享內(nèi)存中寫入磁盤信息,日志磁盤動態(tài)插入模塊2從指定內(nèi)存地址讀出磁盤信息。
虛擬日志磁盤塊設(shè)備驅(qū)動35負責用于從虛擬機的文件系統(tǒng)中獲取日志讀寫請求,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。通過塊設(shè)備前后端傳入 I/O共享環(huán)的日志讀寫請求,由于前文所述的步驟,已經(jīng)綁定在虛擬日志塊設(shè)備上,并將讀寫請求放在虛擬日志塊設(shè)備的請求隊列上。虛擬日志塊設(shè)備驅(qū)動35從隊列中取出請求并進行讀/寫操作,將讀/寫磁盤的操作轉(zhuǎn)換為對內(nèi)存中的基數(shù)樹結(jié)構(gòu)進行增刪操作,讀寫速度提升的關(guān)鍵點在于此模塊。
虛擬日志磁盤可靠性保證模塊4是保證內(nèi)存中數(shù)據(jù)安全性和可靠性的模塊。當具備日志文件系統(tǒng)的虛擬機關(guān)閉以后,為釋放內(nèi)存以及為保證日志數(shù)據(jù)的安全性,需要將數(shù)據(jù)轉(zhuǎn)移到磁盤塊設(shè)備上,已防止數(shù)據(jù)丟失。包括兩個子模塊內(nèi)存拷貝模塊41和數(shù)據(jù)存儲模塊42。
內(nèi)存拷貝模塊41負責將該關(guān)閉的虛擬機的日志磁盤,即在虛擬機管理程序管理的部分內(nèi)存區(qū)域中的數(shù)據(jù)拷貝到用戶空間。
數(shù)據(jù)存儲模塊42負責數(shù)據(jù)以文件的形式寫入到磁盤6上。使用內(nèi)存映像文件的方式將內(nèi)存中指定區(qū)域的映射到磁盤文件上進行保存。
下面結(jié)合圖3系統(tǒng)流程圖講述整個系統(tǒng)的工作流程。
1、虛擬機內(nèi)部文件系統(tǒng)為無日志型文件系統(tǒng),使用日志添加模塊1發(fā)起為文件系統(tǒng)添加日志請求,對與虛擬日志磁盤管理模塊3共享的內(nèi)存區(qū)域進行寫操作,寫入日志添加請求數(shù)據(jù)結(jié)構(gòu)。
2、日志添加請求通信模塊31,從共享內(nèi)存區(qū)域中取出日志添加請求數(shù)據(jù)結(jié)構(gòu),進行解析,獲取虛擬機文件系統(tǒng)信息,將請求以及虛擬機信息告知虛擬磁盤內(nèi)存管理模塊32。
3、虛擬磁盤內(nèi)存管理模塊32查詢虛擬機日志是否已分配,如果已經(jīng)分配,則直接返回已經(jīng)分配的虛擬磁盤信息。如果沒有分配,則告知虛擬日志磁盤創(chuàng)建模塊33進行新的磁盤分配。
4、虛擬日志磁盤創(chuàng)建模塊33接收到新的磁盤創(chuàng)建請求,從虛擬機磁盤管理程序管理的內(nèi)存中分配空間,為虛擬的磁盤塊設(shè)備處理讀寫請求準備基礎(chǔ)空間。創(chuàng)建完成以后, 返回新創(chuàng)建的磁盤信息給虛擬磁盤內(nèi)存管理模塊32。
5、虛擬磁盤內(nèi)存管理模塊32收到新的虛擬磁盤設(shè)備信息以后,將磁盤信息告知磁盤信息反饋通信模塊34。
6、磁盤信息反饋通信模塊34將磁盤信息通過共享內(nèi)存技術(shù)與虛擬機內(nèi)部進行交互,將磁盤信息填入共享內(nèi)存指定區(qū)域中,虛擬機中的日志磁盤動態(tài)插入模塊2從共享內(nèi)存指定區(qū)域讀取出磁盤信息并進行解析,解析完成以后,執(zhí)行掛載磁盤命令,將日志磁盤設(shè)備掛載到文件系統(tǒng)中,并告知日志添加模塊1日志磁盤盤符。
7、日志添加模塊1獲取日志磁盤盤符,執(zhí)行添加日志命令,將日志讀寫請求定向?qū)氲酱疟P盤符對應(yīng)的虛擬日志磁盤設(shè)備上,至此完成虛擬日志設(shè)備的添加以及文件系統(tǒng)日志的添加。
8.虛擬日志磁盤塊設(shè)備驅(qū)動35從虛擬機的文件系統(tǒng)中獲取日志讀寫請求,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。
虛擬日志磁盤可靠性保證模塊4運行在虛擬機關(guān)閉以后,若發(fā)現(xiàn)該虛擬機虛擬日志磁盤設(shè)備上并沒有數(shù)據(jù),則不保存數(shù)據(jù)。如果發(fā)現(xiàn)有,則使用子模塊內(nèi)存拷貝模塊41和數(shù)據(jù)存儲模塊42將內(nèi)存中的數(shù)據(jù)轉(zhuǎn)存到磁盤上。待虛擬機重新啟動時,通過數(shù)據(jù)存儲模塊 42重新讀出該虛擬機對應(yīng)虛擬日志磁盤數(shù)據(jù),通過虛擬機磁盤內(nèi)存管理模塊32以及虛擬日志磁盤創(chuàng)建模塊33,重新在內(nèi)存中加載虛擬日志磁盤塊設(shè)備。
本發(fā)明將原本日志文件系統(tǒng)寫數(shù)據(jù)時,進行兩次磁盤寫操作轉(zhuǎn)換為一次內(nèi)存寫操作一次磁盤寫操作,在保證日志可靠性以及發(fā)揮正常日志作用的前提下,提高了寫性能。
本發(fā)明不僅局限于上述具體實施方式
,本領(lǐng)域一般技術(shù)人員根據(jù)本發(fā)明公開的內(nèi)容,可以采用其它多種具體實施方式
實施本發(fā)明,因此,凡是采用本發(fā)明的設(shè)計結(jié)構(gòu)和思路,做一些簡單的變化或更改的設(shè)計,都落入本發(fā)明保護的范圍。
權(quán)利要求
1.一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng),包括位于虛擬機中的日志添加模塊(1)和日志磁盤動態(tài)插入模塊O),以及位于虛擬機管理程序中的虛擬日志磁盤管理模塊 ⑶;所述日志添加模塊(1),用于申請共享內(nèi)存以存儲日志添加請求,從所述日志磁盤動態(tài)插入模塊( 獲取虛擬日志磁盤盤符,將虛擬機文件系統(tǒng)中的日志讀寫請求定向到所述虛擬日志磁盤盤符對應(yīng)的虛擬日志磁盤上;所述日志磁盤動態(tài)插入模塊O),用于從所述虛擬日志磁盤管理模塊C3)接收虛擬日志磁盤信息,將所述虛擬日志磁盤掛載到虛擬機的文件系統(tǒng)上,并將掛載后得到的虛擬日志磁盤盤符傳送給所述日志添加模塊(1);所述虛擬日志磁盤管理模塊(3),用于所述從日志添加模塊(1)的共享內(nèi)存中讀取所述日志添加請求,為該請求創(chuàng)建虛擬日志磁盤,將創(chuàng)建的虛擬磁盤信息傳送給所述日志磁盤動態(tài)插入模塊(2),并從虛擬機的文件系統(tǒng)中獲取所述日志讀寫請求,在所述日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。
2.根據(jù)權(quán)利要求1所述的文件系統(tǒng)日志存儲系統(tǒng),其特征在于,所述虛擬日志磁盤管理模塊⑶包括日志添加請求通信模塊(31),用于從日志添加模塊(1)的共享內(nèi)存中讀取日志添加請求;虛擬磁盤內(nèi)存管理模塊(32),用于為所述日志添加請求確定待創(chuàng)建的虛擬日志磁盤的屬性信息;虛擬日志磁盤創(chuàng)建模塊(33),用于依據(jù)所述虛擬日志磁盤的屬性信息為日志添加請求創(chuàng)建虛擬日志磁盤;磁盤信息反饋模塊(34),用于將創(chuàng)建的虛擬日志磁盤信息反饋給日志磁盤動態(tài)插入模塊⑵;虛擬日志磁盤塊設(shè)備驅(qū)動(35),用于從虛擬機的文件系統(tǒng)中獲取日志讀寫請求,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。
3.根據(jù)權(quán)利要求1或2所述的文件系統(tǒng)日志存儲系統(tǒng),其特征在于,還包括位于虛擬機管理程序中的虛擬日志磁盤可靠性保證模塊G),用于將虛擬日志磁盤管理模塊(3)中的所有虛擬日志磁盤上的日志內(nèi)容存儲到物理磁盤。
全文摘要
本發(fā)明公開了一種虛擬化環(huán)境下的文件系統(tǒng)日志存儲系統(tǒng),包括位于虛擬機中的日志添加模塊和日志磁盤動態(tài)插入模塊,以及位于虛擬機管理程序中的虛擬日志磁盤管理模塊;日志添加模塊申請共享內(nèi)存以存儲日志添加請求,將日志讀寫請求定向到創(chuàng)建的虛擬日志磁盤上;日志磁盤動態(tài)插入模塊將創(chuàng)建的虛擬日志磁盤掛載到文件系統(tǒng)上;虛擬日志磁盤管理模讀取日志添加請求,為該請求創(chuàng)建虛擬日志磁盤,將創(chuàng)建的虛擬磁盤信息反饋給日志磁盤動態(tài)插入模塊,在日志讀寫請求定向的虛擬日志磁盤上執(zhí)行該日志讀寫請求。本發(fā)明利用高速設(shè)備存儲原本存儲于低速設(shè)備上的日志數(shù)據(jù),在保證日志可靠性以及發(fā)揮正常日志作用的前提下,提高了寫性能。
文檔編號G06F17/30GK102521114SQ201110391530
公開日2012年6月27日 申請日期2011年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者周曄, 廖小飛, 李丁丁, 金海 申請人:華中科技大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1