專利名稱:從任何群集節(jié)點(diǎn)的數(shù)據(jù)的備份和還原的制作方法
從任何群集節(jié)點(diǎn)的數(shù)據(jù)的備份和還原
背景技術(shù):
背景和相關(guān)技術(shù)計(jì)算機(jī)和計(jì)算系統(tǒng)已經(jīng)影響到了現(xiàn)代生活的幾乎每個(gè)方面。計(jì)算機(jī)通常在工作、 消遣、保健、運(yùn)輸、娛樂(lè)、家政管理等中都有涉獵。此外,計(jì)算系統(tǒng)功能還可以通過(guò)計(jì)算系統(tǒng)的經(jīng)由網(wǎng)絡(luò)連接互連到其他計(jì)算系統(tǒng)的能力來(lái)增強(qiáng)。網(wǎng)絡(luò)連接可包括,但不僅限于,經(jīng)由有線或無(wú)線以太網(wǎng)的連接,蜂窩式連接,或者甚至通過(guò)串行、并行、USB或其它連接的計(jì)算機(jī)到計(jì)算機(jī)的連接。這些連接允許計(jì)算系統(tǒng)訪問(wèn)其他計(jì)算系統(tǒng)上的服務(wù),快速且有效地從其他計(jì)算系統(tǒng)接收應(yīng)用程序數(shù)據(jù),并允許計(jì)算系統(tǒng)以其他方式協(xié)作執(zhí)行計(jì)算任務(wù)。在一些實(shí)施例中,一組節(jié)點(diǎn)(例如,服務(wù)器)被安排成群集。在群集中,如果任何節(jié)點(diǎn)發(fā)生故障,那么群集的其他節(jié)點(diǎn)可透明地接管發(fā)生故障的節(jié)點(diǎn)的工作。其他節(jié)點(diǎn)可重啟應(yīng)用程序并由此繼續(xù)服務(wù)客戶機(jī)而沒(méi)有顯著中斷。該操作一般被稱為故障轉(zhuǎn)移,或故障轉(zhuǎn)移群集。故障轉(zhuǎn)移群集通常實(shí)現(xiàn)“無(wú)共享”存儲(chǔ)模型。即,每一存儲(chǔ)單元(例如,磁盤(pán)或其一部分)由單個(gè)節(jié)點(diǎn)擁有。只有該節(jié)點(diǎn)才可執(zhí)行對(duì)該特定存儲(chǔ)單元的直接輸入/輸出(I/ O)。存儲(chǔ)單元可通過(guò)展示一個(gè)或多個(gè)卷的邏輯單元號(hào)(LUN)來(lái)引用。在該模型中,應(yīng)用程序和磁盤(pán)資源是具有應(yīng)用程序資源和磁盤(pán)資源之間顯式依賴性的共有組(對(duì)應(yīng)于LUN的故障轉(zhuǎn)移單元)的一部分。這提供了某種保證使磁盤(pán)在應(yīng)用程序啟動(dòng)前上線并在應(yīng)用程序退出之后下線。結(jié)果,經(jīng)群集的應(yīng)用程序被約束于該I/O模型,由此需要訪問(wèn)相同磁盤(pán)的任何應(yīng)用程序都需要運(yùn)行在相同的群集節(jié)點(diǎn)上。如上所述,在分布式環(huán)境中節(jié)點(diǎn)可訪問(wèn)通常被稱為L(zhǎng)UN的共享數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)容器是數(shù)據(jù)存儲(chǔ)上、通常被稱為卷的邏輯分配。在群集的情況下,它們被稱為群集卷。數(shù)據(jù)容器進(jìn)而可掛載類似NTFS或FAT的文件系統(tǒng),其中各個(gè)文件可作為邏輯單元來(lái)存儲(chǔ)和管理。 文件可以是此處所引用的數(shù)據(jù)項(xiàng)中的一種。類似地,卷/磁盤(pán)內(nèi)的塊可以是數(shù)據(jù)容器中的另一種數(shù)據(jù)項(xiàng)。如群集共享卷(CSV)(從華盛頓州雷德蒙市的微軟公司獲得的一種技術(shù))的一些群集技術(shù)在各節(jié)點(diǎn)之間協(xié)作,以經(jīng)由代理群集卷向非所有者節(jié)點(diǎn)提供對(duì)數(shù)據(jù)存儲(chǔ)設(shè)備的可直接I/o訪問(wèn)。群集中的一個(gè)節(jié)點(diǎn)擁有該群集卷。群集在全部節(jié)點(diǎn)上展示代理群集卷以允許訪問(wèn)群集卷。群集卷保證了數(shù)據(jù)一致性,因而節(jié)點(diǎn)可以獨(dú)立地訪問(wèn)和修改數(shù)據(jù)。使用代理群集卷,應(yīng)用程序可直接對(duì)數(shù)據(jù)存儲(chǔ)(在當(dāng)前示例中是LUN)進(jìn)行I/O。實(shí)現(xiàn)群集卷的備份操作的現(xiàn)有方案使得用戶將執(zhí)行備份操作的節(jié)點(diǎn)指定為正在備份的群集卷的所有者節(jié)點(diǎn)。群集卷將被掛載在所有者節(jié)點(diǎn)處,并且其他節(jié)點(diǎn)將依賴所有者節(jié)點(diǎn)來(lái)在群集存儲(chǔ)上執(zhí)行操作。由于群集卷一次只能有一個(gè)所有者,這迫使在群集卷上的用戶數(shù)據(jù)備份串行化,意味著在任何給定時(shí)間只有單個(gè)節(jié)點(diǎn)可通過(guò)向所有者節(jié)點(diǎn)發(fā)送更新來(lái)創(chuàng)建備份。為了備份期間的數(shù)據(jù)一致性,全部I/o被轉(zhuǎn)發(fā)至所有者節(jié)點(diǎn),導(dǎo)致網(wǎng)絡(luò)通信量升高,造成顯著降級(jí)的IO性能。在此要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如上述環(huán)境中操作的各個(gè)實(shí)施例。相反,提供該背景僅用以示出在其中可實(shí)踐在此描述的部分實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。
發(fā)明內(nèi)容
此處所示的一個(gè)實(shí)施例包括可以在分布式計(jì)算環(huán)境中實(shí)施的方法。分布式計(jì)算環(huán)境包括多個(gè)計(jì)算系統(tǒng)節(jié)點(diǎn)。該方法包括用于實(shí)現(xiàn)時(shí)間點(diǎn)備份的動(dòng)作。該方法包括,在計(jì)算環(huán)境的第一節(jié)點(diǎn)處經(jīng)由代理群集卷拍攝群集卷的快照。該群集卷存儲(chǔ)文件。拍攝快照包括在群集卷中標(biāo)記時(shí)間點(diǎn)。該方法還包括接收計(jì)算環(huán)境中與第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)將群集卷中的數(shù)據(jù)項(xiàng)從數(shù)據(jù)項(xiàng)的舊版本變更至數(shù)據(jù)項(xiàng)的新版本的通知。 該方法還包括在第一節(jié)點(diǎn)保存數(shù)據(jù)項(xiàng)的舊版本。提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。另外的特征和優(yōu)點(diǎn)將在以下的描述中闡述,并且部分可從該描述中顯而易見(jiàn),或者可以從此處的教示實(shí)踐中習(xí)得。本發(fā)明的各特征和優(yōu)點(diǎn)可以通過(guò)在所附的權(quán)利要求書(shū)中特別指出的手段和組合來(lái)實(shí)現(xiàn)和獲得。本發(fā)明的特征將從以下描述和所附權(quán)利要求書(shū)中變得完全顯而易見(jiàn),或者可通過(guò)如下所述對(duì)本發(fā)明的實(shí)踐而獲知。
為了描述可獲得本主題的上述和其它優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出的本主題的具體實(shí)施方式
來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本主題的更具體描述。應(yīng)該理解,這些附圖僅描繪了各典型實(shí)施例,因此其不應(yīng)被認(rèn)為是對(duì)范圍的限制,各實(shí)施例將通過(guò)使用附圖用附加特征和細(xì)節(jié)來(lái)描述并解釋,在附圖中圖I示出了具有備份和還原功能的示例計(jì)算群集;以及圖2示出了實(shí)現(xiàn)分布式計(jì)算環(huán)境的時(shí)間點(diǎn)備份的方法。
具體實(shí)施例方式此處所述的一些實(shí)施例實(shí)現(xiàn)一插件(本文有時(shí)稱為快照提供者)和可由群集中的任何節(jié)點(diǎn)使用來(lái)備份卷的系統(tǒng)備份基礎(chǔ)架構(gòu)。但仍保留有所有者節(jié)點(diǎn),使得群集卷掛載在該所有者節(jié)點(diǎn)上。代理群集卷被展示來(lái)表示全部節(jié)點(diǎn)上的群集卷。節(jié)點(diǎn)能通過(guò)代理群集卷訪問(wèn)群集卷,并且備份可以是針對(duì)代理群集卷發(fā)起的。沒(méi)有掛載群集卷的節(jié)點(diǎn)仍然可以執(zhí)行備份功能??煺仗峁┱吆蛡浞莼A(chǔ)架構(gòu)可用于創(chuàng)建時(shí)間點(diǎn)圖像,諸如來(lái)自任何群集節(jié)點(diǎn)的群集卷的快照。實(shí)際的快照可以創(chuàng)建在與創(chuàng)建快照的節(jié)點(diǎn)不同的節(jié)點(diǎn)(諸如所有者節(jié)點(diǎn))上??蓪?shí)現(xiàn)各實(shí)施例以保證實(shí)際快照是時(shí)間一致的,與哪些節(jié)點(diǎn)正在修改群集卷的內(nèi)容無(wú)關(guān)??蓪?shí)現(xiàn)各實(shí)施例以促進(jìn)在進(jìn)行備份方面對(duì)用戶的透明性。例如,不知道關(guān)于代理群集卷的任何事情的傳統(tǒng)備份應(yīng)用程序能備份主存在這樣的卷上的數(shù)據(jù)??赏ㄟ^(guò)與可位于不同群集節(jié)點(diǎn)上的群集卷的真實(shí)快照協(xié)作來(lái)透明地維持代理群集卷的時(shí)間點(diǎn)圖像?,F(xiàn)在參考圖I,示出了一個(gè)基本示例。在由圖I所示的示例中,示出了群集102。 群集102包括多個(gè)節(jié)點(diǎn),通過(guò)網(wǎng)絡(luò)103連接的節(jié)點(diǎn)I、節(jié)點(diǎn)2、節(jié)點(diǎn)3和節(jié)點(diǎn)4。節(jié)點(diǎn)2包括底層群集卷104。例如,底層群集卷104可以是諸如FAT32或NTFS文件系統(tǒng)之類的文件系統(tǒng)。文件系統(tǒng)可以和底層數(shù)據(jù)存儲(chǔ)設(shè)備相關(guān)。在圖I所示的示例中,底層群集卷104可連接至數(shù)據(jù)存儲(chǔ)設(shè)備105,數(shù)據(jù)存儲(chǔ)設(shè)備105可以是群集卷104的底層數(shù)據(jù)存儲(chǔ)設(shè)備。數(shù)據(jù)存儲(chǔ)設(shè)備105例如可以是NAS(網(wǎng)絡(luò)附接存儲(chǔ))、SAN(存儲(chǔ)區(qū)域網(wǎng)絡(luò))等。在此處所示的示例中,群集卷104是數(shù)據(jù)存儲(chǔ)設(shè)備105的一部分。群集卷被展示在諸如節(jié)點(diǎn)2之類的所有者節(jié)點(diǎn)上。所有者節(jié)點(diǎn)是對(duì)其掛載群集卷的節(jié)點(diǎn),在此示例中是使用底層數(shù)據(jù)容器104的節(jié)點(diǎn)2。群集卷通過(guò)存在于群集102中的每一節(jié)點(diǎn)的代理群集卷(一般地引用為110,但對(duì)于節(jié)點(diǎn)n2、n3、n4和nl分別具體示為110-0、110-1、110-2和110-3)展示在群集102中的全部群集節(jié)點(diǎn)上。盡管各實(shí)施例可以允許其他節(jié)點(diǎn)通過(guò)向所有者節(jié)點(diǎn)(節(jié)點(diǎn)2)發(fā)送I/O來(lái)訪問(wèn)群集卷,但是此處所示的示例允許各節(jié)點(diǎn)(n3、n4、n2和nl)中的每一個(gè)通過(guò)代理群集卷110在數(shù)據(jù)存儲(chǔ)設(shè)備105上直接執(zhí)行I/O操作。各群集節(jié)點(diǎn)的每一個(gè)包括用于備份或拍攝底層數(shù)據(jù)容器104 (也稱為群集卷)的快照的基礎(chǔ)架構(gòu),一般地引用為112,但對(duì)于節(jié)點(diǎn)n2、n3、n4和nl分別在每一節(jié)點(diǎn)上示為 112-0、112-1、112-2和112-3。在所示示例中,備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112可以僅旨在與本地掛載的卷一起使用。在本示例中,底層群集卷104和數(shù)據(jù)存儲(chǔ)設(shè)備105表現(xiàn)為本地掛載至備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-0的卷。可以通過(guò)創(chuàng)建卷的快照?qǐng)D像來(lái)執(zhí)行備份??煺?qǐng)D像可以經(jīng)由寫(xiě)時(shí)復(fù)制算法來(lái)實(shí)現(xiàn)。這意味著在創(chuàng)建原始快照?qǐng)D像時(shí),快照?qǐng)D像的底層存儲(chǔ)和群集卷是相同的。在要更改群集卷中的數(shù)據(jù)項(xiàng)時(shí),在節(jié)點(diǎn)2處由基礎(chǔ)架構(gòu)112-0 保存數(shù)據(jù)項(xiàng)較舊的版本。以這種方式,快照可呈現(xiàn)群集卷的時(shí)間點(diǎn)圖像而并不制作該卷的完全副本。現(xiàn)在示出節(jié)點(diǎn)參與使用數(shù)據(jù)存儲(chǔ)設(shè)備105并具有用于在代理群集卷上執(zhí)行備份操作的功能,現(xiàn)在請(qǐng)轉(zhuǎn)向關(guān)注節(jié)點(diǎn)3。節(jié)點(diǎn)3包括代理群集卷110-1。代理群集卷110-1允許節(jié)點(diǎn)3直接訪問(wèn)數(shù)據(jù)存儲(chǔ)設(shè)備105。代理群集卷110-1是表示掛載在節(jié)點(diǎn)2中的群集卷的代理卷。類似地,群集102中的全部節(jié)點(diǎn)都能夠通過(guò)存在于那些節(jié)點(diǎn)處的代理群集卷110 的實(shí)例(例如,110-0,110-2和110-3)來(lái)訪問(wèn)群集卷?,F(xiàn)在參考節(jié)點(diǎn)3示出了一具體示例,但應(yīng)當(dāng)理解,群集102中的任何其他節(jié)點(diǎn)(包括所有者節(jié)點(diǎn)節(jié)點(diǎn)2,其包括代理群集卷110-0和快照提供者114-0)可以采取類似的動(dòng)作。 節(jié)點(diǎn)3可以包括備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1。備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1 可被配置為與諸如本地文件系統(tǒng)或本地卷之類的本地?cái)?shù)據(jù)容器一起工作,并可能未被配置為與共享文件系統(tǒng)一起工作。由此,節(jié)點(diǎn)3包括快照提供者114-1,快照提供者114-1可被用作備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1之間的接口以使共享文件系統(tǒng)能夠與備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1—起使用。快照提供者114-1具有兩個(gè)組件,前端和后端。前端 (其可稱為代理快照提供者)是備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1調(diào)用的入口點(diǎn),后端是在節(jié)點(diǎn)2中運(yùn)行的服務(wù)(群集基礎(chǔ)架構(gòu)的一部分),根據(jù)節(jié)點(diǎn)2是群集卷掛載的節(jié)點(diǎn)的事實(shí),節(jié)點(diǎn)2是群集卷的所有者。在節(jié)點(diǎn)3處的備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1僅與前端交互,并且可以不注意后端。
快照提供者114-1向備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1通知快照提供者可創(chuàng)建快照?qǐng)D像并為代理群集卷管理它們的生命周期。由此,備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1 將調(diào)用代理快照提供者114-1以執(zhí)行備份操作??煺仗峁┱?14-1前端將調(diào)用中繼至所有者節(jié)點(diǎn)(節(jié)點(diǎn)2)上的后端,在那里真實(shí)的快照?qǐng)D像得以創(chuàng)建且在群集卷上管理它的生命周期。后端使用所有者節(jié)點(diǎn)上的基礎(chǔ)架構(gòu)112-0來(lái)創(chuàng)建真實(shí)快照?qǐng)D像。例如,來(lái)自節(jié)點(diǎn)3處的備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112-1的備份請(qǐng)求被路由至代理快照提供者114-1,代理快照提供者114-1使得向節(jié)點(diǎn)2處的后端發(fā)送一消息。在節(jié)點(diǎn)2處,基礎(chǔ)架構(gòu)112-0用于在群集卷上設(shè)置快照時(shí)間點(diǎn),這將導(dǎo)致對(duì)群集卷104中的數(shù)據(jù)的后續(xù)更改將被保存。一旦在群集卷上創(chuàng)建了快照,從任何節(jié)點(diǎn)經(jīng)由代理群集卷/代理卷對(duì)該卷的修改就將觸發(fā)至所有者節(jié)點(diǎn)(節(jié)點(diǎn)2)的通知,以在與群集卷相關(guān)聯(lián)的真實(shí)快照?qǐng)D像上執(zhí)行任何必要的寫(xiě)時(shí)復(fù)制。每一群集節(jié)點(diǎn)代表群集卷將其自己的“寫(xiě)時(shí)復(fù)制”狀態(tài)的視圖維護(hù)在代理群集卷上。使用該狀態(tài),群集節(jié)點(diǎn)最小化了對(duì)所有者節(jié)點(diǎn)的寫(xiě)時(shí)復(fù)制請(qǐng)求的數(shù)量。由于所有者節(jié)點(diǎn)執(zhí)行真實(shí)的寫(xiě)時(shí)復(fù)制,即使不同的節(jié)點(diǎn)發(fā)送重復(fù)或重疊請(qǐng)求也可維持正確性。例如,如果節(jié)點(diǎn)3設(shè)法增加或更改群集卷104中的數(shù)據(jù),其將通過(guò)代理群集卷 110-1將數(shù)據(jù)發(fā)送至存儲(chǔ)設(shè)備105。此外,節(jié)點(diǎn)3上的代理群集卷110-1將俘獲對(duì)存儲(chǔ)在群集104中的數(shù)據(jù)項(xiàng)的任何修改,并通過(guò)群集基礎(chǔ)架構(gòu)通知節(jié)點(diǎn)2在群集卷104中某樣?xùn)|西將被更改,這將使得基礎(chǔ)架構(gòu)112-0保存舊數(shù)據(jù)。—些實(shí)施例可以使用從華盛頓州雷德蒙市的微軟公司獲得的卷陰影副本(VSS) 架構(gòu)來(lái)實(shí)現(xiàn)?,F(xiàn)在示出示例。VSS是提供備份和還原基礎(chǔ)架構(gòu)的Windows組件。備份產(chǎn)品使用VSS基礎(chǔ)架構(gòu)向用戶提供備份和還原功能。代理群集卷110是在具有相同接入點(diǎn)(即, 具有相同的名稱空間)的每個(gè)節(jié)點(diǎn)上的群集展示的卷。代理群集卷可支持來(lái)自全部群集節(jié)點(diǎn)的同時(shí)或近乎同時(shí)的讀/寫(xiě)操作。代理快照提供者是承擔(dān)創(chuàng)建代理群集卷的快照(時(shí)間點(diǎn))圖像的責(zé)任的VSS基礎(chǔ)架構(gòu)中的可插入模塊。在所示示例中,代理快照提供者是快照提供者114-0。系統(tǒng)提供者是在VSS基礎(chǔ)架構(gòu)中創(chuàng)建快照?qǐng)D像的可插入模塊。在所示示例中,插件114-4可以是系統(tǒng)提供者。群集服務(wù)提供Windows群集功能。在所示的實(shí)施例中, 它運(yùn)行在每個(gè)群集節(jié)點(diǎn)上。文件系統(tǒng)可掛載在代理卷上,并展示文件語(yǔ)義供應(yīng)用程序使用。 在所示的實(shí)施例中,這也運(yùn)行在每個(gè)群集節(jié)點(diǎn)上。通常,VSS基礎(chǔ)架構(gòu)具有單個(gè)節(jié)點(diǎn)視圖。它僅能與本地卷(非網(wǎng)絡(luò)共享)一起工作,并且還假定僅從那一個(gè)節(jié)點(diǎn)來(lái)訪問(wèn)卷。然而,不管存儲(chǔ)的分布式特性,此處所述的一些實(shí)施例可以向VSS基礎(chǔ)架構(gòu)呈現(xiàn)單個(gè)節(jié)點(diǎn)視圖并對(duì)VSS隱藏代理群集卷的分布式特性。分布式特性意味著對(duì)群集卷的I/o可能在任何時(shí)間來(lái)自任何群集節(jié)點(diǎn)。各實(shí)施例可包括提供者以插入到群集節(jié)點(diǎn)的VSS框架中。該提供者具有兩個(gè)組件,前端和后端。前端是VSS基礎(chǔ)架構(gòu)調(diào)用的入口點(diǎn),后端是在為群集卷的“所有者”的群集節(jié)點(diǎn)中運(yùn)行的服務(wù)。VSS基礎(chǔ)架構(gòu)僅與前端交互,并不注意后端。由于提供者向VSS通知它可創(chuàng)建快照?qǐng)D像并為群集卷管理它們的生命周期,VSS 基礎(chǔ)架構(gòu)將調(diào)用提供者。提供者前端將調(diào)用中繼至“所有者”節(jié)點(diǎn)上的后端,在那里真實(shí)快照?qǐng)D像得以創(chuàng)建且它的生命周期在群集卷上管理。后端使用所有者節(jié)點(diǎn)上的VSS系統(tǒng)提供者在群集卷上創(chuàng)建真實(shí)的快照?qǐng)D像。經(jīng)由系統(tǒng)提供者創(chuàng)建的快照?qǐng)D像可以經(jīng)由寫(xiě)時(shí)復(fù)制算法來(lái)實(shí)現(xiàn)。這意味著在快照?qǐng)D像被創(chuàng)建時(shí),快照?qǐng)D像的底層文件存儲(chǔ)和原始卷是相同的。在文件在原始卷中被更改時(shí), 數(shù)據(jù)的較舊版本被復(fù)制至快照?qǐng)D像中。由此,快照可呈現(xiàn)卷的時(shí)間點(diǎn)圖像而并不制作原始卷的完全副本。再一次,此實(shí)現(xiàn)僅支持本地卷。一旦在通過(guò)代理群集卷展示的群集卷上創(chuàng)建了快照,從任何節(jié)點(diǎn)對(duì)該卷的修改就將觸發(fā)對(duì)“所有者”節(jié)點(diǎn)的通知,以在與群集卷相關(guān)聯(lián)的真實(shí)快照?qǐng)D像上執(zhí)行任何必要的寫(xiě)時(shí)復(fù)制。每一代理群集卷維護(hù)其自己的群集卷的“寫(xiě)時(shí)復(fù)制”狀態(tài)的視圖。使用該狀態(tài),群集節(jié)點(diǎn)最小化了對(duì)“所有者”節(jié)點(diǎn)的寫(xiě)時(shí)復(fù)制請(qǐng)求的數(shù)量。由于所有者節(jié)點(diǎn)執(zhí)行真實(shí)的寫(xiě)時(shí)復(fù)制,即使不同的節(jié)點(diǎn)發(fā)送重復(fù)或重疊請(qǐng)求也可維持正確性。展示給備份應(yīng)用程序的快照?qǐng)D像也是容錯(cuò)的。這意味著如果所有者節(jié)點(diǎn)中的群集卷和/或相關(guān)聯(lián)的快照?qǐng)D像離線并且然后重新上線(在原始節(jié)點(diǎn)或不同的節(jié)點(diǎn)上),那么展示給備份應(yīng)用程序的快照?qǐng)D像將保持存活并且始終是可訪問(wèn)的。各實(shí)施例也可以允許快照?qǐng)D像可從群集中的任何數(shù)量的節(jié)點(diǎn)訪問(wèn)。例如,如果備份應(yīng)用程序需要快照?qǐng)D像展示在全部的群集節(jié)點(diǎn)或其子集上,那么不管哪個(gè)節(jié)點(diǎn)是真實(shí)快照?qǐng)D像的“所有者”,這樣做都是可能的。以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動(dòng)作。雖然用特定次序討論或用以特定次序發(fā)生的流程圖示出了各個(gè)方法動(dòng)作,但除非明確規(guī)定否則不需要特定次序,或因?yàn)橐粍?dòng)作依賴于另一動(dòng)作在執(zhí)行該動(dòng)作之前完成而需要特定次序。此處所示的一個(gè)實(shí)施例包括可以在分布式計(jì)算環(huán)境中實(shí)施的方法200。分布式計(jì)算環(huán)境包括多個(gè)計(jì)算系統(tǒng)節(jié)點(diǎn)。該方法包括用于實(shí)現(xiàn)時(shí)間點(diǎn)備份的動(dòng)作。該方法包括,在計(jì)算環(huán)境的第一節(jié)點(diǎn)處拍攝代理群集卷的快照(動(dòng)作202)。代理群集卷存儲(chǔ)數(shù)據(jù)項(xiàng)(例如, 文件/塊)。拍攝快照包括為后備群集卷中的數(shù)據(jù)項(xiàng)標(biāo)記時(shí)間點(diǎn)。該方法還包括接收計(jì)算環(huán)境中與第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在所標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)通過(guò)代理群集卷將群集卷中的數(shù)據(jù)項(xiàng)從數(shù)據(jù)項(xiàng)的舊版本變更至數(shù)據(jù)項(xiàng)的新版本的通知(動(dòng)作204)。該方法還包括在第一節(jié)點(diǎn)處,存儲(chǔ)數(shù)據(jù)項(xiàng)的舊版本(動(dòng)作206)。方法200可以被實(shí)施,其中第一節(jié)點(diǎn)是將群集卷掛載在第一節(jié)點(diǎn)處的所有者節(jié)點(diǎn)。例如,如圖I所示,將群集卷104掛載至它的節(jié)點(diǎn)2可以是第一節(jié)點(diǎn)的示例。方法200可以被實(shí)施,其中接收計(jì)算環(huán)境中不同于第一節(jié)點(diǎn)的節(jié)點(diǎn)已決定通過(guò)代理群集卷更改群集卷中的數(shù)據(jù)項(xiàng)的通知。代理群集卷用作不同節(jié)點(diǎn)處的應(yīng)用程序或基礎(chǔ)架構(gòu)與擁有節(jié)點(diǎn)上的群集卷之間的接口。在一些實(shí)施例中,插件被配置為通過(guò)對(duì)本身并不具有群集功能的備份應(yīng)用程序或基礎(chǔ)架構(gòu)表現(xiàn)為邏輯存儲(chǔ),來(lái)對(duì)備份應(yīng)用程序或基礎(chǔ)架構(gòu)實(shí)現(xiàn)透明性。例如,快照提供者 114-1允許節(jié)點(diǎn)3中的代理群集卷110-1對(duì)備份應(yīng)用程序表現(xiàn)為本地存儲(chǔ)。在備份應(yīng)用程序和/或基礎(chǔ)架構(gòu)112本身并不支持代理群集卷的實(shí)施例中,這尤其有用。插件可包括前端和后端。前端可以是備份應(yīng)用程序或基礎(chǔ)架構(gòu)調(diào)用的入口點(diǎn),后端可以是運(yùn)行在代理群集卷所有者節(jié)點(diǎn)中的服務(wù)。例如,在圖I中,快照提供者114-1的前端可以是節(jié)點(diǎn)3中的入口點(diǎn),而后端包括運(yùn)行在節(jié)點(diǎn)2中的服務(wù)。后端可以使用所有者節(jié)點(diǎn)本機(jī)的基礎(chǔ)架構(gòu)來(lái)保存數(shù)據(jù)項(xiàng)的舊版本。在圖I所示的示例中,后端可以使用基礎(chǔ)架構(gòu) 112-0,其能通過(guò)底層代理群集卷104容易地訪問(wèn)數(shù)據(jù)存儲(chǔ)設(shè)備105。此外,該方法可以由包括一個(gè)或多個(gè)處理器和諸如計(jì)算機(jī)存儲(chǔ)器等計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)系統(tǒng)來(lái)實(shí)施。具體而言,計(jì)算機(jī)存儲(chǔ)器可以存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,計(jì)算機(jī)可執(zhí)行指令在由一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得執(zhí)行各種功能,如在各實(shí)施方式中所述的那些動(dòng)作。本發(fā)明的各實(shí)施例可以包括或利用含有計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這將在以下做出進(jìn)一步討論。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理介質(zhì)和其他計(jì)算機(jī)可讀介質(zhì)。這些計(jì)算機(jī)可讀介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)系統(tǒng)能夠訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同類型的計(jì)算機(jī)可讀介質(zhì)物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和傳輸計(jì)算機(jī)可讀介質(zhì)。物理計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存儲(chǔ)(如CD、DVD
等)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。“網(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無(wú)線、或者硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。以上介質(zhì)的組合也被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件時(shí),以計(jì)算機(jī)可執(zhí)行的指令或數(shù)據(jù)結(jié)構(gòu)的形式存在的程序代碼裝置可以自動(dòng)地從傳輸計(jì)算機(jī)可讀介質(zhì)傳輸?shù)轿锢碛?jì)算機(jī)可讀存儲(chǔ)介質(zhì) (或者反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳送到計(jì)算機(jī)系統(tǒng)RAM和/ 或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)。因此,計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)可被包括在同樣(或甚至主要)利用傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令包括,例如使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語(yǔ)言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過(guò)網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。本發(fā)明可具體化為其他具體形式而不背離其精神或特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書(shū)而非前述描述指示。落入權(quán)利要求書(shū)的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書(shū)的范圍所涵蓋。
權(quán)利要求
1.一種在包括多個(gè)計(jì)算系統(tǒng)節(jié)點(diǎn)的分布式計(jì)算環(huán)境中實(shí)現(xiàn)時(shí)間點(diǎn)備份的方法,所述方法包括在所述計(jì)算環(huán)境(102)的第一節(jié)點(diǎn)處,通過(guò)代理群集卷(110)拍攝群集卷(104)的快照,所述群集卷(104)存儲(chǔ)數(shù)據(jù)項(xiàng),其中拍攝快照包括標(biāo)記時(shí)間點(diǎn)(202);接收所述計(jì)算環(huán)境(102)中與所述第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在所標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)通過(guò)所述代理群集卷(110)將所述群集卷(104)中的數(shù)據(jù)項(xiàng)從所述數(shù)據(jù)項(xiàng)的舊版本變更至所述數(shù)據(jù)項(xiàng)的新版本的通知(204);以及在所述第一節(jié)點(diǎn)處,保存所述數(shù)據(jù)項(xiàng)的舊版本(206)。
2.如權(quán)利要求I所述的方法,其特征在于,所述第一節(jié)點(diǎn)是將所述群集卷掛載在所述第一節(jié)點(diǎn)處的所有者節(jié)點(diǎn)。
3.如權(quán)利要求I所述的方法,其特征在于,接收所述計(jì)算環(huán)境中不同于所述第一節(jié)點(diǎn)的節(jié)點(diǎn)已決定變更所述群集卷中的數(shù)據(jù)項(xiàng)包括從所述不同的節(jié)點(diǎn)處的代理群集卷接收通知,所述代理群集卷用作應(yīng)用程序和所述群集卷之間的接口。
4.如權(quán)利要求I所述的方法,其特征在于,插件被配置為通過(guò)對(duì)本身并不具有群集功能的備份應(yīng)用程序或基礎(chǔ)架構(gòu)表現(xiàn)為邏輯存儲(chǔ)來(lái)對(duì)所述備份應(yīng)用程序或基礎(chǔ)架構(gòu)實(shí)現(xiàn)透明性。
5.如權(quán)利要求I所述的方法,其特征在于,插件包括前端和后端,其中所述前端是備份應(yīng)用程序或基礎(chǔ)架構(gòu)調(diào)用的入口點(diǎn),所述后端是運(yùn)行在所述第一節(jié)點(diǎn)中的服務(wù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述后端使用所述第一節(jié)點(diǎn)本機(jī)的基礎(chǔ)架構(gòu)來(lái)保存所述數(shù)據(jù)項(xiàng)的舊版本。
7.如權(quán)利要求I所述的方法,其特征在于,在所述計(jì)算環(huán)境的第一節(jié)點(diǎn)處,拍攝群集卷的快照是響應(yīng)于在所述不同節(jié)點(diǎn)處的備份應(yīng)用程序或基礎(chǔ)架構(gòu)指示應(yīng)當(dāng)在所述代理群集卷上拍攝快照,并且從所述不同的節(jié)點(diǎn)發(fā)送消息至所述第一節(jié)點(diǎn)以指示所述第一節(jié)點(diǎn)應(yīng)當(dāng)拍攝所述群集卷的快照而執(zhí)行的。
8.—種包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀指令在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得以下動(dòng)作被執(zhí)行在所述計(jì)算環(huán)境(102)的第一節(jié)點(diǎn)處,通過(guò)代理群集卷(110)拍攝群集卷(104)的快照,所述群集卷(104)存儲(chǔ)數(shù)據(jù)項(xiàng),其中拍攝快照包括標(biāo)記時(shí)間點(diǎn)(202);接收所述計(jì)算環(huán)境(102)中與所述第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在所標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)通過(guò)所述代理群集卷(110)將所述群集卷(104)中的數(shù)據(jù)項(xiàng)從所述數(shù)據(jù)項(xiàng)的舊版本變更至所述數(shù)據(jù)項(xiàng)的新版本的通知(204);以及在所述第一節(jié)點(diǎn)處,保存所述數(shù)據(jù)項(xiàng)的舊版本(206)。
9.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一節(jié)點(diǎn)是將所述代理群集卷掛載在所述第一節(jié)點(diǎn)處的所有者節(jié)點(diǎn)。
10.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,接收所述計(jì)算環(huán)境中不同于所述第一節(jié)點(diǎn)的節(jié)點(diǎn)已決定變更所述群集卷中的數(shù)據(jù)項(xiàng)包括從所述不同的節(jié)點(diǎn)處的代理群集卷接收通知,所述代理群集卷用作在所述不同的節(jié)點(diǎn)處的應(yīng)用程序或基礎(chǔ)架構(gòu)與所述群集卷之間的接口。
11.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,插件被配置為通過(guò)對(duì)本身并不具有群集功能的備份應(yīng)用程序或基礎(chǔ)架構(gòu)表現(xiàn)為邏輯存儲(chǔ)來(lái)對(duì)所述備份應(yīng)用程序或基礎(chǔ)架構(gòu)實(shí)現(xiàn)透明性。
12.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,插件包括前端和后端,其中所述前端是備份應(yīng)用程序或基礎(chǔ)架構(gòu)調(diào)用的入口點(diǎn),所述后端是運(yùn)行在所述第一節(jié)點(diǎn)中的服務(wù)。
13.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述后端使用所述第一節(jié)點(diǎn)本機(jī)的基礎(chǔ)架構(gòu)保存所述數(shù)據(jù)項(xiàng)的舊版本。
14.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在所述計(jì)算環(huán)境的第一節(jié)點(diǎn)處,拍攝群集卷的快照是響應(yīng)于在所述不同節(jié)點(diǎn)處的備份應(yīng)用程序或基礎(chǔ)架構(gòu)指示應(yīng)當(dāng)拍攝快照,并且從所述不同的節(jié)點(diǎn)發(fā)送消息至所述第一節(jié)點(diǎn)以指示所述第一節(jié)點(diǎn)應(yīng)當(dāng)拍攝所述群集卷的快照而執(zhí)行的。
15.一種在計(jì)算環(huán)境中用于實(shí)現(xiàn)時(shí)間點(diǎn)備份的計(jì)算系統(tǒng),所述計(jì)算系統(tǒng)包括一個(gè)或多個(gè)處理器;耦合至所述一個(gè)或多個(gè)處理器的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在被處理器執(zhí)行時(shí)使得一個(gè)或多個(gè)處理器執(zhí)行以下動(dòng)作在所述計(jì)算環(huán)境(102)的第一節(jié)點(diǎn)處,通過(guò)代理群集卷(110)拍攝群集卷(104)的快照,所述群集卷(104)存儲(chǔ)數(shù)據(jù)項(xiàng),其中拍攝快照包括標(biāo)記時(shí)間點(diǎn)(202);接收所述計(jì)算環(huán)境(102)中與所述第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在所標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)通過(guò)所述代理群集卷(110)將所述群集卷(104)中的數(shù)據(jù)項(xiàng)從所述數(shù)據(jù)項(xiàng)的舊版本變更至所述數(shù)據(jù)項(xiàng)的新版本的通知(204);以及在所述第一節(jié)點(diǎn)處,保存所述數(shù)據(jù)項(xiàng)的舊版本(206)。
全文摘要
本發(fā)明涉及從任何群集節(jié)點(diǎn)的數(shù)據(jù)的備份和還原。實(shí)現(xiàn)時(shí)間點(diǎn)備份??梢栽诜植际接?jì)算環(huán)境中實(shí)施一種方法。分布式計(jì)算環(huán)境包括多個(gè)計(jì)算系統(tǒng)節(jié)點(diǎn)。該方法包括在計(jì)算環(huán)境的第一節(jié)點(diǎn)處,拍攝群集卷的快照。群集卷存儲(chǔ)數(shù)據(jù)項(xiàng)(例如,文件/塊)。拍攝快照包括為卷中的數(shù)據(jù)項(xiàng)標(biāo)記時(shí)間點(diǎn)。該方法還包括接收計(jì)算環(huán)境中與第一節(jié)點(diǎn)不同的節(jié)點(diǎn)已決定在所標(biāo)記的時(shí)間點(diǎn)之后的點(diǎn)將群集卷中的數(shù)據(jù)項(xiàng)從數(shù)據(jù)項(xiàng)的舊版本變更至數(shù)據(jù)項(xiàng)的新版本的通知。該方法還包括在第一節(jié)點(diǎn)處,在修改前保存數(shù)據(jù)項(xiàng)的舊版本。
文檔編號(hào)H04L29/08GK102591744SQ20111044011
公開(kāi)日2012年7月18日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者A·達(dá)馬托, J·布拉戈海因, V·R·尚卡爾 申請(qǐng)人:微軟公司