本發(fā)明涉及數(shù)據(jù)存儲(chǔ)、容災(zāi)以及備份技術(shù)領(lǐng)域,特別涉及一種用于虛擬磁帶庫(virtualtapelibrary,vtl)服務(wù)器在藍(lán)光光盤存儲(chǔ)/備份系統(tǒng)中的緩存盤數(shù)據(jù)管理系統(tǒng)及方法。
背景技術(shù):
近年來,計(jì)算機(jī)技術(shù)尤其是互聯(lián)網(wǎng)和大數(shù)據(jù)有關(guān)應(yīng)用迅猛發(fā)展,計(jì)算機(jī)數(shù)據(jù)信息量不斷增長(zhǎng)。由此而來的數(shù)據(jù)備份與恢復(fù)的需求也越來越大,數(shù)據(jù)備份與恢復(fù)的技術(shù)也在不斷發(fā)展。隨著磁盤容量的不斷提升、成本不斷下降,由原來的磁帶備份,衍生出基于磁盤的虛擬磁帶庫技術(shù)。而隨著藍(lán)光光盤技術(shù)的不斷提升,在現(xiàn)有的虛擬磁帶庫(virtualtapelibrary)備份的基礎(chǔ)上,湖北第二師范學(xué)院和賽凡公司聯(lián)合研制出基于藍(lán)光光盤庫的虛擬磁帶庫備份產(chǎn)品(bluerayvtl)。
在bluevtl系統(tǒng)中,數(shù)據(jù)要從磁存儲(chǔ)介質(zhì)備份上傳到光存儲(chǔ)介質(zhì),或從光存儲(chǔ)介質(zhì)恢復(fù)到磁存儲(chǔ)介質(zhì)。在這個(gè)過程中,bluevtl系統(tǒng)需要對(duì)磁盤上的緩存數(shù)據(jù)進(jìn)行高效的組織和處理,同時(shí)要保證數(shù)據(jù)的可靠性和一致性。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種用于虛擬磁帶庫(virtualtapelibrary,vtl)服務(wù)器在藍(lán)光光盤存儲(chǔ)/備份系統(tǒng)中的緩存盤數(shù)據(jù)管理系統(tǒng)及方法。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種用于藍(lán)光vtl網(wǎng)關(guān)的緩存管理系統(tǒng),其特征在于:包括虛擬磁帶訪問請(qǐng)求服務(wù)模塊、光盤庫訪問認(rèn)證模塊、虛擬磁帶到光盤匣映射分配模塊、緩存盤配置模塊、緩存盤數(shù)據(jù)處理模塊、對(duì)象存儲(chǔ)api模塊;
所述虛擬磁帶訪問請(qǐng)求服務(wù)模塊用于接收來自虛擬磁帶庫服務(wù)器的所有請(qǐng)求,然后根據(jù)不同的請(qǐng)求調(diào)用光盤庫訪問認(rèn)證模塊、虛擬磁帶到光盤匣映射分配模塊、緩存盤配置模塊或緩存盤數(shù)據(jù)處理模塊,并將執(zhí)行結(jié)果和數(shù)據(jù)返給虛擬磁帶庫服務(wù)器;
所述光盤庫訪問認(rèn)證模塊用于獲取藍(lán)光光盤庫的認(rèn)證信息以及對(duì)象存儲(chǔ)的服務(wù)訪問url地址,并定期更新認(rèn)證信息;
所述虛擬磁帶到光盤匣映射分配模塊用于將虛擬磁帶庫服務(wù)器請(qǐng)求的虛擬磁帶映射到藍(lán)光光盤庫中的光盤匣;
所述緩存盤配置模塊根據(jù)虛擬磁帶庫服務(wù)器配置的磁帶庫信息和磁帶信息,劃分緩存盤的目錄結(jié)構(gòu);
所述緩存盤數(shù)據(jù)處理模塊,根據(jù)虛擬磁帶庫服務(wù)器的加載/卸載磁帶的請(qǐng)求,智能識(shí)別出緩存盤上的過期的磁帶數(shù)據(jù),實(shí)時(shí)動(dòng)態(tài)釋放磁盤空間,從而提高緩存盤的利用率;
所述對(duì)象存儲(chǔ)api模塊用于為所述光盤庫訪問認(rèn)證模塊和緩存盤數(shù)據(jù)處理模塊提供對(duì)藍(lán)光光盤庫的訪問的接口。
本發(fā)明的方法所采用的技術(shù)方案是:一種用于藍(lán)光vtl網(wǎng)關(guān)的緩存管理方法,其特征在于:緩存管理系統(tǒng)用至少三塊物理磁盤構(gòu)成一個(gè)zfs文件系統(tǒng),從而保證緩存盤數(shù)據(jù)在vtl系統(tǒng)異常宕機(jī)的情況下,緩存數(shù)據(jù)的一致性,并確保任何一塊物理盤損壞,不會(huì)致使緩存數(shù)據(jù)丟失。
本發(fā)明不僅解決了磁介質(zhì)與光介質(zhì)訪問的速率匹配、光盤匣切換的時(shí)延、數(shù)據(jù)格式轉(zhuǎn)換、交換數(shù)據(jù)的可靠性/一致性問題,而且解決了多備份客戶端的并發(fā)訪問沖突,并保證了緩存盤的高吞吐量。另外,緩存盤數(shù)據(jù)到光盤庫的延遲更新,可以提升光盤的利用率,降低廢盤率。尤其,從光盤庫重構(gòu)緩存盤基礎(chǔ)數(shù)據(jù)的技術(shù),極大地提高了整個(gè)藍(lán)光vtl系統(tǒng)的可靠性。
附圖說明
圖1是本發(fā)明實(shí)施例的系統(tǒng)結(jié)構(gòu)框圖;
圖2是本發(fā)明實(shí)施例的緩存盤的目錄文件組織結(jié)構(gòu)圖。
具體實(shí)施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)見圖1,本發(fā)明提供的一種用于藍(lán)光vtl網(wǎng)關(guān)的緩存管理系統(tǒng),包括虛擬磁帶訪問請(qǐng)求服務(wù)模塊1、光盤庫訪問認(rèn)證模塊2、虛擬磁帶到光盤匣映射分配模塊3、緩存盤配置模塊4、緩存盤數(shù)據(jù)處理模塊5、對(duì)象存儲(chǔ)(swift)api模塊6;
本實(shí)施例的虛擬磁帶訪問請(qǐng)求服務(wù)模塊1用于接收來自虛擬磁帶庫服務(wù)器的所有請(qǐng)求,然后根據(jù)不同的請(qǐng)求調(diào)用不同的功能模塊(光盤庫訪問認(rèn)證模塊2、虛擬磁帶到光盤匣映射分配模塊3、緩存盤配置模塊4或緩存盤數(shù)據(jù)處理模塊5),并將執(zhí)行結(jié)果和數(shù)據(jù)返給虛擬磁帶庫服務(wù)器。
本實(shí)施例的光盤庫訪問認(rèn)證模塊2用于獲取藍(lán)光光盤庫的認(rèn)證信息以及對(duì)象存儲(chǔ)的服務(wù)訪問(url)地址,并定期更新認(rèn)證信息。
本實(shí)施例的虛擬磁帶到光盤匣映射分配模塊3用于將虛擬磁帶庫服務(wù)器請(qǐng)求的虛擬磁帶映射到藍(lán)光光盤庫中的光盤匣。由于各種類型的虛擬磁帶的容量與一個(gè)光盤匣的容量并不相等,且一般一個(gè)光盤匣的容量相當(dāng)于多個(gè)虛擬磁帶的容量。虛擬磁帶到光盤匣映射分配模塊3的一個(gè)專利特征就是,確保一個(gè)虛擬磁帶只會(huì)分配到一個(gè)光盤匣中,不會(huì)出現(xiàn)一個(gè)虛擬磁帶的數(shù)據(jù)分布到多個(gè)光盤匣的情況。
本實(shí)施例的緩存盤配置模塊4根據(jù)虛擬磁帶庫服務(wù)器配置的磁帶庫信息和磁帶信息,劃分緩存盤的目錄結(jié)構(gòu)。目錄結(jié)構(gòu)如圖2所示,這是本專利的特征之一;目錄由一個(gè)或多個(gè)目錄組構(gòu)成。每個(gè)目錄組有三個(gè)目錄:元數(shù)據(jù)光盤匣id<meta-magazineid>,vtl狀態(tài)(status),數(shù)據(jù)光盤匣<tag-magazineid>。其中meta-magazine指向元數(shù)據(jù)光盤匣,status存放虛擬磁帶庫的操作狀態(tài),tag-magazine里存放的是一個(gè)個(gè)準(zhǔn)備寫入虛擬磁帶的數(shù)據(jù)包。每一個(gè)磁帶的元數(shù)據(jù)在meta-magazine目錄里是一個(gè)子目錄,每一個(gè)磁帶準(zhǔn)備存放(或已經(jīng)存放)的數(shù)據(jù),在tag-magazine里也是在一個(gè)子目錄下。
本實(shí)施例的緩存盤數(shù)據(jù)處理模塊5,根據(jù)虛擬磁帶庫服務(wù)器的加載/卸載磁帶的請(qǐng)求,智能識(shí)別出緩存盤上的過期的磁帶數(shù)據(jù),實(shí)時(shí)動(dòng)態(tài)釋放磁盤空間,從而提高緩存盤的利用率。同時(shí),正在備份的磁帶數(shù)據(jù)與正在做數(shù)據(jù)恢復(fù)的磁帶數(shù)據(jù)在磁盤上是可以并存、并可以并行訪問互補(bǔ)影響,從而提高藍(lán)光vtl網(wǎng)關(guān)的前端、后端的訪問帶寬。這也是本專利的特征之一。此外,所述緩存盤數(shù)據(jù)處理模塊5將緩存磁盤上的數(shù)據(jù)/元數(shù)據(jù)完整上傳地光盤庫,從而提高藍(lán)光vtl網(wǎng)關(guān)的可靠性。
本實(shí)施例的對(duì)象存儲(chǔ)(swift)api模塊6,用于為光盤庫訪問認(rèn)證模塊2和緩存盤數(shù)據(jù)處理模塊5提供對(duì)藍(lán)光光盤庫的訪問的接口。其專利特征是藍(lán)光vtl緩存盤管理系統(tǒng)對(duì)光盤庫的訪問,都是通過對(duì)象存儲(chǔ)(swift)api模塊6實(shí)現(xiàn)的。
以下結(jié)合系統(tǒng)的工作流程對(duì)本發(fā)明做進(jìn)一步的闡述:
藍(lán)光vtl的網(wǎng)關(guān)服務(wù)器在初始化安裝時(shí),選擇至少3塊磁盤構(gòu)成zfs存儲(chǔ)池。該存儲(chǔ)池的文件系統(tǒng)掛載到藍(lán)光vtl的網(wǎng)關(guān)服務(wù)器的系統(tǒng)目錄/var/cache/brgw,并在此zfs文件系統(tǒng)中創(chuàng)建隱藏目錄及文件/var/cache/brgw/.cyphy/.bluevtl/.mounted。緩存盤數(shù)據(jù)處理模塊在每次將緩存盤上的數(shù)據(jù)上傳光盤庫之前,都要檢查/var/cache/brgw/.cyphy/.bluevtl/.mounted是否存在,如果該目錄文件不存在則,緩存盤數(shù)據(jù)不會(huì)上傳到光盤庫,以免破壞光盤庫數(shù)據(jù)與緩存盤數(shù)據(jù)的一致性。
在藍(lán)光vtl系統(tǒng)的正常運(yùn)行時(shí),數(shù)據(jù)備份客戶端將數(shù)據(jù)通過vtl服務(wù)器送到網(wǎng)關(guān)服務(wù)器,網(wǎng)關(guān)服務(wù)器按照附圖一所示,將vtl/tape數(shù)據(jù)寫入相應(yīng)的目錄/文件。緩存盤上的目錄/文件分為元數(shù)據(jù)目錄/文件和磁帶數(shù)據(jù)目錄文件,元數(shù)據(jù)文件記錄光盤匣與磁帶的對(duì)應(yīng)關(guān)系以及相應(yīng)的緩存目錄。磁帶目錄至于其所屬的光盤對(duì)應(yīng)的容器目錄之下。每個(gè)磁帶數(shù)據(jù)目錄下是磁帶數(shù)據(jù)的切片文件,每個(gè)數(shù)據(jù)切片文件的大小不超過64m。緩存盤的根目錄下的文件brgw-status-file記錄所有已被卸載但數(shù)據(jù)還存在于緩存盤上的磁帶名。磁帶的命名在整個(gè)藍(lán)光vtl系統(tǒng)中要具有唯一性,不能重名。
當(dāng)備份客戶端將數(shù)據(jù)寫入緩存盤后,備份客戶端即可以認(rèn)為數(shù)據(jù)備份成功。之后,由本發(fā)明的緩存盤管理系統(tǒng)的后臺(tái)上傳程序?qū)懙焦獗P庫的光盤匣中。
當(dāng)備份客戶端完成數(shù)據(jù)備份并卸載光盤匣后,緩存盤管理系統(tǒng)的后臺(tái)上傳程序會(huì)根據(jù)brgw-status-file的記錄,檢查卸載磁帶的數(shù)據(jù)的置臟標(biāo)志,并將還未上傳光盤庫的數(shù)據(jù)切片文件上傳到光盤庫。最后,該后臺(tái)服務(wù)程序,會(huì)釋放所有已卸載磁帶的緩存盤空間。
在創(chuàng)建一個(gè)虛擬磁帶時(shí),本發(fā)明的虛擬磁帶到光盤匣映射分配模塊,要選擇已分配的且可用空間大于等于一個(gè)磁帶容量的光盤匣,用于分配虛擬磁帶,這樣可以避免一個(gè)磁帶分配到多個(gè)光盤匣的情況,從而進(jìn)一步避免從光盤庫恢復(fù)數(shù)據(jù)時(shí),由于切換光盤匣造成的大于60秒的讀i/o延遲,這樣的讀i/o延遲會(huì)造成備份軟件的數(shù)據(jù)恢復(fù)故障,這也是本發(fā)明重點(diǎn)解決的問題。
本發(fā)明還提供了一種用于藍(lán)光vtl網(wǎng)關(guān)的緩存管理方法,即一種緩存盤目錄/元數(shù)據(jù)文件/數(shù)據(jù)文件的組織方式;緩存管理系統(tǒng)用至少三塊物理磁盤構(gòu)成一個(gè)zfs文件系統(tǒng),從而保證緩存盤數(shù)據(jù)在vtl系統(tǒng)異常宕機(jī)的情況下,緩存數(shù)據(jù)的一致性,并確保任何一塊物理盤損壞,不會(huì)致使緩存數(shù)據(jù)丟失。并在,構(gòu)建該zfs文件系統(tǒng)(或其它journal-based基于日志的文件系統(tǒng))的配置模塊通過對(duì)磁盤打標(biāo)簽(disklabel)的方法,避免磁盤插拔引起的磁盤設(shè)備文件路徑的變化影響zfs文件系統(tǒng)的正確加載。此外,藍(lán)光vtl網(wǎng)關(guān)的緩存管理系統(tǒng)通過緩存盤文件系統(tǒng)中預(yù)先創(chuàng)建的含特殊名稱的隱含目錄和文件,來判別緩存盤文件系統(tǒng)是否已正確加載,從而避免緩存盤數(shù)據(jù)與光盤庫數(shù)據(jù)不一致的問題。
本發(fā)明的緩存盤采用了zfs存儲(chǔ)池的raidz-1的配置方式,該方式可以很好的解決緩存盤的吞吐量、可靠性、數(shù)據(jù)一致性、低成本問題。
本發(fā)明采用了結(jié)合虛擬磁帶的加載/卸載的狀態(tài),動(dòng)態(tài)地對(duì)緩存盤上地?cái)?shù)據(jù)換入/換出,從而提升緩存盤地利用率。
本發(fā)明針對(duì)藍(lán)光光盤庫的光盤匣的使用特點(diǎn),采用了虛擬磁帶的數(shù)據(jù)不跨光盤匣分布的方式,以解決數(shù)據(jù)恢復(fù)時(shí),vtl從光盤庫讀數(shù)據(jù)時(shí),由切換光盤匣造成的延時(shí)問題。
vtl與光盤庫的交換數(shù)據(jù)在緩存盤上的處理過程如下:
1.vtl加載磁帶時(shí),如果是新加入的磁帶,按照附錄一所示創(chuàng)建相應(yīng)的目錄和文件。如果是加載已有的磁盤,則要將光盤庫上的數(shù)據(jù)同步到緩存盤。
2.vtl新增的備份數(shù)據(jù),根據(jù)其所屬的vtl/tape,按照附錄一所示,寫入相應(yīng)的目錄和文件。
3.為提升緩存盤的數(shù)據(jù)吞吐效率,以及光盤的利用率,緩存盤數(shù)據(jù)到光盤庫是延遲寫入。延遲更新控制的門限條件,有三個(gè):(1)每個(gè)數(shù)據(jù)切片已寫滿;(2)元數(shù)據(jù)切片十五分鐘內(nèi)沒有更新。(3)數(shù)據(jù)所屬的磁帶已處于卸載狀態(tài)。當(dāng)這三個(gè)門限條件之一滿足時(shí),被置臟的數(shù)據(jù)就會(huì)被上傳到光盤庫,并從緩存盤上清除。
4.備份客戶端向緩存盤寫入備份數(shù)據(jù)或從緩存盤讀取恢復(fù)數(shù)據(jù),與緩存盤數(shù)據(jù)上傳光盤庫可同時(shí)進(jìn)行互不影響。
5.支持多備份客戶端對(duì)不同的vtl并發(fā)訪問。
6.如果緩存盤意外損毀,可從光盤庫重構(gòu)出緩存盤的基礎(chǔ)數(shù)據(jù)。
7.在緩存盤上創(chuàng)建特殊命名的隱藏目錄和隱藏文件,標(biāo)識(shí)緩存盤是否正確掛載,以保證緩存盤與光盤庫數(shù)據(jù)的一致性。
本實(shí)施例的緩存盤上的基礎(chǔ)數(shù)據(jù)可以全部從光盤庫中重構(gòu)出來。這一專利特征可以極大提升藍(lán)光vtl系統(tǒng)的可靠性。
盡管本說明書較多地使用了虛擬磁帶訪問請(qǐng)求服務(wù)模塊1、光盤庫訪問認(rèn)證模塊2、虛擬磁帶到光盤匣映射分配模塊3、緩存盤配置模塊4、緩存盤數(shù)據(jù)處理模塊5、對(duì)象存儲(chǔ)api模塊6等術(shù)語,但并不排除使用其他術(shù)語的可能性。使用這些術(shù)語僅僅是為了更方便的描述本發(fā)明的本質(zhì),把它們解釋成任何一種附加的限制都是與本發(fā)明精神相違背的。
應(yīng)當(dāng)理解的是,本說明書未詳細(xì)闡述的部分均屬于現(xiàn)有技術(shù)。
應(yīng)當(dāng)理解的是,上述針對(duì)較佳實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護(hù)的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明的請(qǐng)求保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。