專利名稱:數(shù)據(jù)寫入、讀出方法及裝置、虛擬磁帶庫設備的制作方法
技術(shù)領域:
本發(fā)明涉及數(shù)據(jù)存儲領域,尤其涉及一種數(shù)據(jù)寫入、讀出方法及裝置、虛擬磁帶庫設備。
背景技術(shù):
隨著信息化的普及和數(shù)據(jù)的爆炸式增長,越來越多的用戶開始意識到數(shù)據(jù)保護的重要性?,F(xiàn)有技術(shù)中數(shù)據(jù)的備份方式主要為兩種一種是數(shù)據(jù)從磁盤備份到物理磁帶庫(Disk to Tape library,簡稱D2T)的備份方式,另一種是數(shù)據(jù)從磁盤備份到虛擬磁帶庫(Virtual Tape Library,簡稱VTL),然后再將數(shù)據(jù)從VTL歸檔到物理磁帶庫(Disk to VTLto T即e library,簡稱D2V2T)的備份方式。 在D2T的備份方式中,由于物理磁帶庫的備份窗口較為短暫,不能滿足企業(yè)用戶海量數(shù)據(jù)備份的需求。 D2V2T的備份方式使用VTL作為備份介質(zhì),能夠?qū)崿F(xiàn)數(shù)據(jù)備份的高性能和高可靠性,使用物理磁帶庫作為歸檔介質(zhì),能夠?qū)崿F(xiàn)數(shù)據(jù)的長期離線保存。但是,這種備份方式采用兩種備份設備(VTL和物理磁帶庫),備份成本較高,且需要建立VTL與物理磁帶庫的物理連接,額外的增加了組網(wǎng)成本。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種數(shù)據(jù)寫入、讀出方法及裝置、虛擬磁帶庫設備,達到組網(wǎng)簡單,降低備份成本的技術(shù)效果。 本發(fā)明實施例提供的數(shù)據(jù)寫入方法,包括 當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁盤,所述磁帶配
置信息是在所述磁盤上虛擬磁帶的過程中生成的; 記錄所述磁盤的磁盤標識。 本發(fā)明實施例提供的數(shù)據(jù)讀出方法,包括 當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識; 當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上報給軟件模塊; 當所述軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從所
述磁盤中讀出與所述上報的磁帶配置信息對應的數(shù)據(jù)。 本發(fā)明實施例提供的數(shù)據(jù)寫入裝置,包括 信息寫入模塊,用于當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁盤,所述磁帶配置信息是在所述磁盤上虛擬磁帶的過程中生成的;
記錄模塊,用于記錄所述磁盤的磁盤標識。
本發(fā)明實施例提供的數(shù)據(jù)讀出裝置,包括 信息讀出模塊,用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識;
配置信息上報模塊,用于當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上報給軟件模塊; 數(shù)據(jù)讀出模塊,用于當所述軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配
置信息一致時,從所述磁盤中讀出與所述上報的磁帶配置信息對應的數(shù)據(jù)。
本發(fā)明實施例提供的虛擬磁帶庫設備,包括 數(shù)據(jù)寫入裝置,用于當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁盤;以及,記錄所述磁盤的磁盤標識; 數(shù)據(jù)讀出裝置,用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識;當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上報;以及,當校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從所述磁盤中讀出與所述上報的磁帶配置信息對應的數(shù)據(jù); 軟件模塊,用于在所述磁盤上虛擬磁帶的過程中生成所述磁帶配置信息,以及校
驗所述數(shù)據(jù)讀出裝置上報的磁帶配置信息與生成的磁帶配置信息是否一致; 數(shù)據(jù)和指令接口模塊,用于將接收的數(shù)據(jù)備份指令傳遞給所述數(shù)據(jù)寫入裝置,將
接收的所述數(shù)據(jù)恢復指令傳遞給所述數(shù)據(jù)讀出裝置,以及,接收備份服務器發(fā)送的備份的
數(shù)據(jù),向所述備份服務器發(fā)送恢復的數(shù)據(jù)。 本發(fā)明實施例中,通過將需要備份的數(shù)據(jù)和磁帶配置信息寫入磁盤,并記錄了磁盤ID,使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本發(fā)明實施例采用磁盤作為歸檔介質(zhì),既實現(xiàn)了數(shù)據(jù)的長期離線保存,又有效的降低了成本。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附
圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域
普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例所適用的數(shù)據(jù)備份組網(wǎng)架構(gòu)示意圖; 圖2為本發(fā)明實施例一數(shù)據(jù)寫入方法的流程圖; 圖3為本發(fā)明實施例二數(shù)據(jù)寫入方法的流程圖; 圖4為本發(fā)明實施例三數(shù)據(jù)讀出方法的流程圖; 圖5為本發(fā)明實施例四數(shù)據(jù)讀出方法的流程圖; 圖6為本發(fā)明實施例五數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖; 圖7為本發(fā)明實施例六數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖; 圖8為本發(fā)明實施例七數(shù)據(jù)讀出裝置的結(jié)構(gòu)示意圖; 圖9為本發(fā)明實施例九虛擬磁帶庫設備的結(jié)構(gòu)示意圖。
具體實施例方式
為了使本發(fā)明實施例的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實施例所適用的數(shù)據(jù)備份組網(wǎng)架構(gòu)示意圖,其中虛線表示數(shù)據(jù)備份過程中數(shù)據(jù)的流向。具體地,如圖1所示,若干個應用服務器1將需要備份的數(shù)據(jù)傳遞給備份服務器2 ;備份服務器2通過光纖通道/因特網(wǎng)協(xié)議存儲局域網(wǎng)(Fiber Channel/Internet Protocol Storage Area Network,簡稱FC/IP SAN)將數(shù)據(jù)傳遞給VTL3 ;在數(shù)據(jù)備份過程中,磁盤4插入到VTL3中對應的磁盤槽位,VTL3將數(shù)據(jù)寫入磁盤4中;數(shù)據(jù)備份結(jié)束后,可以將磁盤4從VTL3中拔出,實現(xiàn)了數(shù)據(jù)的離線保存。當需要恢復數(shù)據(jù)時,將磁盤4再插入VTL3中,數(shù)據(jù)的流向與圖1中虛線所示的數(shù)據(jù)流向相反。。
為便于說明,下面詳細介紹本發(fā)明實施例數(shù)據(jù)寫入和數(shù)據(jù)讀出的流程,如下
圖2為本發(fā)明實施例一數(shù)據(jù)寫入方法的流程圖。如圖2所示,本實施例具體包括如下步驟 步驟101、當VTL中的磁盤接口模塊向磁盤寫入數(shù)據(jù)時,將與數(shù)據(jù)對應的磁帶配置
信息寫入磁盤,其中磁帶配置信息是在磁盤上虛擬磁帶的過程中生成的; 當磁盤插入到VTL中時,VTL中的軟件模塊將磁盤虛擬成磁帶,所謂將磁盤虛擬成
磁帶是指將磁盤中的存儲空間進行劃分,每一個存儲空間可以理解為一定長度的磁帶;軟
件模塊為每一個存儲空間生成磁帶配置信息,該磁帶配置信息用于描述該存儲空間的相關
信息,該磁帶配置信息與需要存儲到該存儲空間的數(shù)據(jù)相對應。 當磁盤接口模塊根據(jù)接收到的備份服務器發(fā)送的數(shù)據(jù)備份指令向磁盤寫入數(shù)據(jù)
時,也將與數(shù)據(jù)對應的磁帶配置信息寫入磁盤。 步驟102、磁盤接口模塊記錄磁盤的磁盤標識(ID)。 每一個磁盤都保存有唯一標識自己的磁盤ID,磁盤接口模塊記錄插入磁盤的磁盤ID。 本實施例中,VTL將插入的磁盤虛擬成磁帶,生成磁帶配置信息,并將需要備份的數(shù)據(jù)和磁帶配置信息寫入磁盤,還記錄了磁盤ID,使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 本發(fā)明實施例中,同時插入到VTL中的磁盤的個數(shù)不僅限于一個,還可以為兩個以上,當插入的磁盤個數(shù)為至少兩個時,本發(fā)明實施例采用獨立磁盤冗余陣列(RedundantArray of Ind印endent Disk,簡稱RAID)技術(shù)進行保護,具體內(nèi)容參見實施例二。
圖3為本發(fā)明實施例二數(shù)據(jù)寫入方法的流程圖。本實施例中插入VTL中的磁盤個數(shù)為至少兩個,這些磁盤可組成至少一個RAID組,如圖3所示,本實施例具體包括如下步驟 步驟201、VTL中的數(shù)據(jù)和指令接口模塊接收備份服務器發(fā)送的數(shù)據(jù)備份指令。 步驟202、 VTL中的軟件模塊將磁盤虛擬成磁帶,并生成磁帶配置信息。 軟件模塊將磁盤中的存儲空間進行劃分,每一個存儲空間可以理解為一定長度的
磁帶;軟件模塊為每一個存儲空間生成磁帶配置信息,該磁帶配置信息用于描述該存儲空
間的相關信息,具體可以包括存儲空間的大小,該存儲空間所寫入的數(shù)據(jù)量,存儲空間的
標識,以及該存儲空間所模擬磁帶的格式等等,其中存儲空間的標識用于表明該存儲空間
與其他空間的區(qū)別,該存儲空間的標識可以作為模擬的磁帶的條碼。該磁帶配置信息與需
要存儲到該存儲空間的數(shù)據(jù)相對應。 步驟203、VTL中的磁盤接口模塊將至少兩個磁盤劃分為RAID組,并為每個磁盤生
6成RAID信息。 舉例來說,設磁盤個數(shù)為4個,磁盤接口模塊可以將4個磁盤劃分為兩個RAID組,每個RAID組包括2個磁盤;磁盤接口模塊為每個磁盤生成RAID信息,該RAID信息用于描述該磁盤與哪個磁盤屬于同一 RAID組的信息,具體地該RAID信息可以為RAID配置信息,該RAID配置信息還可以包括RAID級別和RAID條帶深度等信息。
步驟204、磁盤接口模塊記錄RAID信息和磁盤ID。 磁盤接口模塊從磁盤中讀出磁盤ID,并記錄下來,同時還記錄了 RAID信息。磁盤
接口模塊還可以記錄磁盤的狀態(tài)信息,該磁盤的狀態(tài)信息為在線或離線。 步驟205、磁盤接口模塊將從備份服務器接收的數(shù)據(jù)和與之對應的磁帶配置信息
以及RAID信息寫入磁盤。 進一步的,上述步驟201為可選步驟。當不執(zhí)行步驟201時,步驟202-204是在向VTL中插入磁盤的觸發(fā)下執(zhí)行的,步驟205具體為磁盤接口模塊以一定的時間周期將從備份服務器接收的數(shù)據(jù)和與之對應的磁帶配置信息以及RAID信息寫入磁盤。
本實施例中,VTL將插入的磁盤虛擬成磁帶,生成磁帶配置信息,并將需要備份的數(shù)據(jù)和磁帶配置信息寫入磁盤,還記錄了磁盤ID,使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 在現(xiàn)有技術(shù)中,由于VTL中磁盤是不可離線的,如果需要擴充VTL容量,則必須擴充磁盤的數(shù)量和裝載磁盤的磁盤陣列框的數(shù)量。而本實施例中,VTL中的磁盤是可離線的,通過擴充磁盤容量或磁盤個數(shù)即可達到擴充VTL容量的目的,這樣大大降低了 VTL容量擴充的成本。 進一步的,本實施例插入VTL中的磁盤個數(shù)為至少兩個,并采用RAID技術(shù)進行保護,這樣可以使屬于同一 RAID組的磁盤中的數(shù)據(jù)具有容錯機制,也就是當屬于同一 RAID組的兩個以上磁盤同時在線時,可以在屬于同一RAID組的兩個以上磁盤中存儲備份數(shù)據(jù),如果其中一個磁盤損壞,還可以通過剩余的磁盤利用RAID校驗機制恢復數(shù)據(jù),即本實施例提供了容錯機制,提高了離線數(shù)據(jù)的可靠性,避免了現(xiàn)有技術(shù)中因物理磁帶庫中單盤磁帶數(shù)據(jù)丟失而造成備份數(shù)據(jù)無法恢復的問題。 本實施例中VTL為基于磁盤的備份,備份性能較高,數(shù)據(jù)恢復性能也較高,能夠在短時間內(nèi)對業(yè)務系統(tǒng)進行數(shù)據(jù)恢復和備份,提高了恢復時間目標(Recovery Time Object,簡稱RTO)和恢復點目標(Recovery Point Object,簡稱RPO)。 圖4為本發(fā)明實施例三數(shù)據(jù)讀出方法的流程圖。如圖4所示,本實施例具體包括如下步驟 步驟301、當接收到數(shù)據(jù)恢復指令時,VTL中的磁盤接口模塊從磁盤中讀出磁盤ID。 當需要恢復數(shù)據(jù)時,將磁盤再插入到VTL中。磁盤接口模塊中記錄了曾經(jīng)寫入過數(shù)據(jù)的磁盤的磁盤ID,磁盤接口模塊從磁盤中讀出磁盤ID,可以將讀出的磁盤ID與記錄的磁盤ID進行比較。 步驟302、當讀出的磁盤標識與記錄的磁盤標識一致時,磁盤接口模塊從該磁盤中讀出磁帶配置信息,將該磁帶配置信息上報給VTL中的軟件模塊。
7
若步驟301的比較結(jié)果為一致,表明磁盤接口模塊曾經(jīng)向該磁盤寫入過數(shù)據(jù),那么該磁盤中也寫有磁帶配置信息。 磁盤接口模塊從磁盤中讀出磁帶配置信息,并上報給軟件模塊,軟件模塊中保存有曾經(jīng)生成的磁帶配置信息,軟件模塊可以校驗上報的磁帶配置信息與生成的磁帶配置信息是否一致。 步驟303、當軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,磁盤接口模塊從該磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù)。 若步驟302校驗結(jié)果為一致,表明軟件模塊曾經(jīng)為該磁盤生成過磁帶配置信息,那么磁盤接口模塊從該磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù),進而通過數(shù)據(jù)和指令接口模塊將讀出的數(shù)據(jù)傳遞給備份服務器。 本實施例中,當需要恢復數(shù)據(jù)時,將磁盤再插入到VTL中,通過比較VTL寫數(shù)據(jù)時所記錄的和磁盤中讀出的磁盤ID和磁帶配置信息,可以從磁盤中讀出數(shù)據(jù),使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 本發(fā)明實施例中,同時插入到VTL中的磁盤的個數(shù)不僅限于一個,還可以為兩個以上,當插入的磁盤個數(shù)為至少兩個時,本發(fā)明實施例采用RAID技術(shù)進行保護,具體內(nèi)容參見實施例四。 圖5為本發(fā)明實施例四數(shù)據(jù)讀出方法的流程圖。本實施例中插入VTL中的磁盤個數(shù)為至少兩個,這些磁盤可組成至少一個RAID組,如圖5所示,本實施例具體包括如下步驟 步驟401、VTL中的數(shù)據(jù)和指令接口模塊接收備份服務器發(fā)送的數(shù)據(jù)恢復指令。 步驟402、 VTL中的磁盤接口模塊從磁盤中讀出磁盤ID和RAID信息。 磁盤接口模塊中記錄了曾經(jīng)寫入過數(shù)據(jù)的磁盤的磁盤ID,磁盤接口模塊可以將讀
出的磁盤ID與記錄的磁盤ID進行比較;磁盤接口模塊還記錄了曾經(jīng)寫入過數(shù)據(jù)的磁盤的
RAID信息,磁盤接口模塊可以將讀出的RAID信息與記錄的RAID信息進行比較。 步驟403、當讀出的磁盤標識與記錄的磁盤標識一致且讀出的RAID信息與記錄的
RAID信息一致時,磁盤接口模塊從磁盤中讀出磁帶配置信息,將磁盤配置信息上報給軟件模塊。 若步驟402的比較結(jié)果為一致,表明磁盤接口模塊曾經(jīng)向該磁盤寫入過數(shù)據(jù),那么該磁盤中也寫有磁帶配置信息。若步驟402的比較結(jié)果為不一致,則讀數(shù)據(jù)失敗,結(jié)束。
步驟404、軟件模塊校驗上報的磁帶配置信息與生成的磁帶配置信息是否一致。
軟件模塊中保存有曾經(jīng)生成的磁帶配置信息,軟件模塊校驗上報的磁帶配置信息與生成的磁帶配置信息是否一致,當不一致時,讀數(shù)據(jù)失敗,結(jié)束。 步驟405、當軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,磁盤接口模塊從磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù)。 若步驟404校驗結(jié)果為一致,表明軟件模塊曾經(jīng)為該磁盤生成過磁帶配置信息,那么磁盤接口模塊從該磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù),進而通過數(shù)據(jù)和指令接口模塊將讀出的數(shù)據(jù)傳遞給備份服務器。 本實施例中,當需要恢復數(shù)據(jù)時,將磁盤再插入到VTL中,通過比較VTL寫數(shù)據(jù)時
8所記錄的和磁盤中讀出的磁盤ID、 RAID信息和磁帶配置信息,可以從磁盤中讀出數(shù)據(jù),使 得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為 歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。
與現(xiàn)有技術(shù)采用物理磁帶庫離線保存數(shù)據(jù)相比,磁盤的數(shù)據(jù)恢復性能更高。
在現(xiàn)有技術(shù)中,由于VTL中磁盤是不可離線的,如果需要擴充VTL容量,則必須擴 充磁盤的數(shù)量和磁盤陣列框的數(shù)量。而本實施例中,VTL中的磁盤是可離線的,通過擴充磁 盤容量或磁盤個數(shù)即可達到擴充VTL容量的目的,這樣大大降低了 VTL容量擴充的成本。
進一步的,本實施例插入VTL中的磁盤個數(shù)為至少兩個,并采用RAID技術(shù)進行保 護,這樣可以使屬于同一 RAID組的磁盤中的數(shù)據(jù)具有容錯機制,也就是當屬于同一 RAID組 的兩個以上磁盤同時在線時,可以在屬于同一RAID組的兩個以上磁盤中存儲備份數(shù)據(jù),如 果其中一個磁盤損壞,還可以通過剩余的磁盤利用RAID校驗機制恢復數(shù)據(jù),即本實施例提 供了容錯機制,提高了離線數(shù)據(jù)的可靠性,避免了現(xiàn)有技術(shù)中因物理磁帶庫中單盤磁帶數(shù) 據(jù)丟失而造成備份數(shù)據(jù)無法恢復的問題。 本實施例中VTL為基于磁盤的備份,備份性能較高,數(shù)據(jù)恢復性能也較高,能夠在 短時間內(nèi)對業(yè)務系統(tǒng)進行數(shù)據(jù)恢復和備份,提高了 RTO和RPO。 圖6為本發(fā)明實施例五數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖。如圖6所示,本實施例具體 包括信息寫入模塊11和記錄模塊12。其中 信息寫入模塊11用于將與數(shù)據(jù)對應的磁帶配置信息寫入磁盤,磁帶配置信息是
在磁盤上虛擬磁帶的過程中生成的; 記錄模塊12用于記錄磁盤的磁盤ID。 圖6中兩個模塊之間的連接關系是因均與磁盤連接而存在的。 本實施例各個模塊的具體功能可參見方法實施例一的描述,信息寫入模塊11和
記錄模塊12均屬于磁盤接口模塊的內(nèi)部模塊。 具體地說,當根據(jù)接收到的數(shù)據(jù)備份指令向磁盤寫入數(shù)據(jù)時,信息寫入模塊11將 與數(shù)據(jù)對應的磁帶配置信息寫入磁盤,其中磁帶配置信息是在磁盤上虛擬磁帶的過程中由 軟件模塊生成的;記錄模塊12記錄磁盤的磁盤ID。 本實施例所包括的上述功能模塊可以軟件或硬件的方式實現(xiàn)。 本實施例中,信息寫入模塊將磁帶配置信息寫入磁盤,記錄模塊還記錄了磁盤ID,
使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作
為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 圖7為本發(fā)明實施例六數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖。本實施例適用于插入VTL中
的磁盤個數(shù)為至少兩個的情況,如圖7所示,本實施例在上述實施例五的基礎上,進一步包
括RAID控制模塊13。 該RAID控制模塊13用于將RAID信息寫入磁盤。
記錄模塊12還可以用于記錄RAID信息。 本實施例還可以包括數(shù)據(jù)寫入模塊14,用于向磁盤寫入數(shù)據(jù)。 其中RAID控制模塊13也屬于磁盤接口模塊的內(nèi)部模塊,它與數(shù)據(jù)寫入模塊14和
信息寫入模塊11之間的連接關系是因均與磁盤連接而存在的。本實施例各個模塊的具體
功能可參見方法實施例二的描述。
具體地,在數(shù)據(jù)和指令接口模塊接收備份服務器發(fā)送的數(shù)據(jù)備份指令,軟件模塊
將磁盤虛擬成磁帶,并生成磁帶配置信息之后,RAID控制模塊13將至少兩個磁盤劃分為
RAID組,并為每個磁盤生成RAID信息;記錄模塊12記錄RAID信息和磁盤ID ;數(shù)據(jù)寫入模
塊14將從備份服務器接收的數(shù)據(jù)寫入磁盤,信息寫入模塊11將與數(shù)據(jù)對應的磁帶配置信
息寫入磁盤,RAID控制模塊13將RAID信息寫入磁盤。 本實施例所包括的上述功能模塊可以軟件或硬件的方式實現(xiàn)。 本實施例中,數(shù)據(jù)寫入模塊和信息寫入模塊將需要備份的數(shù)據(jù)和磁帶配置信息寫
入磁盤,記錄模塊還記錄了磁盤ID,使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;
本實施例不需要采用物理磁帶庫作為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的連接
關系,組網(wǎng)較為簡單,降低了備份成本。 進一步的,本實施例插入VTL中的磁盤個數(shù)為至少兩個,并采用RAID技術(shù)進行保 護,這樣可以使屬于同一 RAID組的磁盤中的數(shù)據(jù)具有容錯機制,也就是當屬于同一 RAID組 的兩個以上磁盤同時在線時,可以在屬于同一RAID組的兩個以上磁盤中存儲備份數(shù)據(jù),如 果其中一個磁盤損壞,還可以通過剩余的磁盤利用RAID校驗機制恢復數(shù)據(jù),即本實施例提 供了容錯機制,提高了離線數(shù)據(jù)的可靠性,避免了現(xiàn)有技術(shù)中因物理磁帶庫中單盤磁帶數(shù) 據(jù)丟失而造成備份數(shù)據(jù)無法恢復的問題。 圖8為本發(fā)明實施例七數(shù)據(jù)讀出裝置的結(jié)構(gòu)示意圖。如圖8所示,本實施例具體
包括信息讀出模塊21、配置信息上報模塊22和數(shù)據(jù)讀出模塊23。其中 信息讀出模塊21用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識; 配置信息上報模塊22用于當讀出的磁盤標識與記錄的磁盤標識一致時,從磁盤
中讀出磁帶配置信息,將磁帶配置信息上報給軟件模塊; 數(shù)據(jù)讀出模塊23用于當軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置 信息一致時,從磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù)。 信息讀出模塊21和數(shù)據(jù)讀出模塊23之間的連接關系、配置信息上報模塊22和數(shù) 據(jù)讀出模塊23是因均與磁盤連接而存在的。 本實施例各個模塊的具體功能可參見方法實施例三的描述,信息讀出模塊21、配
置信息上報模塊22和數(shù)據(jù)讀出模塊23均屬于磁盤接口模塊的內(nèi)部模塊。 具體地說,當接收到數(shù)據(jù)恢復指令時,信息讀出模塊21從磁盤中讀出磁盤ID ;當
讀出的磁盤標識與記錄的磁盤標識一致時,配置信息上報模塊22從該磁盤中讀出磁帶配
置信息,將該磁帶配置信息上報給VTL中的軟件模塊;當軟件模塊校驗出上報的磁帶配置
信息與生成的磁帶配置信息一致時,數(shù)據(jù)讀出模塊23從該磁盤中讀出與上報的磁帶配置
信息對應的數(shù)據(jù)。 本實施例所包括的上述功能模塊可以軟件或硬件的方式實現(xiàn)。 本實施例中,當需要恢復數(shù)據(jù)時,將磁盤再插入到VTL中,通過比較VTL寫數(shù)據(jù)時
所記錄的和磁盤中讀出的磁盤ID和磁帶配置信息,可以從磁盤中讀出數(shù)據(jù),使得VTL中的
磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為歸檔介質(zhì),
不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 本發(fā)明實施例八適用于插入VTL中的磁盤個數(shù)為至少兩個的情況,本實施例在上 述實施例七的基礎上,進一步的
10
信息讀出模塊21還用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出獨立磁盤冗余 陣列RAID信息;以及,當讀出的磁盤標識與記錄的磁盤標識一致且讀出的RAID信息與記錄 的RAID信息一致時,配置信息上報模塊22用于從磁盤中讀出磁帶配置信息,將磁帶配置信 息上報給軟件模塊。 具體地,在數(shù)據(jù)和指令接口模塊接收備份服務器發(fā)送的數(shù)據(jù)恢復指令之后,信息 讀出模塊21從磁盤中讀出磁盤ID和RAID信息,將讀出的磁盤ID與記錄的磁盤ID進行比 較,將讀出的RAID信息與記錄的RAID信息進行比較;當磁盤ID的比較結(jié)果和RAID信息的 比較結(jié)果均為一致時,配置信息上報模塊22從磁盤中讀出磁帶配置信息,將磁盤配置信息 上報給軟件模塊;在軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時, 數(shù)據(jù)讀出模塊23從磁盤中讀出與上報的磁帶配置信息對應的數(shù)據(jù)。 本實施例中,當需要恢復數(shù)據(jù)時,將磁盤再插入到VTL中,通過比較VTL寫數(shù)據(jù)時 所記錄的和磁盤中讀出的磁盤ID和磁帶配置信息,可以從磁盤中讀出數(shù)據(jù),使得VTL中的 磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實施例不需要采用物理磁帶庫作為歸檔介質(zhì), 不需要建立VTL和物理磁帶庫之間的物理連接,降低了備份成本。 進一步的,本實施例插入VTL中的磁盤個數(shù)為至少兩個,并采用RAID技術(shù)進行保 護,這樣可以使屬于同一 RAID組的磁盤中的數(shù)據(jù)具有容錯機制,也就是當屬于同一 RAID組 的兩個以上磁盤同時在線時,可以在屬于同一RAID組的兩個以上磁盤中存儲備份數(shù)據(jù),如 果其中一個磁盤損壞,還可以通過剩余的磁盤利用RAID校驗機制恢復數(shù)據(jù),即本實施例提 供了容錯機制,提高了離線數(shù)據(jù)的可靠性,避免了現(xiàn)有技術(shù)中因物理磁帶庫中單盤磁帶數(shù) 據(jù)丟失而造成備份數(shù)據(jù)無法恢復的問題。 圖9為本發(fā)明實施例九虛擬磁帶庫設備的結(jié)構(gòu)示意圖。本實施例包括數(shù)據(jù)寫入裝 置和數(shù)據(jù)讀出裝置。其中 數(shù)據(jù)寫入裝置,用于當向磁盤寫入數(shù)據(jù)時,將與數(shù)據(jù)對應的磁帶配置信息寫入磁 盤;以及,記錄磁盤的磁盤標識; 數(shù)據(jù)讀出裝置,用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識;當讀出的 磁盤標識與記錄的磁盤標識一致時,從磁盤中讀出磁帶配置信息,將磁帶配置信息上報;以 及,當校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從磁盤中讀出與上報的 磁帶配置信息對應的數(shù)據(jù)。 進一步的,數(shù)據(jù)寫入裝置包括數(shù)據(jù)寫入模塊31、信息寫入模塊32、記錄模塊33和 RAID控制模塊34。這些模塊的具體功能可以參見實施例五和六。 數(shù)據(jù)讀出裝置包括信息讀出模塊35、配置信息上報模塊36和數(shù)據(jù)讀出模塊37。 這些模塊的具體功能可以參見實施例七和八。 本實施例根據(jù)實際應用對數(shù)據(jù)寫入裝置和數(shù)據(jù)讀出裝置包括的功能模塊進行了 劃分,如圖9所示,上述數(shù)據(jù)寫入裝置和數(shù)據(jù)讀出裝置所包括的功能模塊均屬于磁盤接口 模塊41的內(nèi)部模塊,進一步的,數(shù)據(jù)寫入模塊31和數(shù)據(jù)讀出模塊37同屬于數(shù)據(jù)接口模塊 42的內(nèi)部模塊,信息寫入模塊32、信息讀出模塊35、記錄模塊33和配置信息上報模塊36同 屬于離線磁盤管理模塊43的內(nèi)部模塊。 進一步的,本實施例還包括軟件模塊51及數(shù)據(jù)和指令接口模塊52,其中 軟件模塊51用于在磁盤上虛擬磁帶的過程中生成磁帶配置信息,以及校驗數(shù)據(jù)
11讀出裝置上報的磁帶配置信息與生成的磁帶配置信息是否一致; 數(shù)據(jù)和指令接口模塊52用于將接收的數(shù)據(jù)備份指令傳遞給數(shù)據(jù)寫入裝置,將接 收的數(shù)據(jù)恢復指令傳遞給數(shù)據(jù)讀出裝置,以及,接收備份服務器發(fā)送的備份的數(shù)據(jù),向備份 服務器發(fā)送恢復的數(shù)據(jù)。 上述軟件模塊51可以具體嵌入在操作系統(tǒng)53中(見圖9),操作系統(tǒng)53分別管理 數(shù)據(jù)和指令接口模塊52及磁盤接口模塊41 ,用于傳遞兩者之間交互的指令和數(shù)據(jù)。
另外,本實施例還可以包括管理接口模塊54,該管理接口模塊54用于對VTL進行 管理,它可以與VTL中其他功能模塊均存在連接,用于對其他功能模塊的執(zhí)行功能的情況 進行管理。 本實施例擴展了 VTL中的磁盤接口模塊的功能來支持磁盤可離線,具體地,在磁 盤接口模塊中增加了離線磁盤管理模塊43,從而實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本實 施例不需要采用物理磁帶庫作為歸檔介質(zhì),不需要建立VTL和物理磁帶庫之間的物理連 接,降低了備份成本。另外,本實施例通過擴充磁盤容量或磁盤個數(shù)即可達到擴充VTL容量 的目的,這樣大大降低了 VTL容量擴充的成本;本實施例提供了容錯機制,提高了離線數(shù)據(jù) 的可靠性,避免了現(xiàn)有技術(shù)中因物理磁帶庫中單盤磁帶數(shù)據(jù)丟失而造成備份數(shù)據(jù)無法恢復 的問題。 本領域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過 程序指令相關的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序 在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟,而前述的存儲介質(zhì)包括R0M、 RAM、磁碟或者光 盤等各種可以存儲程序代碼的介質(zhì)。 最后應說明的是以上實施例僅用以說明本發(fā)明實施例的技術(shù)方案,而非對其限 制;盡管參照前述實施例對本發(fā)明實施例進行了詳細的說明,本領域的普通技術(shù)人員應當 理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征 進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明實施例各實 施例技術(shù)方案的精神和范圍。
權(quán)利要求
一種數(shù)據(jù)寫入方法,其特征在于,包括當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁盤,所述磁帶配置信息是在所述磁盤上虛擬磁帶的過程中生成的;記錄所述磁盤的磁盤標識。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)寫入方法,其特征在于,當所述磁盤屬于獨立磁盤冗余 陣列RAID組中的磁盤時,所述方法還包括將RAID信息寫入所述磁盤; 記錄所述RAID信息。
3. —種數(shù)據(jù)讀出方法,其特征在于,包括 當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識;當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所 述磁帶配置信息上報給軟件模塊;當所述軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從所述磁 盤中讀出與所述上報的磁帶配置信息對應的數(shù)據(jù)。
4. 根據(jù)權(quán)利要求3所述的數(shù)據(jù)讀出方法,其特征在于,當所述磁盤屬于獨立磁盤冗余 陣列RAID組中的磁盤時,所述方法還包括從磁盤中讀出RAID信息;所述當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息包 括當讀出的磁盤標識與記錄的磁盤標識一致且讀出的RAID信息與記錄的RAID信息一致 時,從所述磁盤中讀出磁帶配置信息。
5. —種數(shù)據(jù)寫入裝置,其特征在于,包括信息寫入模塊,用于當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁 盤,所述磁帶配置信息是在所述磁盤上虛擬磁帶的過程中生成的; 記錄模塊,用于記錄所述磁盤的磁盤標識。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)寫入裝置,其特征在于,還包括 獨立磁盤冗余陣列RAID控制模塊,用于將RAID信息寫入所述磁盤; 所述記錄模塊還用于記錄所述RAID信息。
7. —種數(shù)據(jù)讀出裝置,其特征在于,包括信息讀出模塊,用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識; 配置信息上報模塊,用于當讀出的磁盤標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上報給軟件模塊;數(shù)據(jù)讀出模塊,用于當所述軟件模塊校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從所述磁盤中讀出與所述上報的磁帶配置信息對應的數(shù)據(jù)。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)讀出裝置,其特征在于所述信息讀出模塊還用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出獨立磁盤冗余陣列RAID信息;所述配置信息上報模塊用于當讀出的磁盤標識與記錄的磁盤標識一致且讀出的RAID 信息與記錄的RAID信息一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上 報給軟件模塊。
9. 一種虛擬磁帶庫設備,其特征在于,包括數(shù)據(jù)寫入裝置,用于當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁 盤;以及,記錄所述磁盤的磁盤標識;數(shù)據(jù)讀出裝置,用于當接收到數(shù)據(jù)恢復指令時,從磁盤中讀出磁盤標識;當讀出的磁盤 標識與記錄的磁盤標識一致時,從所述磁盤中讀出磁帶配置信息,將所述磁帶配置信息上 報;以及,當校驗出上報的磁帶配置信息與生成的磁帶配置信息一致時,從所述磁盤中讀出 與所述上報的磁帶配置信息對應的數(shù)據(jù);軟件模塊,用于在所述磁盤上虛擬磁帶的過程中生成所述磁帶配置信息,以及校驗所 述數(shù)據(jù)讀出裝置上報的磁帶配置信息與生成的磁帶配置信息是否一致;數(shù)據(jù)和指令接口模塊,用于將接收的數(shù)據(jù)備份指令傳遞給所述數(shù)據(jù)寫入裝置,將接收 的所述數(shù)據(jù)恢復指令傳遞給所述數(shù)據(jù)讀出裝置,以及,接收備份服務器發(fā)送的備份的數(shù)據(jù), 向所述備份服務器發(fā)送恢復的數(shù)據(jù)。
10. 根據(jù)權(quán)利要求9所述的虛擬磁帶庫設備,其特征在于,還包括 操作系統(tǒng),所述軟件模塊嵌入在所述操作系統(tǒng)中。
全文摘要
本發(fā)明實施例涉及一種數(shù)據(jù)寫入、讀出方法及裝置、虛擬磁帶庫設備,其中數(shù)據(jù)寫入方法包括當向磁盤寫入數(shù)據(jù)時,將與所述數(shù)據(jù)對應的磁帶配置信息寫入磁盤,所述磁帶配置信息是在所述磁盤上虛擬磁帶的過程中生成的;記錄所述磁盤的磁盤標識。本發(fā)明實施例中,通過將需要備份的數(shù)據(jù)和磁帶配置信息寫入磁盤,并記錄了磁盤ID,使得VTL中的磁盤實現(xiàn)了可離線保存?zhèn)浞輸?shù)據(jù)的功能;本發(fā)明實施例不需要采用物理磁帶庫作為歸檔介質(zhì),組網(wǎng)較為簡單,降低了備份成本。
文檔編號G06F11/14GK101751231SQ20091026106
公開日2010年6月23日 申請日期2009年12月17日 優(yōu)先權(quán)日2009年12月17日
發(fā)明者何非, 方德輝, 陳琳 申請人:成都市華為賽門鐵克科技有限公司