本發(fā)明屬于數(shù)據(jù)存儲(chǔ)、容災(zāi)以及備份技術(shù)領(lǐng)域,特別涉及一種用于虛擬磁帶庫(kù)(virtualtapelibrary,vtl)服務(wù)器在藍(lán)光光盤存儲(chǔ)/備份系統(tǒng)的管理系統(tǒng)及方法。
背景技術(shù):
近年來(lái),計(jì)算機(jī)技術(shù)尤其是互聯(lián)網(wǎng)和大數(shù)據(jù)有關(guān)應(yīng)用迅猛發(fā)展,計(jì)算機(jī)數(shù)據(jù)信息量不斷增長(zhǎng)。由此而來(lái)的數(shù)據(jù)備份與恢復(fù)的需求也越來(lái)越大,數(shù)據(jù)備份與恢復(fù)的技術(shù)也在不斷發(fā)展。隨著磁盤容量的不斷提升、成本不斷下降,由原來(lái)的磁帶備份,衍生出基于磁盤的虛擬磁帶庫(kù)技術(shù)。而隨著藍(lán)光光盤技術(shù)的不斷提升,在現(xiàn)有的虛擬磁帶庫(kù)(virtualtapelibrary)備份的基礎(chǔ)上,湖北第二師范學(xué)院與賽凡公司研制出基于藍(lán)光光盤庫(kù)的藍(lán)光虛擬磁帶庫(kù)(bd-vtl)。
藍(lán)光虛擬磁帶庫(kù)(bd-vtl)使用藍(lán)光光盤(bluraydisc)作為存儲(chǔ)介質(zhì),通過(guò)i提供磁帶庫(kù)(tl)備份服務(wù)。該系統(tǒng)包括兩部分:藍(lán)光光盤庫(kù)和bd-vtl管理軟件。藍(lán)光光盤庫(kù)提供:數(shù)據(jù)存取接口、光盤移動(dòng)操作(加載到光驅(qū)或從光驅(qū)卸載)、數(shù)據(jù)寫入(刻錄)和讀取接口,以及光盤庫(kù)狀態(tài)查詢和管理接口。
技術(shù)實(shí)現(xiàn)要素:
為了解決如何使用藍(lán)光光盤這種worm存儲(chǔ)介質(zhì)高效地通過(guò)tl協(xié)議提供備份服務(wù),本發(fā)明提供了一種基于藍(lán)光存儲(chǔ)設(shè)備的vtl系統(tǒng)和方法。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種基于藍(lán)光存儲(chǔ)設(shè)備的vtl系統(tǒng),其特征在于:包括vtl服務(wù)器、藍(lán)光網(wǎng)關(guān)服務(wù)器、藍(lán)光光盤庫(kù)管理系統(tǒng);
所述vtl服務(wù)器,通過(guò)iscsi/fc對(duì)外提供基于tl協(xié)議的備份服務(wù),然后根據(jù)不同的請(qǐng)求調(diào)用不同的功能模塊,并將執(zhí)行結(jié)果和數(shù)據(jù)返給備份服務(wù)器;
所述藍(lán)光網(wǎng)關(guān)服務(wù)器,以插件的形式支持多種接口,網(wǎng)關(guān)使用并管理藍(lán)光光盤庫(kù),同時(shí)提供緩存管理和數(shù)據(jù)讀寫接口;所述緩存管理,根據(jù)tl語(yǔ)義和網(wǎng)關(guān)配合來(lái)完成,vtl服務(wù)器通過(guò)緩存管理接口請(qǐng)求讀緩存,同步/刪除寫緩存;
所述藍(lán)光光盤庫(kù)管理系統(tǒng)提供數(shù)據(jù)存取以及管理接口。
本發(fā)明的方法所采用的技術(shù)方案是:一種基于藍(lán)光存儲(chǔ)設(shè)備的vtl方法,其特征在于:元數(shù)據(jù)和用戶數(shù)據(jù)對(duì)應(yīng)不同的存儲(chǔ)方式,分別保存在不同的光盤中,分別使用不同的緩存管理策略;
針對(duì)元數(shù)據(jù),所述方法的具體實(shí)現(xiàn)包括以下原則:
原則a1:bd-vtl啟動(dòng)時(shí),將對(duì)應(yīng)的元數(shù)據(jù)加載到緩存中,bd-vtl下線之前常駐緩存;
原則a2:元數(shù)據(jù)讀寫操作都在緩存中完成;
原則a3:元數(shù)據(jù)數(shù)據(jù)量在下線之前達(dá)到一個(gè)光盤匣的容量時(shí),回刷寫緩存,以保證元數(shù)據(jù)的可靠性;
針對(duì)用戶數(shù)據(jù),所述方法的具體實(shí)現(xiàn)包括以下原則:
原則b1:加載磁帶到磁帶驅(qū)動(dòng)器時(shí),加載磁帶的元數(shù)據(jù)到緩存;
原則b2:對(duì)于前進(jìn)/后退操作,根據(jù)磁帶位置,舍棄該位置之前的緩存,并緩存該位置之后的緩存;
原則b3:對(duì)于用戶有效數(shù)據(jù)之后到磁帶末尾的緩存數(shù)據(jù),使用trim操作將其從緩存中刪除;
原則b4:從磁帶驅(qū)動(dòng)器中卸載磁帶時(shí),回刷磁帶的元數(shù)據(jù)以及用戶數(shù)據(jù)。
本發(fā)明不僅解決了通過(guò)tl協(xié)議使用藍(lán)光光盤這種特殊的存儲(chǔ)介質(zhì)的問(wèn)題,并且結(jié)合tl協(xié)議和藍(lán)光光盤的worm特性,加入了少量的磁盤緩存,高效地解決光盤驅(qū)動(dòng)器的競(jìng)爭(zhēng)問(wèn)題,以及降低藍(lán)光光盤的耗費(fèi)。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例的系統(tǒng)原理圖。
具體實(shí)施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明要解決的技術(shù)問(wèn)題是:如何使用藍(lán)光光盤這種worm存儲(chǔ)介質(zhì)高效地通過(guò)tl協(xié)議提供備份服務(wù)。
本發(fā)明提供的一種基于藍(lán)光存儲(chǔ)設(shè)備的vtl系統(tǒng),包括vtl服務(wù)器、藍(lán)光網(wǎng)關(guān)服務(wù)器、藍(lán)光光盤庫(kù)管理系統(tǒng);
tl虛擬化組件,通過(guò)iscsi/fc對(duì)外提供基于tl協(xié)議的備份服務(wù),然后根據(jù)不同的請(qǐng)求調(diào)用不同的功能模塊,并將執(zhí)行結(jié)果和數(shù)據(jù)返給備份服務(wù)器。
藍(lán)光網(wǎng)關(guān)服務(wù)器,以插件的形式支持多種接口,如文件系統(tǒng)接口,塊接口以及對(duì)對(duì)象接口。網(wǎng)關(guān)使用并管理光盤庫(kù),同時(shí)提供緩存管理和數(shù)據(jù)讀寫接口。由于光盤匣是worm設(shè)備,網(wǎng)關(guān)使用寫緩存減少寫入光盤中的無(wú)效數(shù)據(jù);另外光盤庫(kù)中的光驅(qū)組數(shù)有限,客戶端請(qǐng)求數(shù)據(jù)時(shí),網(wǎng)關(guān)會(huì)將一大塊數(shù)據(jù)從光盤中讀出,緩存到讀緩存。對(duì)緩存的管理,根據(jù)tl語(yǔ)義和網(wǎng)關(guān)配合來(lái)完成。tl虛擬化組件通過(guò)緩存管理接口請(qǐng)求讀緩存,同步/刪除寫緩存。緩存保存在本地raid,以提高可靠性。
藍(lán)光光盤庫(kù)管理系統(tǒng)提供最基本的數(shù)據(jù)存取以及管理接口,如光盤移動(dòng)、數(shù)據(jù)讀取和刻錄等。
bd-vtl存儲(chǔ)后端可以使用不同的接口,例如塊,文件系統(tǒng),對(duì)象存儲(chǔ)等。bd-vtl考慮了性能、vtl語(yǔ)義以及存儲(chǔ)介質(zhì)特性,使用緩存以及數(shù)據(jù)分離的方式降低用戶使用這種特殊的大容量設(shè)備。
數(shù)據(jù)分離是指用戶數(shù)據(jù)(userdata)和元數(shù)據(jù)(metadata)分離,其中changer、drive以及iscsi配置都是元數(shù)據(jù);tape包括這兩部分?jǐn)?shù)據(jù),元數(shù)據(jù)包括tape自身的描述以及用戶數(shù)據(jù)的組織,另外一部分就是備份軟件寫入的用戶數(shù)據(jù)。
元數(shù)據(jù)的特性:數(shù)據(jù)量小,更新頻率高,訪問(wèn)頻率高。需要常駐緩存,并減少緩存回刷操作。用戶數(shù)據(jù)的特性:數(shù)據(jù)量大,更新和訪問(wèn)頻度不易控制。使用時(shí)常駐內(nèi)存,加載tape到drive時(shí),同時(shí)進(jìn)行讀緩存請(qǐng)求操作,所有寫入操作都在緩存中完成。從drive中卸載tape時(shí),將緩存回刷至光盤。
bd-vtl管理軟件包括網(wǎng)關(guān)和tl虛擬化組件(vtl服務(wù)器)。網(wǎng)關(guān)使用并管理光盤庫(kù),同時(shí)提供緩存管理和數(shù)據(jù)讀寫接口。由于光盤匣是worm設(shè)備,網(wǎng)關(guān)使用寫緩存減少寫入光盤中的無(wú)效數(shù)據(jù);另外光盤庫(kù)中的光驅(qū)組數(shù)有限,客戶端請(qǐng)求數(shù)據(jù)時(shí),網(wǎng)關(guān)會(huì)將一大塊數(shù)據(jù)從光盤中讀出到讀緩存。對(duì)緩存的管理,需要根據(jù)tl語(yǔ)義和網(wǎng)關(guān)配合來(lái)完成。tl虛擬化組件通過(guò)緩存管理接口請(qǐng)求讀緩存,同步/刪除寫緩存。
tl虛擬化組件對(duì)外提供tl服務(wù)。它使用藍(lán)光光盤作為存儲(chǔ)后端,通過(guò)上述三種接口(文件系統(tǒng)接口、塊接口以及對(duì)對(duì)象接口)來(lái)完成數(shù)據(jù)存儲(chǔ)和tl管理操作。元數(shù)據(jù)和用戶數(shù)據(jù)分離存放,便于緩存請(qǐng)求和同步。不同類型的數(shù)據(jù)有不同的緩存策略。元數(shù)據(jù)包括tl中changer/drive/tape的配置信息,以及tape數(shù)據(jù)分布格式。前者會(huì)在tl加載時(shí),保存到讀緩存,并在tl提供服務(wù)期間駐留在緩存中。后者則是在tape被加載到drive后,加載并駐留緩存的,卸載時(shí)數(shù)據(jù)同步到光盤匣。tl的用戶數(shù)據(jù)部分,tape加載到drive后,根據(jù)tape位置,緩存該位置之后的數(shù)據(jù),以降低緩存占用量,并保證備份軟據(jù)讀寫數(shù)據(jù)過(guò)程中的不會(huì)由于數(shù)據(jù)不在緩存導(dǎo)致超時(shí)。對(duì)tape的后退(rewind)操作,需要在數(shù)據(jù)到達(dá)緩存后完成。對(duì)tape的前進(jìn)(fastforward)操作,觸發(fā)回刷或舍棄不需要的緩存數(shù)據(jù)。
為了支持提供超大容量的tape,tl虛擬化組件將一個(gè)tape被分割成一個(gè)或多個(gè)小的存儲(chǔ)單元。對(duì)tape的讀寫操作可以轉(zhuǎn)換成多個(gè)小單元的讀寫操作,這些操作可以并行提交異步完成。另外支持對(duì)象的trim操作,可以降低實(shí)際占用空間,也減少光盤的使用量。
請(qǐng)見圖1,本發(fā)明提供的一種基于藍(lán)光存儲(chǔ)設(shè)備的vtl方法,元數(shù)據(jù)和用戶數(shù)據(jù)對(duì)應(yīng)不同的存儲(chǔ)方式,分別保存在不同的光盤中,分別使用不同的緩存管理策略;
a)元數(shù)據(jù):
i.bd-vtl啟動(dòng)時(shí),將對(duì)應(yīng)的元數(shù)據(jù)加載到緩存中,bd-vtl下線之前常駐緩存
ii.元數(shù)據(jù)讀寫操作都在緩存中完成
iii.元數(shù)據(jù)數(shù)據(jù)量在下線之前達(dá)到一個(gè)光盤匣的容量時(shí),回刷寫緩存,以保證元數(shù)據(jù)的可靠性
b)用戶數(shù)據(jù):
i.加載磁帶到磁帶驅(qū)動(dòng)器時(shí),加載磁帶的元數(shù)據(jù)到緩存
ii.對(duì)于前進(jìn)/后退操作,根據(jù)磁帶位置,舍棄該位置之前的緩存,并緩存該位置之后的緩存
iii.對(duì)于用戶有效數(shù)據(jù)之后到磁帶末尾的緩存數(shù)據(jù),使用trim操作將其從緩存中刪除
iv.從磁帶驅(qū)動(dòng)器中卸載磁帶時(shí),回刷磁帶的元數(shù)據(jù)以及用戶數(shù)據(jù)
c)緩存使用raid或其他方式提供大容量和可靠性
d)數(shù)據(jù)分片層:無(wú)論是元數(shù)據(jù)還是用戶數(shù)據(jù),都會(huì)被分片保存,通過(guò)并行的方式上傳到藍(lán)光存儲(chǔ)系統(tǒng),以及下載到緩存中,以提高性能,同時(shí)支持trim操作
本發(fā)明的存儲(chǔ)介質(zhì)采用了大量的藍(lán)光介質(zhì)和少量的磁盤緩存,加上合理的設(shè)計(jì),可以充分的利用藍(lán)光介質(zhì)的worm特性,提供一種高吞吐量、高可靠性、數(shù)據(jù)一致性、低成本的備份系統(tǒng)。
本發(fā)明采用了結(jié)合tl協(xié)議的實(shí)現(xiàn)和藍(lán)光設(shè)備特性,動(dòng)態(tài)地定制化地進(jìn)行緩存管理,從而使用有限的緩存空間,提供高吞吐量,并減少藍(lán)光存儲(chǔ)的耗費(fèi)。
本發(fā)明的技術(shù)實(shí)現(xiàn)要點(diǎn)以及與現(xiàn)有方案對(duì)比如下:
1.bd-vtl中使用raid用于保護(hù)寫入藍(lán)光光盤之前的緩存數(shù)據(jù),使用緩存是為了更充分利用網(wǎng)絡(luò)帶寬(提高備份速度)以及減少藍(lán)光光盤的損耗。
2.相對(duì)于磁帶,藍(lán)光光盤可以組成raid來(lái)提供可靠性保證,并且可以提供更高的帶寬,一個(gè)光盤匣(包括多個(gè)藍(lán)光光盤)的順序讀寫帶寬與磁盤相當(dāng)。
3.現(xiàn)有技術(shù)中,備份數(shù)據(jù)先寫入磁盤陣列,再歸檔到物理磁帶庫(kù),目的是為了提高備份帶寬和可靠性,bd-vtl使用一部分緩存以及藍(lán)光光盤,可以滿足這兩方面的需求。
4.bd-vtl于藍(lán)光光盤庫(kù)交互時(shí),可以使用文件系統(tǒng)/塊/對(duì)象接口,數(shù)據(jù)可以備份到本地或者云端。
5.bd-vtl備份流程。
a)備份服務(wù)器通過(guò)特定協(xié)議(例如iscsi)連接bd-vtl,并寫入數(shù)據(jù);
b)數(shù)據(jù)寫入本地緩存,并根據(jù)需要,回刷數(shù)據(jù)到藍(lán)光光盤庫(kù);
c)備份結(jié)束后,所有用戶數(shù)據(jù)和元數(shù)據(jù)回刷到藍(lán)光光盤庫(kù);
6.bd-vtl恢復(fù)流程;
a)備份服務(wù)器通過(guò)特定協(xié)議(iscsi/fc)連接bd-vtl,恢復(fù)操作開始;
b)數(shù)據(jù)從光盤庫(kù)中讀出,并寫入讀緩存,同時(shí)被傳輸?shù)絺浞莘?wù)器;
c)恢復(fù)結(jié)束后,所有用戶數(shù)據(jù)和元數(shù)據(jù)都會(huì)在適當(dāng)?shù)臅r(shí)刻從緩存中移除。
bd-vtl的部署包括兩部分tl虛擬化組件以及網(wǎng)關(guān)服務(wù)器。tl虛擬化組件與網(wǎng)關(guān)服務(wù)器位于同一個(gè)lan中,通過(guò)自定義的協(xié)議進(jìn)行通信。在具體實(shí)施部署時(shí),二者可以位于同一個(gè)臺(tái)服務(wù)器中。
bd-vtl系統(tǒng)的正常運(yùn)行時(shí),數(shù)據(jù)備份客戶端將數(shù)據(jù)通過(guò)vtl服務(wù)器送到網(wǎng)關(guān)服務(wù)器,網(wǎng)關(guān)服務(wù)器按照附圖1所示,將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ù)切片文件的大小不超過(guò)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庫(kù)的光盤匣中。
當(dāng)備份客戶端完成數(shù)據(jù)備份并卸載光盤匣后,緩存盤管理系統(tǒng)的后臺(tái)上傳程序會(huì)根據(jù)brgw-status-file的記錄,檢查卸載磁帶的數(shù)據(jù)的置臟標(biāo)志,并將還未上傳光盤庫(kù)的數(shù)據(jù)切片文件上傳到光盤庫(kù)。最后,該后臺(tái)服務(wù)程序,會(huì)釋放所有已卸載磁帶的緩存盤空間。
在創(chuàng)建一個(gè)虛擬磁帶時(shí),本發(fā)明的虛擬磁帶到光盤匣映射分配模塊,要選擇已分配的且可用空間大于等于一個(gè)磁帶容量的光盤匣,用于分配虛擬磁帶,這樣可以避免一個(gè)磁帶分配到多個(gè)光盤匣的情況,從而進(jìn)一步避免從光盤庫(kù)恢復(fù)數(shù)據(jù)時(shí),由于切換光盤匣造成的大于60秒的讀i/o延遲,這樣的讀i/o延遲會(huì)造成備份軟件的數(shù)據(jù)恢復(fù)故障,這也是本發(fā)明重點(diǎn)解決的問(wèn)題。
應(yīng)當(dāng)理解的是,本說(shuō)明書未詳細(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)。