數(shù)據(jù)恢復(fù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)備份及恢復(fù)技術(shù)領(lǐng)域,特別是涉及數(shù)據(jù)恢復(fù)方法及裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)的快速發(fā)展,對數(shù)據(jù)備份的需求也越來越多。傳統(tǒng)地,人們一直采用數(shù)據(jù)復(fù)制、備份、恢復(fù)等技術(shù)來保護重要的數(shù)據(jù)信息,定期對數(shù)據(jù)進行備份或復(fù)制。由于數(shù)據(jù)備份過程會影響應(yīng)用性能,并且非常耗時,因此數(shù)據(jù)備份通常被安排在系統(tǒng)負載較輕時進行(如夜間)。
[0003]顯然,這種數(shù)據(jù)備份方式存在一個顯著的不足,即備份窗口問題。在數(shù)據(jù)備份期間,企業(yè)業(yè)務(wù)需要暫時停止對外提供服務(wù)。隨著企業(yè)數(shù)據(jù)量和數(shù)據(jù)增長速度的加快,這個窗口可能會要求越來越長,這對于關(guān)鍵性業(yè)務(wù)系統(tǒng)來說是無法接受的。因此,就需要將數(shù)據(jù)備份窗口盡可能地縮小,甚至縮小為零,數(shù)據(jù)快照(Snapshot)就是為了滿足這樣的需求而出現(xiàn)的數(shù)據(jù)備份技術(shù)。
[0004]快照是某個數(shù)據(jù)集在某一特定時刻的鏡像,它是這個數(shù)據(jù)集的一個完整可用的只讀副本,因此,也稱為全量快照。為了降低快照所占用的存儲空間,人們提出了寫重定向(ROW, Redirect on Write)快照技術(shù)。具體在使用ROW快照技術(shù)進行數(shù)據(jù)備份時,在主存儲設(shè)備,可以在不同的時間點生成多份快照,每份快照中保存有磁盤在對應(yīng)時刻的數(shù)據(jù)狀態(tài)。之后,可以根據(jù)各份快照中保存的數(shù)據(jù),將各時刻的數(shù)據(jù)轉(zhuǎn)移到備份存儲設(shè)備中進行存儲,同時在備份存儲設(shè)備中也創(chuàng)建相應(yīng)的快照。為了便于區(qū)分,將主存儲中生成的快照稱為“主快照”,將備份存儲設(shè)備中生成的快照稱為“備份快照”。隨著新的主快照的生成,以及數(shù)據(jù)轉(zhuǎn)移操作的執(zhí)行,備份存儲設(shè)備中存儲的備份快照的數(shù)量是逐漸增加的,而主存儲設(shè)備中則一般只保存最近生成的幾份主快照(例如,五份)。
[0005]在按照上述方式進行了數(shù)據(jù)的備份之后,如果發(fā)現(xiàn)主存儲設(shè)備中數(shù)據(jù)丟失等現(xiàn)象,則可以利用備份的數(shù)據(jù),將該數(shù)據(jù)恢復(fù)到過去某時刻的狀態(tài)。但是,如前文所述,由于一些較早之前生成的主快照中保存的數(shù)據(jù)狀態(tài)一般會被轉(zhuǎn)移到備份存儲設(shè)備中存儲,因此,可能會發(fā)生如下情況:當(dāng)需要將主存儲設(shè)備中的數(shù)據(jù)到某時刻的狀態(tài)時,該時刻對應(yīng)的數(shù)據(jù)已經(jīng)被保存到備份存儲設(shè)備中。
[0006]針對這種情況,在現(xiàn)有技術(shù)中,一般會如下進行:首先,將備份存儲設(shè)備中的快照掛載給主機,使主機感知到備份存儲設(shè)備的存在,之后,再由主機讀取備份存儲設(shè)備中備份快照的數(shù)據(jù),進而進行數(shù)據(jù)的恢復(fù)。
[0007]但是,這種方式至少會存在以下問題:由于在數(shù)據(jù)恢復(fù)的過程中,主機需要感知備份存儲設(shè)備的存在,一方面會增大主機的管理復(fù)雜度;另一方面,也可能會使得備份存儲設(shè)備中的數(shù)據(jù)安全性受到威脅,因為一旦主機被植入一些惡意程序,則可能會造成備份存儲設(shè)備中數(shù)據(jù)的泄漏或者被篡改等現(xiàn)象的發(fā)生。再者,由于主機和備份系統(tǒng)兩端的帶寬的大小決定了恢復(fù)的速度,然而在現(xiàn)有的情況下主機和備份系統(tǒng)兩端的帶寬很小,距離較遠,因此導(dǎo)致恢復(fù)所需的時間很長。
[0008]因此,如何在數(shù)據(jù)恢復(fù)的過程中,降低業(yè)務(wù)系統(tǒng)的管理復(fù)雜度,提高備份存儲設(shè)備中的數(shù)據(jù)安全性,提高恢復(fù)的速度,成為需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0009]本發(fā)明實施例中提供了數(shù)據(jù)恢復(fù)方法及裝置,以解決現(xiàn)有技術(shù)中的問題。
[0010]為了解決上述技術(shù)問題,本發(fā)明實施例公開了如下技術(shù)方案:
[0011]第一方面,提供一種數(shù)據(jù)恢復(fù)方法,所述方法應(yīng)用于備份系統(tǒng),所述備份系統(tǒng)包括主存儲設(shè)備和備份存儲設(shè)備,所述方法包括:
[0012]所述主存儲設(shè)備接收主機發(fā)送的數(shù)據(jù)恢復(fù)請求;所述數(shù)據(jù)恢復(fù)請求中攜帶需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識;
[0013]所述主存儲設(shè)備根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識掛載所述備份存儲設(shè)備中的所述第一快照;所述第一快照的標(biāo)識與所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識相同;
[0014]所述主存儲設(shè)備根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識確定所述主存儲設(shè)備中存儲的第二快照;其中所述第二快照為可用快照;并且所述備份存儲設(shè)備中存儲有與所述第二快照具有相同標(biāo)識的快照;
[0015]所述主存儲設(shè)備確定所述第一快照與所述第二快照中共享的所述需要恢復(fù)的數(shù)據(jù)中的第一恢復(fù)數(shù)據(jù);
[0016]所述主存儲設(shè)備向所述主機提供所述第二快照的所述第一恢復(fù)數(shù)據(jù)以及所述第一快照的第二恢復(fù)數(shù)據(jù);其中,所述第二數(shù)據(jù)為所述第一快照包含的所述需要恢復(fù)的數(shù)據(jù)中除所述第一恢復(fù)數(shù)據(jù)外的數(shù)據(jù)。
[0017]第二方面,提供一種數(shù)據(jù)恢復(fù)方法,所述方法應(yīng)用于備份系統(tǒng),所述備份系統(tǒng)包括主存儲設(shè)備和備份存儲設(shè)備,所述方法包括:
[0018]所述備份存儲設(shè)備接收所述主存儲設(shè)備發(fā)送的快照掛載請求;所述快照掛載請求中攜帶所述主存儲設(shè)備需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識;其中所述需要恢復(fù)的數(shù)據(jù)所在的快照為所述主存儲設(shè)備根據(jù)主機發(fā)送的數(shù)據(jù)恢復(fù)請求確定的快照;
[0019]所述備份存儲設(shè)備根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識確定第一快照;所述第一快照與所述需要發(fā)需要恢復(fù)的數(shù)據(jù)所在的快照具有相同的標(biāo)識;
[0020]所述備份存儲設(shè)備將所述第一快照掛載至所述主存儲設(shè)備以用于所述主存儲設(shè)備確定所述需要恢復(fù)的數(shù)據(jù)中的第一恢復(fù)數(shù)據(jù);其中,所述第一恢復(fù)數(shù)據(jù)為第二快照和所述第一快照共享的所述需要恢復(fù)的數(shù)據(jù);所述第二快照為所述主存儲設(shè)備存儲的可用快昭.
[0021]所述備份存儲設(shè)備接收所述主存儲設(shè)備發(fā)送的數(shù)據(jù)請求;
[0022]所述備份存儲設(shè)備根據(jù)所述數(shù)據(jù)請求向所述主存儲設(shè)備發(fā)送第二恢復(fù)數(shù)據(jù);其中,所述第二恢復(fù)數(shù)據(jù)為所述需要恢復(fù)的數(shù)據(jù)中除所述第一恢復(fù)數(shù)據(jù)外的數(shù)據(jù)。
[0023]第三方面,提供一種主存儲設(shè)備,所述主存儲設(shè)備應(yīng)用于備份系統(tǒng),所述備份系統(tǒng)包括所述主存儲設(shè)備和備份存儲設(shè)備,所述主存儲設(shè)備包括:
[0024]接收單元,用于接收主機發(fā)送的數(shù)據(jù)恢復(fù)請求;所述數(shù)據(jù)恢復(fù)請求中攜帶需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識;
[0025]掛載單元,用于根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識掛載所述備份存儲設(shè)備中的所述第一快照;所述第一快照的標(biāo)識與所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識相同;
[0026]確定單元,用于根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識確定所述主存儲設(shè)備中存儲的第二快照;其中所述第二快照為可用快照;并且所述備份存儲設(shè)備中存儲有與所述第二快照具有相同標(biāo)識的快照;以及用于確定所述第一快照與所述第二快照中共享的所述需要恢復(fù)的數(shù)據(jù)中的第一恢復(fù)數(shù)據(jù);
[0027]提供單元,用于向所述主機提供所述第二快照的所述第一恢復(fù)數(shù)據(jù)以及所述第一快照的第二恢復(fù)數(shù)據(jù);其中,所述第二數(shù)據(jù)為所述第一快照包含的所述需要恢復(fù)的數(shù)據(jù)中除所述第一恢復(fù)數(shù)據(jù)外的數(shù)據(jù)。
[0028]第四方面,提供一種備份存儲設(shè)備,所述備份存儲設(shè)備應(yīng)用于備份系統(tǒng),所述備份系統(tǒng)包括主存儲設(shè)備和所述備份存儲設(shè)備,所述備份存儲設(shè)備包括:
[0029]接收單元,用于接收所述主存儲設(shè)備發(fā)送的快照掛載請求;所述快照掛載請求中攜帶所述主存儲設(shè)備需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識;其中所述需要恢復(fù)的數(shù)據(jù)所在的快照為所述主存儲設(shè)備根據(jù)主機發(fā)送的數(shù)據(jù)恢復(fù)請求確定的快照;
[0030]確定單元,用于根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識確定第一快照;所述第一快照與所述需要發(fā)需要恢復(fù)的數(shù)據(jù)所在的快照具有相同的標(biāo)識;
[0031]掛載單元,用于將所述第一快照掛載至所述主存儲設(shè)備以用于所述主存儲設(shè)備確定所述需要恢復(fù)的數(shù)據(jù)中的第一恢復(fù)數(shù)據(jù);其中,所述第一恢復(fù)數(shù)據(jù)為第二快照和所述第一快照共享的所述需要恢復(fù)的數(shù)據(jù);所述第二快照為所述主存儲設(shè)備存儲的可用快照
[0032]所述接收單元還用于接收所述主存儲設(shè)備發(fā)送的數(shù)據(jù)請求;
[0033]發(fā)送單元,用于根據(jù)所述數(shù)據(jù)請求向所述主存儲設(shè)備發(fā)送第二恢復(fù)數(shù)據(jù);其中,所述第二恢復(fù)數(shù)據(jù)為所述需要恢復(fù)的數(shù)據(jù)中除所述第一恢復(fù)數(shù)據(jù)外的數(shù)據(jù)。
[0034]第五方面,提供一種主存儲設(shè)備,所述主存儲設(shè)備應(yīng)用于備份系統(tǒng),所述備份系統(tǒng)包括所述主存儲設(shè)備和備份存儲設(shè)備,所述主存儲設(shè)備包括處理器和存儲器,所述處理器和所述存儲器通過總線通信,所述處理器執(zhí)行所述存儲器中的計算機指令以用于:
[0035]接收主機發(fā)送的數(shù)據(jù)恢復(fù)請求;所述數(shù)據(jù)恢復(fù)請求中攜帶需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識;
[0036]根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識掛載所述備份存儲設(shè)備中的所述第一快照;所述第一快照的標(biāo)識與所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識相同;
[0037]根據(jù)所述需要恢復(fù)的數(shù)據(jù)所在的快照的標(biāo)識確定所述主存儲設(shè)備中存儲的第二快照;其中所述第二快照為可用快照;并且所述備份存儲設(shè)備中存儲有與所述第二快照具有相同標(biāo)識的快照;
[0038]確定所述第一快照與所述第二快照中共享的所述需要恢復(fù)的數(shù)據(jù)中的第一