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

一種虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法

文檔序號:6521377閱讀:658來源:國知局
一種虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法
【專利摘要】本發(fā)明公開了一種虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法。該虛擬服務(wù)器系統(tǒng)包括虛擬化服務(wù)器和Glusterfs服務(wù)器端,所述虛擬化服務(wù)器包括Glusterfs客戶端模塊,所述Glusterfs客戶端模塊增設(shè)有一虛擬日志生成模塊,所述虛擬日志生成模塊配置有相應(yīng)的虛擬日志緩存區(qū)。該系統(tǒng)通過虛擬日志生成模塊接收虛擬機(jī)隨機(jī)讀/寫請求,虛擬日志生成模塊將其中寫請求以順序的方式記錄到虛擬日志緩存區(qū)上,同時在后臺周期性地把虛擬日志緩存區(qū)的數(shù)據(jù)同步到Glusterfs服務(wù)器端。這種數(shù)據(jù)讀寫方法可以在不改變原有硬件設(shè)備的基礎(chǔ)上大幅提高虛擬機(jī)磁盤讀寫性能,減少延遲,從而能夠有效改善桌面虛擬化的用戶體驗。
【專利說明】一種虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計算機(jī)數(shù)據(jù)存儲技術(shù),尤其涉及一種能夠應(yīng)用KVM虛擬機(jī)的虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法。
【背景技術(shù)】
[0002]近年來隨著IT技術(shù)快速發(fā)展,虛擬化技術(shù)日趨成熟。虛擬化技術(shù)是把物理資源抽象成邏輯資源,例如CPU、內(nèi)存、磁盤、輸入輸出等硬件設(shè)備變成可以動態(tài)管理的“資源池”,大幅度地提高硬件資源利用率,讓IT對業(yè)務(wù)的變化更具適應(yīng)力。由于虛擬化能夠大幅降低數(shù)據(jù)中心的總體成本、簡化服務(wù)器的管理、實現(xiàn)服務(wù)器的快速部署和提高數(shù)據(jù)中心的可靠性,因此越來越多的組織開始部署虛擬化平臺。數(shù)據(jù)中心的虛擬化主要包括服務(wù)器和存儲設(shè)備的虛擬化,目前服務(wù)器的虛擬化得到了廣泛應(yīng)用,但存儲設(shè)備虛擬化的進(jìn)展十分緩慢。由于沒有對數(shù)據(jù)存儲方式進(jìn)行優(yōu)化,因此服務(wù)器虛擬化性能在數(shù)據(jù)中心的擴(kuò)展也會受到影響。例如,在一臺服務(wù)器上運行多個虛擬機(jī)實例,即使每臺虛擬機(jī)都在進(jìn)行順序?qū)懀菑姆?wù)器的層面來看是在進(jìn)行隨機(jī)寫。所以服務(wù)器磁盤設(shè)備在虛擬化環(huán)境中都是隨機(jī)讀寫,磁盤設(shè)備讀寫碎片化,隨機(jī)化。對于例如SATA或者SCSI等傳統(tǒng)硬盤而言,由于其隨機(jī)讀寫性能比順序讀寫性能差很多,因此會影響整個系統(tǒng)的數(shù)據(jù)存儲效率。
[0003]目前,現(xiàn)有技術(shù)中也有采用Glusterfs分布式文件系統(tǒng)整合虛擬化服務(wù)器上的磁盤資源,分散各虛擬化服務(wù)器的磁盤輸入輸出的技術(shù)方案,但是該方案并不能有效解決虛擬化環(huán)境中都是隨機(jī)的輸入輸出的問題。

【發(fā)明內(nèi)容】

[0004]基于上述原因,本發(fā)明的目的是提供一種能夠提高磁盤讀寫性能的虛擬服務(wù)器系統(tǒng)及其數(shù)據(jù)讀寫方法。
[0005]與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果在于:
[0006]1、本發(fā)明充分利用了 Glusterfs的模塊化特性,在Glusterfs客戶端模塊中增加一虛擬日志生成模塊,接收虛擬機(jī)的讀寫請求,如果是寫請求,在虛擬日志生成模塊內(nèi)部就把該寫請求緩存到了本地磁盤,避免了寫請求繼續(xù)通過存儲網(wǎng)絡(luò),隨機(jī)寫入Glusterfs服務(wù)器模塊等環(huán)節(jié)。
[0007]2、本發(fā)明在虛擬日志生成模塊中利用后臺線程刷新模塊(Flusher)周期性的從本地磁盤上讀取數(shù)據(jù),并將數(shù)據(jù)通過存儲網(wǎng)絡(luò)同步到Glusterfs服務(wù)器端,完成寫請求數(shù)據(jù)的實際存儲,從而可以在不改變原有硬件設(shè)備的基礎(chǔ)上大幅提高虛擬機(jī)磁盤讀寫性能,減少延遲。
[0008]3、本發(fā)明為虛擬日志生成模塊配置一本地磁盤作為虛擬日志緩存區(qū),這里優(yōu)選使用SSD硬盤,能夠進(jìn)一步提高磁盤讀寫性能。
[0009]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利 要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【專利附圖】

