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