【附圖說明】
[0010]附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0011]圖1是本發(fā)明提供的虛擬服務(wù)器系統(tǒng)的一個實施例的組成結(jié)構(gòu)示意圖;
[0012]圖2是本發(fā)明提供的虛擬服務(wù)器系統(tǒng)的虛擬日志生成模塊封裝寫請求的示意圖;
[0013]圖3是本發(fā)明提供的虛擬服務(wù)器系統(tǒng)的虛擬日志生成模塊接受讀寫請求的處理流程圖。
【具體實施方式】
[0014]為了使本發(fā)明的目的、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0015]另外,在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0016]在介紹本發(fā)明之前,首先解釋本發(fā)明中用到的現(xiàn)有技術(shù)的兩個概念。分別是:
[0017]I) KVM虛擬機(jī)(kernel-based Virtual Machine),是一個開源的服務(wù)器虛擬化模塊,自Linux2.6.20之后集成在Linux的各個主要發(fā)行版本中。KVM虛擬機(jī)目前已成為學(xué)術(shù)界和工業(yè)界主流的虛擬機(jī)監(jiān)視器之一。
[0018]2) Glusterfs,是一個分布式文件系統(tǒng),其具有強(qiáng)大的橫向擴(kuò)展能力,通過擴(kuò)展能夠支持?jǐn)?shù)PB存儲容量和處理數(shù)千個客戶端。Glusterfs借助TCP/IP或InfiniBand RDMA網(wǎng)絡(luò)將物理分布的存儲資源聚集在一起,使用單一全局命名空間來管理數(shù)據(jù)。Glusterfs基于可堆疊的用戶空間設(shè)計,可以為各種不同的數(shù)據(jù)負(fù)載提供支持。
[0019]如圖1所示,是本發(fā)明提供的虛擬服務(wù)器系統(tǒng)100的架構(gòu)示意圖,其包括通過存儲網(wǎng)絡(luò)Iio連接的若干虛擬化服務(wù)器120和Glusterfs服務(wù)器端130:
[0020]每一個虛擬化服務(wù)器120上運行有例如QEMU-KVM的服務(wù)器虛擬化模塊121和Glusterfs客戶端模塊122 ;
[0021]每一個Glusterfs服務(wù)器端130上存儲了虛擬機(jī)映像文件(圖中未示出)。
[0022]在現(xiàn)有技術(shù)中,虛擬化服務(wù)器120的服務(wù)器虛擬化模塊121會向Glusterfs客戶端模塊122發(fā)送虛擬機(jī)的讀寫請求,Glusterf s客戶端模塊122隨后查找虛擬機(jī)映像文件所在的Glusterfs服務(wù)器端130,并向其轉(zhuǎn)發(fā)讀寫請求,當(dāng)Glusterfs服務(wù)器端130完成了相應(yīng)的讀寫請求操作后,立即向Glusterfs客戶端模塊122返回相應(yīng)的操作結(jié)果,Glusterfs客戶端模塊122再向服務(wù)器虛擬化模塊121返回讀寫請求操作結(jié)果。當(dāng)然,如果該讀寫請求是寫請求,那么實際數(shù)據(jù)將會存儲到Glusterfs服務(wù)器端130。
[0023]為了在不改變原系統(tǒng)硬件環(huán)境的基礎(chǔ)上大幅度地提高虛擬機(jī)磁盤I/O性能,提高數(shù)據(jù)讀寫效率,本發(fā)明的發(fā)明人提出對上述系統(tǒng)架構(gòu)做了進(jìn)一步改進(jìn),即在每一個虛擬化服務(wù)器120的Glusterfs客戶端模塊122中增設(shè)一虛擬日志生成模塊123,并為該虛擬日志生成模塊123配置一相應(yīng)的存儲空間,也即虛擬日志緩存區(qū)124,以把虛擬機(jī)的隨機(jī)讀寫以順序讀寫的日志形式記錄到虛擬日志緩存區(qū)124中,同時虛擬日志生成模塊123中的后臺線程刷新模塊(Flusher) 125周期性地訪問虛擬日志緩存區(qū)124,將其中的數(shù)據(jù)通過存儲網(wǎng)絡(luò)110同步到底層的Glusterfs服務(wù)器端130。
[0024]在具體實施時,上述虛擬日志緩存區(qū)124可以采用本地磁盤,如SSD磁盤,以順序的方式存儲虛擬日志生成模塊123發(fā)來的記錄。每當(dāng)有一條新的寫請求時,虛擬日志生成模塊123將該寫請求封裝為一條記錄并發(fā)送到虛擬日志緩存區(qū)124,加到虛擬日志緩存區(qū)124存儲數(shù)據(jù)的尾部。其中,每條記錄可以采用如圖2所示的結(jié)構(gòu)進(jìn)行封裝:
[0025]magic number:記錄的起始標(biāo)識,用于標(biāo)記這是一條記錄;
[0026]seq number:用于標(biāo)記該記錄的順序號;
[0027]vdi id:用于標(biāo)記該讀寫請求對應(yīng)的虛擬機(jī)映像文件的id;
[0028]offset:用于標(biāo)記該寫請求相對于vdi id對應(yīng)文件的偏移量;
[0029]size:用于標(biāo)記該寫請求數(shù)據(jù)的大小,其也決定了實際數(shù)據(jù)data的大??;
[0030]flag:用于標(biāo)記該寫請求對應(yīng)的標(biāo)記和狀態(tài);
[0031]data:該寫請求對應(yīng)的實際數(shù)據(jù),此部分內(nèi)容長度是可變,由size決定;
[0032]magic number:用于標(biāo)記該記錄結(jié)束,以保證該記錄的完整性,以防實際數(shù)據(jù)寫到一半時發(fā)生故障,導(dǎo)致實際數(shù)據(jù)不完整;
[0033]seq number:用于標(biāo)記該記錄結(jié)束。
[0034]其中,每條記錄首尾的magic number和seq number是相同參數(shù)。
[0035]下面結(jié)合圖3詳細(xì)地說明上述虛擬日志生成模塊123在接受讀寫請求時的處理流程:
[0036]S301、接受到一個讀寫請求時;
[0037]S302、判斷該讀寫請求是否為寫請求:
[0038]如果是寫請求,執(zhí)行步驟S303 ;
[0039]如果非寫請求,執(zhí)行步驟S307 ;
[0040]S303、構(gòu)造一條記錄的頭部和尾部,包括magic number, seg number, vdiid, offset, size, flag 等一系列信息;
[0041]S304、計算該記錄在虛擬日志緩存區(qū)中存儲位置偏移量;
[0042]S305、將該記錄寫入虛擬日志緩存區(qū)中;
[0043]S306、確認(rèn)該記錄已寫入虛擬日志緩存區(qū),返回步驟S301 ;
[0044]S307、判斷該讀寫請求是否為讀請求:
[0045]如果是讀請求,執(zhí)行S308 ;
[0046]如果非讀請求,執(zhí)行S309。
[0047]S308、執(zhí)行讀請求,返回步驟S301:
[0048]S309、執(zhí)行其他請求。
[0049]上述實施例中,在接收到讀請求而執(zhí)行步驟S308時,虛擬日志生成模塊123會掃描虛擬日志緩存區(qū)124以查找所需數(shù)據(jù),如果找到,則將相關(guān)數(shù)據(jù)返回給Glusterfs客戶端模塊122,否則向Glusterfs服務(wù)器端130發(fā)送讀請求。
[0050]此外,虛擬日志生成模塊123中的后臺線程刷新模塊(Flusher) 125周期性地訪問虛擬日志緩存區(qū)124,讀取其中的數(shù)據(jù),通過存儲網(wǎng)絡(luò)將數(shù)據(jù)寫入Glusterfs服務(wù)器端130,從而完成寫請求數(shù)據(jù)的實際存儲。
[0051]本領(lǐng)域的技術(shù)人員應(yīng)該明白,本發(fā)明上述各模塊或者各步驟可以利用通用的計算機(jī)硬件設(shè)備來實現(xiàn),它們既可以集中在單個的計算裝置上,也可以分布在由多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。所以,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0052]雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬【技術(shù)領(lǐng)域】內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種虛擬服務(wù)器系統(tǒng),其特征在于,包括: 虛擬化服務(wù)器,其包含有Glusterfs客戶端模塊,所述Glusterfs客戶端模塊包含有虛擬日志生成模塊,所述虛擬日志生成模塊配置有虛擬日志緩存區(qū); Glusterfs服務(wù)器端,其通過存儲網(wǎng)絡(luò)連接所述虛擬化服務(wù)器; 其中,所述虛擬日志生成模塊接收虛擬機(jī)寫請求,把虛擬機(jī)寫請求封裝成記錄,順序地寫入所述虛擬日志緩存區(qū),且所述虛擬日志生成模塊通過后臺線程定期訪問所述虛擬日志緩存區(qū),將其中數(shù)據(jù)通過所述存儲網(wǎng)絡(luò)同步到所述Glusterfs服務(wù)器端。
2.如權(quán)利要求1所述的虛擬服務(wù)器系統(tǒng),其特征在于: 所述虛擬日志生成模塊還接收虛擬機(jī)讀請求,根據(jù)虛擬機(jī)讀請求訪問所述虛擬日志緩存區(qū)以查找相關(guān)數(shù)據(jù),若找到,則將相關(guān)數(shù)據(jù)返回所述Glusterfs客戶端模塊,否則向Glusterfs服務(wù)器端轉(zhuǎn)發(fā)虛擬機(jī)讀請求。
3.如權(quán)利要求2所述的虛擬服務(wù)器系統(tǒng),其特征在于: 所述記錄包括記錄起始標(biāo)識、記錄順序號、寫請求對應(yīng)的虛擬機(jī)映像文件名、寫請求相對于對應(yīng)的虛擬機(jī)映像文件的偏移量、寫請求數(shù)據(jù)大小、寫請求標(biāo)記和狀態(tài)、實際寫數(shù)據(jù)和尾部標(biāo)識信息。
4.如權(quán)利要求1或2所述的虛擬服務(wù)器系統(tǒng),其特征在于: 所述虛擬日志緩存區(qū)為本地存儲設(shè)備。
5.如權(quán)利要求4所述的虛擬`服務(wù)器系統(tǒng),其特征在于: 所述存儲設(shè)備包括SSD硬盤。
6.一種虛擬服務(wù)器系統(tǒng)的數(shù)據(jù)讀寫方法,所述虛擬服務(wù)器系統(tǒng)包括: 虛擬化服務(wù)器,其包含有Glusterfs客戶端模塊,所述Glusterfs客戶端模塊包含有虛擬日志生成模塊,所述虛擬日志生成模塊配置有虛擬日志緩存區(qū); Glusterfs服務(wù)器端,其通過存儲網(wǎng)絡(luò)連接所述虛擬化服務(wù)器; 所述數(shù)據(jù)讀寫方法包括: 寫步驟:虛擬日志生成模塊接收虛擬機(jī)寫請求,把虛擬機(jī)寫請求封裝成記錄,順序地寫入虛擬日志緩存區(qū),且虛擬日志生成模塊通過后臺線程定期訪問虛擬日志緩存區(qū),將其中數(shù)據(jù)通過存儲網(wǎng)絡(luò)同步到Glusterfs服務(wù)器端。
7.如權(quán)利要求6所述的數(shù)據(jù)讀寫方法,其特征在于,所述數(shù)據(jù)讀寫方法還包括: 讀步驟:虛擬日志生成模塊接收虛擬機(jī)讀請求,根據(jù)虛擬機(jī)讀請求訪問虛擬日志緩存區(qū)以查找相關(guān)數(shù)據(jù),若找到,則將相關(guān)數(shù)據(jù)返回Glusterfs客戶端模塊,否則向Glusterfs服務(wù)器端轉(zhuǎn)發(fā)虛擬機(jī)讀請求。
8.如權(quán)利要求7所述的數(shù)據(jù)讀寫方法,其特征在于: 所述寫步驟中,將記錄起始標(biāo)識、記錄順序號、寫請求對應(yīng)的虛擬機(jī)映像文件名、寫請求相對于對應(yīng)的虛擬機(jī)映像文件的偏移量、寫請求數(shù)據(jù)大小、寫請求標(biāo)記和狀態(tài)、實際寫數(shù)據(jù)和記錄尾部標(biāo)識信息封裝成記錄。
【文檔編號】G06F15/16GK103605630SQ201310628083
【公開日】2014年2月26日 申請日期:2013年11月28日 優(yōu)先權(quán)日:2013年11月28日
【發(fā)明者】尹殷, 李俊麗, 田媛媛, 王峻青 申請人:中標(biāo)軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1