两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

存儲(chǔ)網(wǎng)絡(luò)中的增量備份操作的制作方法

文檔序號(hào):6650340閱讀:195來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):存儲(chǔ)網(wǎng)絡(luò)中的增量備份操作的制作方法
技術(shù)領(lǐng)域
所述主題涉及電子計(jì)算,更具體來(lái)說(shuō),涉及存儲(chǔ)網(wǎng)絡(luò)中的增量備份操作。
背景技術(shù)
復(fù)制和存儲(chǔ)存儲(chǔ)裝置的內(nèi)容的能力是存儲(chǔ)系統(tǒng)的一個(gè)重要特征。數(shù)據(jù)可并行地存儲(chǔ),以防單個(gè)存儲(chǔ)裝置或介質(zhì)出故障。在第一存儲(chǔ)裝置或介質(zhì)出故障時(shí),系統(tǒng)則可檢索第二存儲(chǔ)裝置或介質(zhì)中包含的數(shù)據(jù)的副本。復(fù)制和存儲(chǔ)存儲(chǔ)裝置的內(nèi)容的能力還有助于在復(fù)制時(shí)內(nèi)容的固定記錄的創(chuàng)建。這個(gè)特征允許用戶(hù)恢復(fù)無(wú)意中編輯或擦除的數(shù)據(jù)的先前版本。
存在與復(fù)制和存儲(chǔ)存儲(chǔ)裝置的內(nèi)容關(guān)聯(lián)的空間和處理成本。例如,一些存儲(chǔ)裝置在其內(nèi)容正被復(fù)制時(shí)無(wú)法接受輸入/輸出(I/O)操作。此外,用來(lái)保存副本的存儲(chǔ)空間無(wú)法用于其它存儲(chǔ)需求。
存儲(chǔ)系統(tǒng)和存儲(chǔ)軟件產(chǎn)品可提供制作盤(pán)卷的時(shí)間點(diǎn)副本的方式。在這些產(chǎn)品的一部分中,可極快地制作副本,而不會(huì)明顯地干擾使用盤(pán)卷的應(yīng)用。在另一些產(chǎn)品中,通過(guò)共享存儲(chǔ)而不是復(fù)制全部盤(pán)卷數(shù)據(jù),可使副本節(jié)省空間。
但是,用于復(fù)制數(shù)據(jù)文件的已知方法包含限制。一部分已知的盤(pán)復(fù)制方法沒(méi)有提供快速?gòu)?fù)制。另一些已知的盤(pán)復(fù)制方法解決方案不節(jié)省空間。又一些已知的盤(pán)復(fù)制方法提供快速且節(jié)省空間的快照,但不是在可縮放、分布式、表驅(qū)動(dòng)的虛擬存儲(chǔ)系統(tǒng)中進(jìn)行這類(lèi)操作。因此,在存儲(chǔ)裝置中仍然需要改進(jìn)的復(fù)制操作。

發(fā)明內(nèi)容
在一個(gè)示范實(shí)現(xiàn)中,一種計(jì)算方法可在存儲(chǔ)網(wǎng)絡(luò)中的處理器中實(shí)現(xiàn)。該方法包括在第一時(shí)間點(diǎn)產(chǎn)生源卷的快照克?。煌瑫r(shí)激活在邏輯上鏈接到快照克隆的第一快照差別文件;將改變?cè)淳碇械臄?shù)據(jù)集的I/O操作記錄到第一快照差別文件中;關(guān)閉第一快照差別文件;在第一時(shí)間點(diǎn)之后,在第二時(shí)間點(diǎn)產(chǎn)生快照克隆的備份副本;以及在第二時(shí)間點(diǎn)之后,在第三時(shí)間點(diǎn)產(chǎn)生第一快照差別文件的備份副本。


圖1是利用存儲(chǔ)網(wǎng)絡(luò)的連網(wǎng)計(jì)算系統(tǒng)的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。
圖2是存儲(chǔ)網(wǎng)絡(luò)的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。
圖3是可用于實(shí)現(xiàn)主機(jī)的計(jì)算裝置的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。
圖4是存儲(chǔ)單元的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。
圖5說(shuō)明LUN的一個(gè)示范存儲(chǔ)器表示。
圖6是在虛擬化存儲(chǔ)系統(tǒng)中的數(shù)據(jù)分配的示意說(shuō)明。
圖7是用于在存儲(chǔ)網(wǎng)絡(luò)中實(shí)現(xiàn)快照差別文件的一個(gè)示范數(shù)據(jù)體系結(jié)構(gòu)的示意說(shuō)明。
圖8是用于在存儲(chǔ)網(wǎng)絡(luò)中創(chuàng)建和使用快照差別文件的一個(gè)示范文件結(jié)構(gòu)的示意說(shuō)明。
圖9a-9b是快照差別文件的存儲(chǔ)器分配圖的示意說(shuō)明。
圖10是流程圖,說(shuō)明用于創(chuàng)建快照差別文件的示范方法中的操作。
圖11是流程圖,說(shuō)明用于在利用一個(gè)或多個(gè)快照差別文件的環(huán)境下執(zhí)行讀操作的示范方法中的操作。
圖12是流程圖,說(shuō)明用于在利用一個(gè)或多個(gè)快照差別文件的環(huán)境下執(zhí)行寫(xiě)操作的示范方法中的操作。
圖13是流程圖,說(shuō)明用于將快照差別文件合并到邏輯盤(pán)中的示范方法中的操作。
圖14是流程圖,說(shuō)明在恢復(fù)操作中利用快照差別文件的示范方法中的操作。
圖15是流程圖,說(shuō)明用于自動(dòng)管理備份操作的方法的一個(gè)示范實(shí)現(xiàn)中的操作。
具體實(shí)施例方式
本文所述的是示范存儲(chǔ)網(wǎng)絡(luò)體系結(jié)構(gòu)、數(shù)據(jù)體系結(jié)構(gòu)以及用于在存儲(chǔ)網(wǎng)絡(luò)中創(chuàng)建和使用差別文件的方法。本文所述的方法可體現(xiàn)為計(jì)算機(jī)可讀介質(zhì)中的邏輯指令。在處理器上執(zhí)行時(shí),邏輯指令使通用計(jì)算裝置被編程為實(shí)現(xiàn)所述方法的專(zhuān)用機(jī)器。當(dāng)由邏輯指令配置成執(zhí)行本文所述的方法時(shí),處理器構(gòu)成用于執(zhí)行所述方法的結(jié)構(gòu)。
示范網(wǎng)絡(luò)體系結(jié)構(gòu)本文所述的主題可在提供系統(tǒng)級(jí)上的虛擬化數(shù)據(jù)存儲(chǔ)的存儲(chǔ)體系結(jié)構(gòu)中實(shí)現(xiàn),使得虛擬化在SAN中實(shí)現(xiàn)。在本文所述的實(shí)現(xiàn)中,利用存儲(chǔ)裝置的計(jì)算系統(tǒng)稱(chēng)作主機(jī)。在一種典型實(shí)現(xiàn)中,主機(jī)是代表其本身或者代表耦合到主機(jī)的系統(tǒng)消耗數(shù)據(jù)存儲(chǔ)資源容量的任何計(jì)算系統(tǒng)。例如,主機(jī)可以是處理大數(shù)據(jù)庫(kù)的巨型計(jì)算機(jī)、維護(hù)事務(wù)記錄的事務(wù)處理服務(wù)器等等?;蛘?,主機(jī)可以是局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)中的文件服務(wù)器,它為企業(yè)提供存儲(chǔ)服務(wù)。
在直接連接存儲(chǔ)解決方案中,這種主機(jī)可包括配置成管理多個(gè)直接連接的盤(pán)驅(qū)動(dòng)器的一個(gè)或多個(gè)盤(pán)控制器或RAID控制器。相比之下,在SAN中,主機(jī)經(jīng)由高速連接技術(shù)、例如具體實(shí)例中的光纖信道(FC)交換結(jié)構(gòu)一致地連接到SAN。
虛擬化SAN體系結(jié)構(gòu)包括一組存儲(chǔ)單元,其中,各存儲(chǔ)單元包括稱(chēng)作盤(pán)組的存儲(chǔ)裝置池。各存儲(chǔ)單元包括耦合到盤(pán)組的并行存儲(chǔ)控制器。存儲(chǔ)控制器采用光纖信道仲裁環(huán)路連接或者通過(guò)諸如光纖信道交換結(jié)構(gòu)之類(lèi)的網(wǎng)絡(luò)耦合到存儲(chǔ)裝置。存儲(chǔ)控制器還可通過(guò)點(diǎn)到點(diǎn)連接相互耦合,使它們能夠協(xié)同管理存儲(chǔ)容量對(duì)使用存儲(chǔ)容量的計(jì)算機(jī)的提供。
本文所述的網(wǎng)絡(luò)體系結(jié)構(gòu)表示分布式計(jì)算環(huán)境,例如采用專(zhuān)有SAN的企業(yè)計(jì)算系統(tǒng)。但是,網(wǎng)絡(luò)體系結(jié)構(gòu)可易于上下縮放,以便滿(mǎn)足特定應(yīng)用的需要。
圖1是利用存儲(chǔ)網(wǎng)絡(luò)的連網(wǎng)計(jì)算系統(tǒng)100的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。在一個(gè)示范實(shí)現(xiàn)中,存儲(chǔ)裝置池110可實(shí)現(xiàn)為虛擬化存儲(chǔ)裝置池,例如Lubbers等人的已公布的美國(guó)專(zhuān)利申請(qǐng)公布號(hào)2003/0079102中所述,通過(guò)引用將此公開(kāi)完整地結(jié)合于本文中。
多個(gè)邏輯盤(pán)(又稱(chēng)作邏輯單元或LUN)112a、112b可在存儲(chǔ)裝置池110中分配。每個(gè)LUN 112a、112b包括一系列鄰接的邏輯地址,它們可由主機(jī)裝置120、122、124和128通過(guò)將請(qǐng)求從主機(jī)裝置所使用的連接協(xié)議映射到唯一標(biāo)識(shí)的LUN 112a、112b來(lái)尋址。主機(jī)、如服務(wù)器128可向其它計(jì)算或數(shù)據(jù)處理系統(tǒng)或裝置提供服務(wù)。例如,客戶(hù)計(jì)算機(jī)126可經(jīng)由主機(jī)、如服務(wù)器128訪問(wèn)存儲(chǔ)裝置池110。服務(wù)器128可向客戶(hù)機(jī)126提供文件服務(wù),并且可提供諸如事務(wù)處理服務(wù)、電子郵件服務(wù)之類(lèi)的其它服務(wù)。因此,客戶(hù)裝置126可能或者可能不直接使用由主機(jī)128耗用的存儲(chǔ)裝置。
例如無(wú)線裝置120等裝置以及也可用作主機(jī)的計(jì)算機(jī)122、124可在邏輯上直接耦合到LUN 112a、112b。主機(jī)120-128可耦合到多個(gè)LUN 112a、112b,以及LUN 112a、112b可在多個(gè)主機(jī)之間共享。圖1所示的裝置中的每個(gè)可包括存儲(chǔ)器、大容量存儲(chǔ)裝置以及足以管理網(wǎng)絡(luò)連接的一定程度的數(shù)據(jù)處理能力。
例如LUN 112a、112b等LUN包括一個(gè)或多個(gè)冗余存儲(chǔ)器(RStore),它們是可靠存儲(chǔ)的基本單位。RStore包括具有關(guān)聯(lián)冗余屬性的物理存儲(chǔ)段(PSEG)的有序集合,并且整個(gè)包含在單個(gè)冗余存儲(chǔ)器集(RSS)中。與傳統(tǒng)存儲(chǔ)系統(tǒng)類(lèi)比,PSEG類(lèi)似于盤(pán)驅(qū)動(dòng)器,以及各個(gè)RSS類(lèi)似于包含多個(gè)驅(qū)動(dòng)器的RAID存儲(chǔ)集。
實(shí)現(xiàn)特定LUN的PSEG可在任何數(shù)量的物理存儲(chǔ)盤(pán)上分布。此外,特定LUN 102表示的物理存儲(chǔ)容量可配置成實(shí)現(xiàn)提供變化容量、可靠性及可用性特征的各種存儲(chǔ)類(lèi)型。例如,一些LUN可表示條帶、鏡像和/或奇偶校驗(yàn)保護(hù)的存儲(chǔ)。另一些LUN可表示沒(méi)有配置條帶、冗余度或奇偶校驗(yàn)保護(hù)的存儲(chǔ)容量。
在一個(gè)示范實(shí)現(xiàn)中,RSS包括邏輯設(shè)備分配域(LDAD)中的物理盤(pán)的子集,并且可包括六到十一個(gè)物理驅(qū)動(dòng)器(可動(dòng)態(tài)改變)。物理驅(qū)動(dòng)器可以具有不同的容量。為了映射,RSS中的物理驅(qū)動(dòng)器可分配索引(例如0、1、2、...、11),以及為了RAID-1,可組織成對(duì)(即相鄰的奇數(shù)和偶數(shù)索引)。包括許多盤(pán)的大RAID卷存在的一個(gè)問(wèn)題是,盤(pán)出故障的可能性隨著添加更多驅(qū)動(dòng)器而明顯增加。例如,十六驅(qū)動(dòng)器系統(tǒng)會(huì)遇到驅(qū)動(dòng)器故障(或者更嚴(yán)重地同時(shí)兩個(gè)驅(qū)動(dòng)器故障)的可能性是八驅(qū)動(dòng)器系統(tǒng)的兩倍。根據(jù)本發(fā)明,由于數(shù)據(jù)保護(hù)在某個(gè)RSS中展開(kāi),并且不是跨多個(gè)RSS,因此,一個(gè)RSS中的盤(pán)故障對(duì)于其它任何RSS的可用性沒(méi)有影響。因此,實(shí)現(xiàn)數(shù)據(jù)保護(hù)的RSS必定經(jīng)受在RSS中的兩次驅(qū)動(dòng)器故障而不是整個(gè)系統(tǒng)中的兩次故障。由于RAID-1實(shí)現(xiàn)中的組對(duì),因此不僅兩個(gè)驅(qū)動(dòng)器必定在特定RSS中出故障,而且RSS中的驅(qū)動(dòng)器中的特定一個(gè)必定是第二個(gè)出故障(即第二個(gè)出故障的驅(qū)動(dòng)器必定與第一個(gè)出故障的驅(qū)動(dòng)器成對(duì))。存儲(chǔ)集到其中可獨(dú)立管理每個(gè)RSS的多個(gè)RSS的這種原子化改進(jìn)了整個(gè)系統(tǒng)的數(shù)據(jù)的性能、可靠性以及可用性。
SAN管理器設(shè)備109耦合到管理邏輯盤(pán)集(MLD)111,它是描述用于創(chuàng)建LUN 112a、112b、LDAD 103a、103b的邏輯結(jié)構(gòu)以及系統(tǒng)使用的其它邏輯結(jié)構(gòu)的元數(shù)據(jù)容器。存儲(chǔ)裝置池101中可用的物理存儲(chǔ)容量的一部分作為法定空間113保留,不能分配給LDAD 103a、103b,因此無(wú)法用于實(shí)現(xiàn)LUN 112a、112b。在一個(gè)特定實(shí)例中,加入存儲(chǔ)裝置池110的每個(gè)物理盤(pán)具有可被指定為法定空間113的保留數(shù)量的容量(例如前“n”個(gè)物理扇區(qū))。MLD 111在多個(gè)物理驅(qū)動(dòng)器的這個(gè)法定空間中被形成鏡像,因此即使在驅(qū)動(dòng)器出故障時(shí)也可被存取。在一個(gè)特定實(shí)例中,與各LDAD 103a、103b關(guān)聯(lián)的至少一個(gè)物理驅(qū)動(dòng)器包括MLD 111的副本(命名為“法定驅(qū)動(dòng)器”)。SAN管理設(shè)備109可能希望關(guān)聯(lián)諸如LDAD 103a、103b和LUN 112a、112b的名稱(chēng)串以及對(duì)象生日的時(shí)標(biāo)等的信息。為了便于這個(gè)行為,管理代理采用MLD 111來(lái)存儲(chǔ)這種信息作為元數(shù)據(jù)。MLD 111在各LDAD103a、103b的創(chuàng)建時(shí)隱式創(chuàng)建。
例如,法定空間113用來(lái)存儲(chǔ)包括物理存儲(chǔ)器ID(各物理驅(qū)動(dòng)器的唯一ID)、版本控制信息、類(lèi)型(法定/非法定)、RSS ID(標(biāo)識(shí)這個(gè)盤(pán)屬于哪個(gè)RSS)、RSS偏移(標(biāo)識(shí)這個(gè)盤(pán)在RSS中的相對(duì)位置)、存儲(chǔ)單元ID(標(biāo)識(shí)這個(gè)盤(pán)屬于哪個(gè)存儲(chǔ)單元)、PSEG大小的信息以及表明該盤(pán)是否為法定盤(pán)的狀態(tài)信息。這個(gè)元數(shù)據(jù)PSEG還包含整個(gè)物理存儲(chǔ)器的PSEG空閑表,可能采取分配位圖的形式。另外,法定空間113包含物理盤(pán)上的每個(gè)PSEG的PSEG分配記錄(PSAR)。PSAR包含PSAR簽名、元數(shù)據(jù)版本、PSAR使用情況以及這個(gè)PSEG所屬的RSD的指示。
CSLD 114是另一種類(lèi)型的元數(shù)據(jù)容器,其中包括從每個(gè)LDAD103a和103b內(nèi)的地址空間中分配的、但與LUN 112a和112b不同地可跨越多個(gè)LDAD 103a和103b的邏輯驅(qū)動(dòng)器。每個(gè)LDAD 103a、103b最好是包括分配給CSLD 114的空間。CSLD 114保存描述給定LDAD103的邏輯結(jié)構(gòu)的元數(shù)據(jù),其中包括主邏輯盤(pán)元數(shù)據(jù)容器(PLDMC),它包含描述在LDAD 103a、103b中實(shí)現(xiàn)的各LUN 112a、112b所使用的每個(gè)RStore的描述符(稱(chēng)作RSDM)的陣列。CSLD 114實(shí)現(xiàn)通常用于諸如盤(pán)創(chuàng)建、均勻調(diào)整、RSS合并、RSS分割以及再生之類(lèi)的任務(wù)的元數(shù)據(jù)。這個(gè)元數(shù)據(jù)包括各物理盤(pán)的狀態(tài)信息,它表明物理盤(pán)是“正常”(即按照預(yù)計(jì)方式工作)、“丟失”(即不可用)、“合并”(即已經(jīng)重新出現(xiàn)并且在使用前必須標(biāo)準(zhǔn)化的丟失驅(qū)動(dòng)器)、“替換”(即驅(qū)動(dòng)器被標(biāo)記為移去,以及數(shù)據(jù)必須復(fù)制到分布式備件上)以及“再生”(即,驅(qū)動(dòng)器不可用,并且要求其數(shù)據(jù)再生到分布式備件上)。
CSLD 114中的邏輯盤(pán)目錄(LDDIR)數(shù)據(jù)結(jié)構(gòu)是任何LDAD103a、103b中的全部LUN 112a、112b的目錄。LDDS中的一個(gè)條目包括通用唯一ID(UUID)以及表示那個(gè)LUN 102的主邏輯盤(pán)元數(shù)據(jù)容器(PLDMC)的位置的RSD。RSD是指向基本RSDM的指針或者相應(yīng)LUN 112a、112b的入口點(diǎn)。這樣,具體LUN 112a、112b特定的元數(shù)據(jù)可通過(guò)索引到LDDIR從而查找特定LUN 112a、112b的基本RSDM來(lái)訪問(wèn)。PLDMC(例如以下描述的映射結(jié)構(gòu))內(nèi)的元數(shù)據(jù)可裝入存儲(chǔ)器來(lái)實(shí)現(xiàn)具體LUN 112a、112b。
因此,圖1所示的存儲(chǔ)裝置池實(shí)現(xiàn)可用于恢復(fù)的多種形式的元數(shù)據(jù)。CSLD 111實(shí)現(xiàn)通常用于諸如盤(pán)創(chuàng)建、均勻調(diào)整、RSS合并、RSS分割以及再生之類(lèi)的任務(wù)的元數(shù)據(jù)。各盤(pán)上的已知位置中保存的PSAR元數(shù)據(jù)包含更基本形式的元數(shù)據(jù),它沒(méi)有映射到存儲(chǔ)器中,而是可在需要時(shí)從它的已知位置來(lái)訪問(wèn),從而再生系統(tǒng)中的所有元數(shù)據(jù)。
圖1所示的裝置中的每個(gè)可包括存儲(chǔ)器、大容量存儲(chǔ)裝置以及足以管理網(wǎng)絡(luò)連接的一定程度的數(shù)據(jù)處理能力。根據(jù)本發(fā)明的計(jì)算機(jī)程序裝置在圖1所示的各種裝置的存儲(chǔ)器中實(shí)現(xiàn),并且由圖1所示的裝置的數(shù)據(jù)處理能力來(lái)啟用。
在一個(gè)示范實(shí)現(xiàn)中,各LDAD 103a、103b可與少至四個(gè)盤(pán)驅(qū)動(dòng)器、多至數(shù)千個(gè)盤(pán)驅(qū)動(dòng)器對(duì)應(yīng)。在特定實(shí)例中,要求每個(gè)LDAD最少八個(gè)驅(qū)動(dòng)器,以便支持采用四個(gè)成對(duì)盤(pán)的LDAD 103a、103b中的RAID-1。LDAD 103a、103b中定義的LUN 112a、112b可表示數(shù)兆字節(jié)或以下的存儲(chǔ)區(qū)直到2兆兆字節(jié)或以上的存儲(chǔ)區(qū)。因此,數(shù)百或數(shù)千個(gè)LUN 112a、112b可在給定的LDAD 103a、103b中定義,從而服務(wù)于大量存儲(chǔ)需求。這樣,大企業(yè)可由提供專(zhuān)用于企業(yè)中的各工作站的單獨(dú)存儲(chǔ)區(qū)以及整個(gè)企業(yè)中的共享存儲(chǔ)區(qū)的單個(gè)存儲(chǔ)裝置池1101來(lái)提供服務(wù)。此外,企業(yè)可實(shí)現(xiàn)多個(gè)LDAD 103a、103b和/或多個(gè)存儲(chǔ)裝置池1101來(lái)提供虛擬地?zé)o限的存儲(chǔ)容量。因此,在邏輯上,根據(jù)本說(shuō)明的虛擬存儲(chǔ)系統(tǒng)提供配置和訪問(wèn)上的大靈活性。
圖2是可用來(lái)實(shí)現(xiàn)例如存儲(chǔ)裝置池110的存儲(chǔ)裝置池的示范存儲(chǔ)網(wǎng)絡(luò)200的示意說(shuō)明。存儲(chǔ)網(wǎng)絡(luò)200包括通過(guò)通信網(wǎng)絡(luò)212連接的多個(gè)存儲(chǔ)單元210a、210b、210c。存儲(chǔ)單元210a、210b、210c可實(shí)現(xiàn)為一個(gè)或多個(gè)可通信地連接的存儲(chǔ)裝置。示范存儲(chǔ)裝置包括可向Hewlett-Packard Corporation(Palo Alto,California,USA)購(gòu)買(mǎi)的存儲(chǔ)裝置的STORAGEWORKS線。通信網(wǎng)絡(luò)212可實(shí)現(xiàn)為專(zhuān)有專(zhuān)用網(wǎng)絡(luò),例如光纖信道(FC)交換結(jié)構(gòu)?;蛘撸ㄐ啪W(wǎng)絡(luò)212的若干部分可采用按照例如因特網(wǎng)小型計(jì)算機(jī)串行接口(iSCSI)協(xié)議的適當(dāng)通信協(xié)議的公共通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。
客戶(hù)計(jì)算機(jī)214a、214b、214c可通過(guò)主機(jī)、如服務(wù)器216、220來(lái)訪問(wèn)存儲(chǔ)單元210a、210b、210c。客戶(hù)機(jī)214a、214b、214c可直接或者經(jīng)由網(wǎng)絡(luò)218、如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)連接到文件服務(wù)器216。可包含在任何存儲(chǔ)網(wǎng)絡(luò)中的存儲(chǔ)單元210a、210b、210c的數(shù)量主要受到通信網(wǎng)絡(luò)212中實(shí)現(xiàn)的連通性的限制。舉例來(lái)說(shuō),包括單FC交換機(jī)的交換結(jié)構(gòu)可互連256或者更多端口,從而提供單個(gè)存儲(chǔ)網(wǎng)絡(luò)中數(shù)百個(gè)存儲(chǔ)單元210a、210b、210c的可能性。
主機(jī)216、220通常實(shí)現(xiàn)為服務(wù)器計(jì)算機(jī)。圖3是可用于實(shí)現(xiàn)主機(jī)的示范計(jì)算裝置330的示意說(shuō)明。計(jì)算裝置330包括一個(gè)或多個(gè)處理器或處理單元332、系統(tǒng)存儲(chǔ)器334以及將包括系統(tǒng)存儲(chǔ)器334在內(nèi)的各種系統(tǒng)組件耦合到處理器332的總線336。總線336表示若干類(lèi)型的總線結(jié)構(gòu)中的任何一個(gè)或多個(gè),其中包括采用各種總線體系結(jié)構(gòu)中任一個(gè)的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端口以及處理器或局部總線。系統(tǒng)存儲(chǔ)器334包括只讀存儲(chǔ)器(ROM)338和隨機(jī)存取存儲(chǔ)器(RAM)340。包含例如在啟動(dòng)過(guò)程中幫助計(jì)算裝置330中的元件之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)342存儲(chǔ)在ROM 338中。
計(jì)算裝置330還包括用于對(duì)硬盤(pán)(未示出)進(jìn)行讀取和寫(xiě)入的硬盤(pán)驅(qū)動(dòng)器344,以及可包括對(duì)可移動(dòng)磁盤(pán)348進(jìn)行讀取和寫(xiě)入的磁盤(pán)驅(qū)動(dòng)器346以及用于對(duì)可移動(dòng)光盤(pán)352、如CD ROM或其它光介質(zhì)進(jìn)行讀取或?qū)懭氲墓獗P(pán)驅(qū)動(dòng)器350。硬盤(pán)驅(qū)動(dòng)器344、磁盤(pán)驅(qū)動(dòng)器346以及光盤(pán)驅(qū)動(dòng)器350通過(guò)SCSI接口354或另外的某種適當(dāng)接口連接到總線336。驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算裝置330提供對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。雖然本文所述的示范環(huán)境采用硬盤(pán)、可移動(dòng)磁盤(pán)348和可移動(dòng)光盤(pán)352,但諸如盒式磁帶、閃存卡、數(shù)字視盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)之類(lèi)的其它類(lèi)型的計(jì)算機(jī)可讀介質(zhì)也可用于示范操作環(huán)境。
許多程序模塊可存儲(chǔ)在硬盤(pán)344、磁盤(pán)348、光盤(pán)352、ROM 338或RAM 340中,其中包括操作系統(tǒng)358、一個(gè)或多個(gè)應(yīng)用程序360、其它程序模塊362以及程序數(shù)據(jù)364。用戶(hù)可通過(guò)例如鍵盤(pán)366和指示裝置368等輸入裝置將命令和信息輸入計(jì)算裝置330。其它輸入裝置(未示出)可包括話(huà)筒、操縱桿、游戲控制墊、盤(pán)式衛(wèi)星天線、掃描儀等等。這些及其它輸入裝置通過(guò)耦合到總線336的接口370連接到處理單元332。監(jiān)測(cè)器372或其它類(lèi)型的顯示裝置還經(jīng)由例如視頻適配器374等接口連接到總線336。
計(jì)算裝置330可在采用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)、如遠(yuǎn)程計(jì)算機(jī)376的邏輯連接的連網(wǎng)環(huán)境中工作。遠(yuǎn)程計(jì)算機(jī)376可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等裝置或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包括以上對(duì)于計(jì)算裝置330所述的元件中的許多或全部,但在圖3中只說(shuō)明了存儲(chǔ)器存儲(chǔ)裝置378。圖3所示的邏輯連接包括LAN380和WAN 382。
在用于LAN連網(wǎng)環(huán)境時(shí),計(jì)算裝置330通過(guò)網(wǎng)絡(luò)接口或適配器384連接到局域網(wǎng)380。在用于WAN連網(wǎng)環(huán)境時(shí),計(jì)算裝置330通常包括調(diào)制解調(diào)器386或用于在廣域網(wǎng)382、如因特網(wǎng)上建立通信的其它部件??梢允莾?nèi)置或外置的調(diào)制解調(diào)器386經(jīng)由串行端口接口356連接到總線336。在連網(wǎng)環(huán)境中,對(duì)于計(jì)算裝置330或其若干部分所述的程序模塊可存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)裝置中。應(yīng)當(dāng)知道,所示的網(wǎng)絡(luò)連接是示范性的,并且可采用建立計(jì)算機(jī)之間的通信鏈路的其它方法。
主機(jī)216、220可包括主機(jī)適配器硬件和軟件,從而實(shí)現(xiàn)到通信網(wǎng)絡(luò)212的連接。到通信網(wǎng)絡(luò)212的連接可通過(guò)光耦合或者更傳統(tǒng)的導(dǎo)電纜線,取決于帶寬要求。主機(jī)適配器可實(shí)現(xiàn)為計(jì)算裝置330上的插入卡。主機(jī)216、220可實(shí)現(xiàn)任何數(shù)量的主機(jī)適配器,從而提供硬件和軟件所支持的數(shù)量的到通信網(wǎng)絡(luò)212的連接。
一般來(lái)說(shuō),計(jì)算裝置330的數(shù)據(jù)處理器通過(guò)在不同時(shí)間存儲(chǔ)于計(jì)算機(jī)的各種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的指令來(lái)編程。例如,程序和操作系統(tǒng)可在軟盤(pán)、CD-ROM上或者以電方式分布,并且安裝或裝入計(jì)算機(jī)的輔助存儲(chǔ)器。運(yùn)行時(shí),程序至少部分加載到計(jì)算機(jī)的主電子存儲(chǔ)器。
圖4是可用來(lái)實(shí)現(xiàn)例如210a、210b或210c的存儲(chǔ)單元的存儲(chǔ)單元400的一個(gè)示范實(shí)現(xiàn)的示意說(shuō)明。參照?qǐng)D4,存儲(chǔ)單元400包括又稱(chēng)作盤(pán)陣列控制器的兩個(gè)網(wǎng)絡(luò)存儲(chǔ)控制器(NSC)410a、410b來(lái)管理對(duì)一個(gè)或多個(gè)盤(pán)驅(qū)動(dòng)器440、442的數(shù)據(jù)的操作和傳送。NSC 410a、410b可實(shí)現(xiàn)為具有微處理器416a、416b以及存儲(chǔ)器418a、418b的插入卡。每個(gè)NSC 410a、410b包括即通過(guò)例如交換結(jié)構(gòu)等的通信網(wǎng)絡(luò)提供到主機(jī)的接口的雙主機(jī)適配器端口412a、414a、412b、414b。在光纖信道實(shí)現(xiàn)中,主機(jī)適配器端口412a、412b、414a、414b可實(shí)現(xiàn)為FC N端口。每個(gè)主機(jī)適配器端口412a、412b、414a、414b管理登錄以及與交換結(jié)構(gòu)的接口,并在登錄過(guò)程中被分配結(jié)構(gòu)唯一端口ID。圖4所示的體系結(jié)構(gòu)提供完全冗余存儲(chǔ)單元;只要求單個(gè)NSC來(lái)實(shí)現(xiàn)存儲(chǔ)單元。
每個(gè)NSC 410a、410b還包括實(shí)現(xiàn)NSC 410a、410b之間的通信連接438的通信端口428a、428b。通信連接438可實(shí)現(xiàn)為FC點(diǎn)到點(diǎn)連接,或者按照另外的任何適當(dāng)?shù)耐ㄐ艆f(xié)議。
在一個(gè)示范實(shí)現(xiàn)中,NSC 410a、410b還包括實(shí)現(xiàn)與多個(gè)存儲(chǔ)裝置、如盤(pán)驅(qū)動(dòng)器陣列440、442的光纖信道仲裁環(huán)路(FCAL)通信連接的多個(gè)FCAL端口420a-426a、420b-426b。雖然所述實(shí)施例實(shí)現(xiàn)與盤(pán)驅(qū)動(dòng)器陣列440、442的FCAL連接,但大家會(huì)理解,與盤(pán)驅(qū)動(dòng)器陣列440、442的通信連接可采用其它通信協(xié)議來(lái)實(shí)現(xiàn)。例如,可采用FC交換結(jié)構(gòu)或小型計(jì)算機(jī)串行接口(SCSI)連接而不是FCAL配置。
在操作中,盤(pán)驅(qū)動(dòng)器陣列440、442所提供的存儲(chǔ)容量可添加到存儲(chǔ)裝置池110。當(dāng)應(yīng)用需要存儲(chǔ)容量時(shí),主計(jì)算機(jī)128上的邏輯指令從一個(gè)或多個(gè)存儲(chǔ)站點(diǎn)可用的盤(pán)驅(qū)動(dòng)器陣列440、442上可用的存儲(chǔ)容量來(lái)建立LUN。大家會(huì)理解,由于LUN是邏輯單元而不一定是物理單元,因此構(gòu)成LUN的物理存儲(chǔ)空間可分布在多個(gè)存儲(chǔ)單元上。應(yīng)用的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)中的一個(gè)或多個(gè)LUN中。需要存取數(shù)據(jù)的應(yīng)用查詢(xún)主計(jì)算機(jī),主計(jì)算機(jī)從LUN中檢索數(shù)據(jù)并將數(shù)據(jù)轉(zhuǎn)發(fā)給應(yīng)用。
存儲(chǔ)網(wǎng)絡(luò)200中的存儲(chǔ)單元210a、210b、210c中的一個(gè)或多個(gè)可實(shí)現(xiàn)基于RAID的存儲(chǔ)。RAID(獨(dú)立盤(pán)冗余陣列)存儲(chǔ)系統(tǒng)是其中物理存儲(chǔ)容量的一部分用于存儲(chǔ)冗余數(shù)據(jù)的盤(pán)陣列系統(tǒng)。RAID系統(tǒng)通常的特征為在首字母縮略詞RAID下列舉的六種體系結(jié)構(gòu)其中之一。RAID 0體系結(jié)構(gòu)是配置為沒(méi)有任何冗余度的盤(pán)陣列系統(tǒng)。由于這種體系結(jié)構(gòu)實(shí)際上不是冗余體系結(jié)構(gòu),因此,RAID 0往往從RAID系統(tǒng)的論述中省略。
RAID 1體系結(jié)構(gòu)涉及根據(jù)鏡像冗余度配置的存儲(chǔ)盤(pán)。原始數(shù)據(jù)存儲(chǔ)在一組盤(pán)中,而數(shù)據(jù)的復(fù)制副本則保存在另外的盤(pán)中。RAID 2至RAID 5體系結(jié)構(gòu)都涉及奇偶校驗(yàn)型冗余存儲(chǔ)。特別關(guān)注的是,RAID 5系統(tǒng)在多個(gè)盤(pán)上分布數(shù)據(jù)和奇偶校驗(yàn)信息。這些盤(pán)通常分為相等大小的地址區(qū)域,稱(chēng)作“塊”。來(lái)自各盤(pán)、具有相同單元地址范圍的一組塊稱(chēng)作“條”。在RAID 5中,各條具有N個(gè)塊的數(shù)據(jù)以及包含N個(gè)塊中的數(shù)據(jù)的冗余信息的一個(gè)奇偶校驗(yàn)塊。
在RAID 5中,奇偶校驗(yàn)塊在不同盤(pán)上逐條循環(huán)。例如,在具有五個(gè)盤(pán)的RAID 5系統(tǒng)中,第一條的奇偶校驗(yàn)塊可能在第五盤(pán)上;第二條的奇偶校驗(yàn)塊可能在第四盤(pán)上;第三條的奇偶校驗(yàn)塊可能在第三盤(pán)上;等等。隨后的條的奇偶校驗(yàn)塊通常以螺旋模式(但其它模式也是可行的)圍繞盤(pán)驅(qū)動(dòng)器“旋進(jìn)”。RAID 2至RAID 4體系結(jié)構(gòu)與RAID5的不同之處在于它們計(jì)算并在盤(pán)上放置奇偶校驗(yàn)塊的方式。所實(shí)現(xiàn)的特定RAID類(lèi)并不重要。
圖5說(shuō)明一個(gè)示范實(shí)現(xiàn)中的LUN 112a、112b的一個(gè)示范存儲(chǔ)器表示。存儲(chǔ)器表示主要是在NSC 410a、410b的存儲(chǔ)器中實(shí)現(xiàn)的一種映射結(jié)構(gòu),它實(shí)現(xiàn)以邏輯塊地址(LBA)表達(dá)的請(qǐng)求從主機(jī)、如圖1所示的主機(jī)128到針對(duì)物理盤(pán)驅(qū)動(dòng)器、如盤(pán)驅(qū)動(dòng)器440、442的特定部分的讀/寫(xiě)命令的轉(zhuǎn)換。希望存儲(chǔ)器表示足夠小,以便適合適當(dāng)?shù)拇鎯?chǔ)器大小,使得它可易于在工作中被訪問(wèn),而對(duì)于存儲(chǔ)器表示頁(yè)面調(diào)進(jìn)和調(diào)出NSC的存儲(chǔ)器的要求最小或沒(méi)有。
本文所述的存儲(chǔ)器表示使各LUN 112a、112b能夠?qū)崿F(xiàn)從1兆字節(jié)至2兆兆字節(jié)的存儲(chǔ)容量??稍O(shè)想每個(gè)LUN 112a、112b更大的存儲(chǔ)容量。為了便于說(shuō)明,本說(shuō)明中采用2兆兆字節(jié)的最大值。此外,存儲(chǔ)器表示使各LUN 112a、112b能夠采用任何類(lèi)型的RAID數(shù)據(jù)保護(hù)來(lái)定義,其中包括多級(jí)RAID保護(hù)以及支持沒(méi)有任何冗余度。此外,多種類(lèi)型的RAID數(shù)據(jù)保護(hù)可在單個(gè)LUN 112a、112b中實(shí)現(xiàn),使得第一范圍的邏輯盤(pán)地址(LDA)對(duì)應(yīng)于未保護(hù)數(shù)據(jù),以及相同LUN112a、112b中的第二組LDA實(shí)現(xiàn)RAID 5保護(hù)。因此,實(shí)現(xiàn)存儲(chǔ)器表示的數(shù)據(jù)結(jié)構(gòu)必須靈活處理這種多樣性,但仍然是有效的,使得LUN 112a、112b不需要額外的數(shù)據(jù)結(jié)構(gòu)。
圖5所示的存儲(chǔ)器表示的持久副本保存在前面所述的各LUN112a、112b的PLDMDC中。當(dāng)系統(tǒng)讀取法定空間113中包含的元數(shù)據(jù)以便獲取指向相應(yīng)PLDMDC的指針、然后再檢索PLDMDC并加載第2級(jí)映射圖(L2MAP)501時(shí),實(shí)現(xiàn)特定LUN 112a、112b的存儲(chǔ)器表示。這對(duì)于每個(gè)LUN 112a、112b執(zhí)行,但在一般操作中,這將在創(chuàng)建LUN 112a、112b時(shí)出現(xiàn)一次,此后,存儲(chǔ)器表示將在被使用時(shí)保留在存儲(chǔ)器中。
邏輯盤(pán)映射層將請(qǐng)求中指定的LDA映射到特定RStore以及RStore中的偏移。參照?qǐng)D5中所示的實(shí)施例,LUN可采用L2MAP501、LMAP 503以及冗余度集合描述符(RSD)505作為將邏輯盤(pán)地址映射到地址所表示的物理存儲(chǔ)單元的主結(jié)構(gòu)來(lái)實(shí)現(xiàn)。圖5所示的映射結(jié)構(gòu)對(duì)于各LUN 112a、112b來(lái)實(shí)現(xiàn)。單個(gè)L2MAP處理整個(gè)LUN112a、112b。每個(gè)LUN 112a、112b由多個(gè)LMAP 503表示,其中LMAP503的具體數(shù)量取決于任何給定時(shí)間所分配的實(shí)際地址空間。RSD505還只對(duì)所分配的存儲(chǔ)空間存在。利用這種分割目錄方法,稀疏地裝載了所分配存儲(chǔ)區(qū)的大存儲(chǔ)卷、如圖5所示的結(jié)構(gòu)有效地表示所分配的存儲(chǔ)區(qū),同時(shí)使未分配存儲(chǔ)區(qū)的數(shù)據(jù)結(jié)構(gòu)最小。
L2MAP 501包括多個(gè)條目,其中的每個(gè)條目表示地址空間的2千兆字節(jié)。因此,對(duì)于2兆兆LUN 112a、112b,L2MAP 501包括1024個(gè)條目,以便覆蓋特定實(shí)例中的整個(gè)地址空間。各條目可包含與相應(yīng)的2千兆字節(jié)的存儲(chǔ)區(qū)對(duì)應(yīng)的狀態(tài)信息以及相應(yīng)LMAP描述符503的指針。狀態(tài)信息和指針僅在相應(yīng)的2千兆字節(jié)的地址空間已經(jīng)被分配時(shí)才有效,因此,L2MAP 501中的一部分條目在許多應(yīng)用中將為空的或者無(wú)效。
LMAP 503中的各條目所表示的地址范圍稱(chēng)作邏輯盤(pán)地址分配單元(LDAAU)。在特定實(shí)現(xiàn)中,LDAAU為1兆字節(jié)。對(duì)于每個(gè)所分配LDAAU在LMAP 503中創(chuàng)建一個(gè)條目,而與LDAAU中的存儲(chǔ)區(qū)的實(shí)際利用無(wú)關(guān)。換言之,LUN 102的大小可按照1兆字節(jié)的增量擴(kuò)大或縮小。LDAAU表示粒度,LUN 112a、112b中的地址空間可采用這個(gè)粒度來(lái)分配給特定的存儲(chǔ)任務(wù)。
LMAP 503僅對(duì)所分配地址空間的各2千兆字節(jié)增量存在。如果小于2千兆字節(jié)的存儲(chǔ)區(qū)用于特定LUN 112a、112b,則僅需要一個(gè)LMAP 503,而如果2兆兆字節(jié)的存儲(chǔ)區(qū)被使用,則將存在1024個(gè)LMAP 503。各LMAP 503包括多個(gè)條目,其中的每個(gè)條目可選地對(duì)應(yīng)于冗余段(RSEG)。RSEG是原子邏輯單元,它大致與物理域中的PSEG相似-類(lèi)似于RStore的邏輯盤(pán)分區(qū)。在一個(gè)特定實(shí)施例中,RSEG是跨越多個(gè)PSEG并實(shí)現(xiàn)所選類(lèi)型的數(shù)據(jù)保護(hù)的存儲(chǔ)區(qū)的邏輯單元。在一個(gè)優(yōu)選實(shí)現(xiàn)中,RStore中的全部RSEG綁定到鄰接的LDA。為了保持順序傳送的基礎(chǔ)物理盤(pán)性能,希望按照LDA空間按順序從RStore毗連地定位所有RSEG,以便保持物理鄰接性。但是,如果物理資源變?yōu)椴蛔悖瑒t可能需要跨過(guò)LUN 102的分離區(qū)域從RStore分布RSEG。請(qǐng)求501中指定的邏輯盤(pán)地址選擇與特定RSEG對(duì)應(yīng)的LMAP 503中的特定條目,而特定RSEG又對(duì)應(yīng)于分配給特定RSEG#的1兆字節(jié)地址空間。各LMAP條目還包含與特定RSEG有關(guān)的狀態(tài)信息以及RSD指針。
RSEG#可以可選地被省略,它使RStore本身為可分配的最小原子邏輯單元。RSEG#的省略減小了LMAP條目的大小,并且允許LUN102的存儲(chǔ)器表示對(duì)于每兆字節(jié)的存儲(chǔ)區(qū)需要更少的存儲(chǔ)器資源?;蛘?,RSEG大小可增加而不是完全省略RSEG的概念,它還依靠減小的存儲(chǔ)區(qū)的原子邏輯單元的粒度來(lái)降低對(duì)存儲(chǔ)器資源的需求。因此,與RStore成比例的RSEG大小可經(jīng)過(guò)改變以滿(mǎn)足特定應(yīng)用的需要。
RSD指針指向特定RSD 505,它包含描述相應(yīng)RSEG所在的RStore的元數(shù)據(jù)。如圖5所示,RSD包括冗余存儲(chǔ)器集選擇器(RSSS),其中包含冗余存儲(chǔ)器集(RSS)標(biāo)識(shí)、物理成員選擇以及RAID信息。物理成員選擇本質(zhì)上是RStore所使用的物理驅(qū)動(dòng)器的列表。RAID信息,或者更一般來(lái)說(shuō)是數(shù)據(jù)保護(hù)信息,描述特定RStore中實(shí)現(xiàn)的任何數(shù)據(jù)保護(hù)類(lèi)型。各RSD還包括標(biāo)識(shí)在物理上實(shí)現(xiàn)相應(yīng)存儲(chǔ)容量的物理成員選擇的驅(qū)動(dòng)器中的特定PSEG編號(hào)的多個(gè)字段。每個(gè)列示的PSEG#對(duì)應(yīng)于RSSS的物理成員選擇列表中的列示成員之一??砂ㄈ魏螖?shù)量的PSEG,但是,在一個(gè)特定實(shí)施例中,各RSEG采用由RStore實(shí)現(xiàn)的RAID類(lèi)型所規(guī)定的四至八個(gè)PSEG來(lái)實(shí)現(xiàn)。
在操作中,對(duì)于存儲(chǔ)區(qū)存取的每個(gè)請(qǐng)求指定LUN 112a、112b和地址。例如NSC 410a、410b等的NSC將所指定的邏輯驅(qū)動(dòng)器映射到特定LUN 112a、112b,然后在那個(gè)LUN 102的L2MAP 501還沒(méi)有存在于存儲(chǔ)器時(shí)將其加載到存儲(chǔ)器中。LUN 102的所有LMAP和RSD最好也加載到存儲(chǔ)器中。請(qǐng)求所指定的LDA用來(lái)索引到L2MAP501,它又指向LMAP中特定的一個(gè)。請(qǐng)求中所指定的地址用來(lái)確定到指定LMAP的偏移,以便返回與請(qǐng)求指定地址對(duì)應(yīng)的特定RSEG。一旦RSEG#為已知,則相應(yīng)的RSD被檢查以便標(biāo)識(shí)屬于冗余段的成員的特定PSEG以及使NSC 410a、410b能夠產(chǎn)生驅(qū)動(dòng)器特定命令以便存取所請(qǐng)求數(shù)據(jù)的元數(shù)據(jù)。這樣,LDA易于映射到必須被存取以便實(shí)現(xiàn)給定存儲(chǔ)請(qǐng)求的一組PSEG。
L2MAP每個(gè)LUN 112a、112b耗用4千字節(jié),而與示范實(shí)現(xiàn)中的大小無(wú)關(guān)。換言之,L2MAP包含覆蓋整個(gè)2兆兆字節(jié)最大地址范圍的條目,即使那個(gè)范圍中只有一小部分實(shí)際上被分配給LUN112a、112b??紤]可采用可變大小的L2MAP,但這種實(shí)現(xiàn)將增加復(fù)雜度而具有極少的存儲(chǔ)器節(jié)省。LMAP段每兆字節(jié)地址空間耗用4字節(jié),而RSD每兆字節(jié)則耗用3字節(jié)。與L2MAP不同,LMAP段和RSD僅對(duì)于所分配的地址空間存在。
圖6是在虛擬化存儲(chǔ)系統(tǒng)中的數(shù)據(jù)分配的示意說(shuō)明。參照?qǐng)D6,冗余層根據(jù)預(yù)期保護(hù)以及依照NSC數(shù)據(jù)組織規(guī)則來(lái)選擇PSEG 601,并對(duì)它們進(jìn)行組裝以創(chuàng)建冗余存儲(chǔ)器(RStore)。與特定冗余存儲(chǔ)器集對(duì)應(yīng)的PSEG的集合稱(chēng)作“RStore”。數(shù)據(jù)保護(hù)規(guī)則可能要求RStore中的PSEG位于分開(kāi)的盤(pán)驅(qū)動(dòng)器中或者分開(kāi)的封裝中,或者處于不同的地理位置。例如,基本RAID-5規(guī)則假定條切數(shù)據(jù)涉及跨過(guò)一些獨(dú)立驅(qū)動(dòng)器的條切。但是,由于各驅(qū)動(dòng)器包括多個(gè)PSEG,因此,本發(fā)明的冗余層確保PSEG是從滿(mǎn)足預(yù)期數(shù)據(jù)保護(hù)標(biāo)準(zhǔn)以及數(shù)據(jù)可用性及性能標(biāo)準(zhǔn)的驅(qū)動(dòng)器中選取的。
RStore被完整地分配給特定LUN 102。RStore可分區(qū)為1兆字節(jié)段(RSEG),如圖6所示。圖6中的各RSEG由于根據(jù)RAID 5規(guī)則存儲(chǔ)相當(dāng)多的奇偶校驗(yàn)數(shù)據(jù)而只提供所耗用的物理盤(pán)容量的80%。當(dāng)配置為RAID 5存儲(chǔ)集時(shí),各RStore將包含四個(gè)PSEG上的數(shù)據(jù)以及與RAID4存儲(chǔ)區(qū)相似的第五PSEG(未示出)上的奇偶校驗(yàn)信息。第五PSEG不構(gòu)成從容量角度看來(lái)具有四個(gè)PSEG的RStore的整個(gè)存儲(chǔ)容量??邕^(guò)多個(gè)RStore,奇偶校驗(yàn)將落在各種驅(qū)動(dòng)器上,以便提供RAID5保護(hù)。
RStore本質(zhì)上是固定數(shù)量的虛擬地址空間(實(shí)例中為8兆字節(jié))。RStore耗用四至八個(gè)完整的PSEG,取決于數(shù)據(jù)保護(hù)等級(jí)。沒(méi)有冗余度的條切RStore耗用4個(gè)PSEG(4-2048千字節(jié)PSEG=8兆字節(jié)),具有4+1奇偶校驗(yàn)的RStore耗用5個(gè)PSEG,以及鏡像RStore耗用八個(gè)PSEG,來(lái)實(shí)現(xiàn)8兆字節(jié)的虛擬地址空間。
RStore與RAID盤(pán)集類(lèi)似,不同之處在于,它包含PSEG而不是物理盤(pán)。RStore小于傳統(tǒng)的RAID存儲(chǔ)卷,因此,與傳統(tǒng)系統(tǒng)中的單個(gè)RAID存儲(chǔ)卷相反,給定LUN 102將包含多個(gè)RStore。
考慮驅(qū)動(dòng)器405可隨時(shí)間從LDAD 103添加或刪除。添加驅(qū)動(dòng)器意味著現(xiàn)有數(shù)據(jù)可在更多驅(qū)動(dòng)器上分布,而刪除驅(qū)動(dòng)器則意味著現(xiàn)有數(shù)據(jù)必須從退出的驅(qū)動(dòng)器中遷移而填充剩余驅(qū)動(dòng)器上的容量。這種數(shù)據(jù)遷移一般稱(chēng)作“均勻調(diào)整”。均勻調(diào)整嘗試在盡可能多的物理驅(qū)動(dòng)器上分布給定LUN 102的數(shù)據(jù)。均勻調(diào)整的基本目的是分布每個(gè)LUN 102所表示的存儲(chǔ)區(qū)的物理分配,使得給定物理盤(pán)上的為給定邏輯盤(pán)的使用量與那個(gè)物理卷在可用于分配到給定邏輯盤(pán)的物理存儲(chǔ)區(qū)總量中所占份額成比例。
通過(guò)將數(shù)據(jù)從一個(gè)PSEG復(fù)制到另一個(gè),然后再改變適當(dāng)RSD中的數(shù)據(jù)以表明新的隸屬關(guān)系,現(xiàn)有RStore可修改為使用新的PSEG。在RSS中創(chuàng)建的后繼RStore將自動(dòng)使用新的成員。類(lèi)似地,可通過(guò)將數(shù)據(jù)從已填充PSEG復(fù)制到空PSEG,并改變LMAP 502中的數(shù)據(jù)以便反映RSD的新PSEG成分,來(lái)消除PSEG。這樣,物理存儲(chǔ)區(qū)與存儲(chǔ)區(qū)的邏輯表示之間的關(guān)系可被連續(xù)管理及更新,從而以用戶(hù)不可見(jiàn)的方式來(lái)反映當(dāng)前存儲(chǔ)環(huán)境。
快照差別文件在一個(gè)方面,該系統(tǒng)配置成實(shí)現(xiàn)在本文中稱(chēng)作快照差別文件或快照差別對(duì)象的文件。快照差別文件是設(shè)計(jì)成將快照的某些特性(即通過(guò)在快照差別的生存期中未改變數(shù)據(jù)時(shí)與后繼者及前趨者文件共享數(shù)據(jù)的容量效率)與日志文件的時(shí)間特性結(jié)合的實(shí)體。快照差別文件還可與基本快照克隆及其它快照差別結(jié)合使用,以便提供查看數(shù)據(jù)通過(guò)時(shí)間的不同副本的能力??煺詹顒e文件還捕捉針對(duì)以某個(gè)時(shí)間點(diǎn)開(kāi)始的LUN的所有新數(shù)據(jù),直到?jīng)Q定去活快照差別,并開(kāi)始新快照差別。
快照差別文件可與快照相似地構(gòu)成??煺詹顒e可采用與快照中所使用的元數(shù)據(jù)結(jié)構(gòu)相似的元數(shù)據(jù)結(jié)構(gòu),使快照文件能夠在適當(dāng)?shù)臅r(shí)候與前趨者LUN共享數(shù)據(jù),但在數(shù)據(jù)到達(dá)時(shí)間出現(xiàn)在快照差別的活動(dòng)周期時(shí)包含唯一或不同的數(shù)據(jù)。后繼者快照差別可經(jīng)由相同的機(jī)制來(lái)引用前趨者快照差別或前趨者LUN中的數(shù)據(jù)。
作為實(shí)例,假定LUN A在2004年9月12日下午1點(diǎn)之前是活動(dòng)的。LUN A的快照差別1從2004年9月12日下午1點(diǎn)以后至下午2點(diǎn)是活動(dòng)的。LUN A的快照差別2從2004年9月12日下午2點(diǎn)以后至下午3點(diǎn)是活動(dòng)的。LUN A的快照差別1和快照差別2的每個(gè)中的數(shù)據(jù)可采用相同的虛擬元數(shù)據(jù)索引方法來(lái)存取。快照差別1包含從下午1點(diǎn)之后至下午2點(diǎn)已經(jīng)改變(以所使用的索引方案的粒度)的唯一數(shù)據(jù),并且與LUNA共享其它全部數(shù)據(jù)??煺詹顒e2包含從下午2點(diǎn)之后至下午3點(diǎn)已經(jīng)改變的唯一數(shù)據(jù),并且與快照差別1或者LUN A共享其它全部數(shù)據(jù)。這種數(shù)據(jù)采用稱(chēng)作快照樹(shù)的上述索引、共享位方案來(lái)存取。因此,隨時(shí)間的變化被保持-下午1點(diǎn)之前的數(shù)據(jù)的LUN A視圖,下午2點(diǎn)及之前的數(shù)據(jù)的快照差別1和LUNA視圖,下午3點(diǎn)及以前的快照差別2和快照差別1及LUN A視圖?;蛘?,分段時(shí)間視圖,從下午1點(diǎn)至下午2點(diǎn)的數(shù)據(jù)的快照差別1視圖或者從下午2點(diǎn)至下午3點(diǎn)的數(shù)據(jù)的快照差別2視圖。
因此,快照差別與日志文件的相似性在于,快照差別文件將數(shù)據(jù)與時(shí)間關(guān)聯(lián)(即它們采集從時(shí)間a到時(shí)間b的新數(shù)據(jù)),同時(shí)在結(jié)構(gòu)上類(lèi)似快照(即它們具有快照的特性,也就是數(shù)據(jù)存取的速度和空間效率以及保持隨時(shí)間改變的能力)。
通過(guò)將關(guān)鍵快照特性和結(jié)構(gòu)與日志文件時(shí)間模型結(jié)合,快照差別可用來(lái)提供始終同步鏡像功能、數(shù)據(jù)的時(shí)間維護(hù)、簡(jiǎn)單的空間效率高的增量備份以及強(qiáng)大的瞬時(shí)恢復(fù)機(jī)制。
圖7是結(jié)合了快照差別文件的存儲(chǔ)數(shù)據(jù)體系結(jié)構(gòu)的示意高級(jí)說(shuō)明。參照?qǐng)D7,源卷710被復(fù)制到可以是預(yù)規(guī)格化快照克隆或者后規(guī)格化快照克隆的快照克隆720。
本文所使用的術(shù)語(yǔ)“預(yù)規(guī)格化快照克隆”指的是在快照克隆從源卷710分割之前與源卷710同步的快照克隆。預(yù)規(guī)格化快照克隆表示在快照克隆從源卷分離的時(shí)刻的源卷的時(shí)間點(diǎn)副本。相反,后規(guī)格化快照克隆在特定時(shí)間點(diǎn)上創(chuàng)建,但源卷710中的數(shù)據(jù)的完整獨(dú)立副本在稍后的時(shí)間點(diǎn)之后才完成。
快照差別文件在特定時(shí)間點(diǎn)上創(chuàng)建和激活,隨后,影響源卷710中的數(shù)據(jù)的所有I/O操作同時(shí)復(fù)制到活動(dòng)的快照差別文件。在預(yù)期時(shí)間點(diǎn)或者在達(dá)到特定門(mén)限時(shí)(例如當(dāng)快照差別文件達(dá)到預(yù)定大小時(shí)),可關(guān)閉快照差別文件,以及可激活另一個(gè)快照差別文件。在快照差別文件730、732、734被去活之后,它可合并到快照克隆720中。另外,快照差別文件可備份到磁帶驅(qū)動(dòng)器、如磁帶驅(qū)動(dòng)器742、744、746。
在一個(gè)實(shí)現(xiàn)中,快照差別文件與快照克隆、如快照克隆720的創(chuàng)建同時(shí)被創(chuàng)建和激活。針對(duì)源卷710的I/O操作復(fù)制到活動(dòng)的快照差別文件、如快照差別文件730。
將參照?qǐng)D8、圖9a-9b和圖10-13更詳細(xì)地說(shuō)明快照差別文件。圖8和圖9a-9b是快照差別文件的存儲(chǔ)器分配圖的示意說(shuō)明。簡(jiǎn)要參照?qǐng)D8,在一個(gè)實(shí)現(xiàn)中,快照差別文件的存儲(chǔ)器映射在邏輯盤(pán)單元表800開(kāi)始,它是映射可依次編號(hào)的多個(gè)邏輯盤(pán)狀態(tài)塊(LDSB)、即LDSB0、LDSB1...LDSB N的數(shù)據(jù)結(jié)構(gòu)的陣列。每個(gè)LDSB包含指向LMAP的指針、指向前趨者和后繼者LDSB的指針。LMAP指針指向LMAP映射數(shù)據(jù)結(jié)構(gòu),如上所述,它最終映射到PSEG(或者映射到非虛擬化系統(tǒng)中的盤(pán))。前趨者和后繼者LDSB字段用來(lái)跟蹤基本快照克隆及其相關(guān)快照差別。基本快照克隆由沒(méi)有前趨者的LDSB表示,以及活動(dòng)快照差別由沒(méi)有后繼者的LDSB表示。
圖9a說(shuō)明快照差別文件的存儲(chǔ)器映射,其中設(shè)置了RSD的共享位。因此,表示快照差別的LMAP 910結(jié)構(gòu)映射RSD 915,RSD 915又映射到不同數(shù)據(jù)結(jié)構(gòu)的LMAP 920所表示的前趨者快照差別或基本快照克隆。這表明LMAP 910是LMAP 920的后繼者并與LMAP 920共享其數(shù)據(jù)。LMAP 920映射到RSD 925,RSD 925又映射到RSS930,RSS 930映射到物理盤(pán)空間935(或者映射到虛擬化存儲(chǔ)系統(tǒng)中的PSEG)。圖9b說(shuō)明快照差別文件的存儲(chǔ)器映射,其中沒(méi)有設(shè)置RSD的共享位,即它不是共享的。LMAP 950映射到RSD 955,RSD 955又映射到RSS 960,RSS 960映射到物理盤(pán)空間965(或者映射到虛擬化存儲(chǔ)系統(tǒng)中的PSEG)。
圖10-13是流程圖,說(shuō)明分別用于對(duì)快照差別進(jìn)行創(chuàng)建、讀取、寫(xiě)入或合并的示范方法中的操作。在以下描述中,大家會(huì)理解,流程圖說(shuō)明的各框以及流程圖說(shuō)明中的框的組合可通過(guò)計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可加載到計(jì)算機(jī)或者其它可編程設(shè)備以產(chǎn)生一種機(jī)器,使得在處理器或其它可編程設(shè)備上運(yùn)行的指令創(chuàng)建用于實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的部件。這些計(jì)算機(jī)程序指令還可存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中,它們可指導(dǎo)計(jì)算機(jī)或其它可編程設(shè)備以特定方式工作,使得計(jì)算機(jī)可讀存儲(chǔ)器中存儲(chǔ)的指令產(chǎn)生一種制造產(chǎn)品,其中包括實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的指令部件。計(jì)算機(jī)程序指令還可加載到計(jì)算機(jī)或其它可編程設(shè)備,使一系列操作步驟在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的步驟。
因此,流程圖說(shuō)明的框支持用于執(zhí)行指定功能的部件組合以及用于執(zhí)行指定功能的步驟組合。還可理解,流程圖說(shuō)明的各框以及流程圖說(shuō)明中的框的組合可通過(guò)執(zhí)行指定功能或步驟的基于專(zhuān)用硬件的計(jì)算機(jī)系統(tǒng)或者專(zhuān)用硬件及計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
圖10是流程圖,說(shuō)明用于創(chuàng)建快照差別文件的示范方法中的操作。圖10的操作可響應(yīng)接收到創(chuàng)建快照差別文件的請(qǐng)求而在例如存儲(chǔ)系統(tǒng)中的陣列控制器等的適當(dāng)處理器中執(zhí)行。參照?qǐng)D10,在操作1010,創(chuàng)建新的LDSB,表示新的快照差別。再次參照?qǐng)D8并假定LDSB0至LDSB 3已經(jīng)被分配,操作1010創(chuàng)建編號(hào)為L(zhǎng)DSB 4的新LDSB。在操作1015-1020,LDSB后繼者指針被遍歷,以快照克隆的LDSB開(kāi)始,直至遇到空后繼者指針為止。當(dāng)遇到空后繼者指針時(shí),空指針重置為指向新建的LDSB(操作1025)。因此,在圖8所示的情況下,后繼者指針從LDSB 0到LDSB2再到具有空后繼者指針的LDSB3進(jìn)行遍歷。操作1025將LDSB 3中的后繼者指針重置為指向LDSB4。然后,控制轉(zhuǎn)到操作1030,其中,新LDSB的前趨者指針被設(shè)置。在圖8所示的情況下,LDSB 4的前趨者指針設(shè)置為指向LDSB 3。圖10的操作配置快照差別文件的高級(jí)數(shù)據(jù)映射圖。低級(jí)數(shù)據(jù)映射(即,從LMAP到PSEG或物理盤(pán)段)可根據(jù)以上提供的描述來(lái)進(jìn)行。
圖11是流程圖,說(shuō)明用于在利用一個(gè)或多個(gè)快照差別文件的環(huán)境下執(zhí)行讀操作的示范方法中的操作。參照?qǐng)D11,在操作1110,例如在存儲(chǔ)系統(tǒng)中的陣列控制器接收到讀請(qǐng)求。在一個(gè)示范實(shí)現(xiàn)中,讀請(qǐng)求可由主計(jì)算機(jī)產(chǎn)生,并且可標(biāo)識(shí)將被讀取的存儲(chǔ)系統(tǒng)中的邏輯塊地址(LBA)或者地址的另一個(gè)標(biāo)記。在操作1115,確定讀請(qǐng)求是否針對(duì)快照差別文件。在一個(gè)示范實(shí)現(xiàn)中,快照差別文件可被分配可用來(lái)進(jìn)行操作1115中所要求的判定的特定LBA和/或LD標(biāo)識(shí)符。
如果在操作1115確定讀請(qǐng)求不是針對(duì)快照差別文件,則控制轉(zhuǎn)到操作1135,以及讀請(qǐng)求可按照正常操作過(guò)程從讀請(qǐng)求中所標(biāo)識(shí)的LD執(zhí)行。相反,如果在操作1115確定讀請(qǐng)求是針對(duì)快照差別文件,則執(zhí)行操作1120-1130,從而遍歷現(xiàn)有快照差別文件以查找讀請(qǐng)求中所標(biāo)識(shí)的LBA。
在操作1120,活動(dòng)快照差別文件被檢查,以便確定與讀請(qǐng)求中所標(biāo)識(shí)的LBA關(guān)聯(lián)的共享位是否被設(shè)置。如果共享位沒(méi)有設(shè)置,這表明活動(dòng)快照差別文件在所標(biāo)識(shí)LBA中包含新數(shù)據(jù),則控制轉(zhuǎn)到操作1135,以及讀請(qǐng)求可從讀請(qǐng)求中所標(biāo)識(shí)的快照差別文件中的LBA執(zhí)行。
相反,如果在操作1120沒(méi)有設(shè)置共享位,則控制轉(zhuǎn)到操作1125,在其中確定活動(dòng)快照差別文件的前趨者是否為另一個(gè)快照差別文件。在一個(gè)示范實(shí)現(xiàn)中,這可通過(guò)分析活動(dòng)快照差別的前趨者指針?biāo)鶚?biāo)識(shí)的LDSB來(lái)確定,如圖8所示。如果前趨者不是快照差別文件,則控制轉(zhuǎn)到操作1135,以及讀請(qǐng)求可按照正常操作過(guò)程從讀請(qǐng)求中標(biāo)識(shí)的LD執(zhí)行。相反,如果在操作1125確定讀請(qǐng)求針對(duì)快照差別文件,則執(zhí)行操作1125-1130,從而遍歷現(xiàn)有快照差別文件,直到在快照差別文件或者在LD中定位讀請(qǐng)求中標(biāo)識(shí)的LBA,以及LBA被讀取(操作1135)并返回給請(qǐng)求主機(jī)(操作1140)。
圖12是流程圖,說(shuō)明用于在利用一個(gè)或多個(gè)快照差別文件的環(huán)境下執(zhí)行寫(xiě)操作的示范方法中的操作。參照?qǐng)D12,在操作1210,例如在存儲(chǔ)系統(tǒng)中的陣列控制器接收到寫(xiě)請(qǐng)求。在一個(gè)示范實(shí)現(xiàn)中,寫(xiě)請(qǐng)求可由主計(jì)算機(jī)產(chǎn)生,并且可標(biāo)識(shí)寫(xiě)操作所針對(duì)的存儲(chǔ)系統(tǒng)中的邏輯塊地址(LBA)或者地址的另一個(gè)標(biāo)記。在操作1215,確定寫(xiě)請(qǐng)求是否針對(duì)快照差別文件。在一個(gè)示范實(shí)現(xiàn)中,快照差別文件可被分配可用來(lái)進(jìn)行操作1215中所要求的判定的特定LBA和/或LD標(biāo)識(shí)符。
如果在操作1215確定寫(xiě)請(qǐng)求不是針對(duì)快照差別文件,則控制轉(zhuǎn)到操作1245,寫(xiě)請(qǐng)求按照正常操作過(guò)程針對(duì)寫(xiě)請(qǐng)求中標(biāo)識(shí)的LD執(zhí)行,以及確認(rèn)被返回給主計(jì)算機(jī)(操作1255)。相反,如果在操作1215確定寫(xiě)請(qǐng)求針對(duì)快照差別文件,則執(zhí)行操作1220-1230,從而遍歷現(xiàn)有快照差別文件以查找寫(xiě)請(qǐng)求中所標(biāo)識(shí)的LBA。
在操作1220,活動(dòng)快照差別文件被檢查,以便確定與讀請(qǐng)求中所標(biāo)識(shí)的LBA關(guān)聯(lián)的共享位是否被設(shè)置。如果共享位沒(méi)有設(shè)置,這表明活動(dòng)快照差別文件在所標(biāo)識(shí)LBA中包含新數(shù)據(jù),則控制轉(zhuǎn)到操作1250,以及寫(xiě)請(qǐng)求可對(duì)于寫(xiě)請(qǐng)求中標(biāo)識(shí)的快照差別文件中的LBA執(zhí)行??梢岳斫?,寫(xiě)操作可以只改寫(xiě)由寫(xiě)操作改變的LBA或者包含寫(xiě)操作所改變的LBA的整個(gè)RSEG,取決于系統(tǒng)的配置。
相反,如果在操作1220沒(méi)有設(shè)置共享位,則控制轉(zhuǎn)到操作1225,在其中確定活動(dòng)快照差別文件的前趨者是否為另一個(gè)快照差別文件。在一個(gè)示范實(shí)現(xiàn)中,這可通過(guò)分析活動(dòng)快照差別的前趨者指針?biāo)鶚?biāo)識(shí)的LDSB來(lái)確定,如圖8所示。如果前趨者不是快照差別文件,則控制轉(zhuǎn)到操作1235,以及與寫(xiě)請(qǐng)求中標(biāo)識(shí)的LBA關(guān)聯(lián)的RSEG可從寫(xiě)請(qǐng)求中標(biāo)識(shí)的LD復(fù)制到緩沖器中。然后,控制轉(zhuǎn)到操作1240,以及寫(xiě)請(qǐng)求中的I/O數(shù)據(jù)合并到緩沖器中。然后,控制轉(zhuǎn)到操作1250,I/O數(shù)據(jù)被寫(xiě)入活動(dòng)快照差別文件,以及在操作1255,確認(rèn)被返回給主機(jī)。
相反,如果在操作1225確定寫(xiě)請(qǐng)求針對(duì)快照差別文件,則執(zhí)行操作1225-1230,從而遍歷現(xiàn)有快照差別文件,直到在快照差別文件或者在LD中定位寫(xiě)請(qǐng)求中標(biāo)識(shí)的LBA。然后,執(zhí)行操作1235-1250,從而將寫(xiě)操作改變的RSEG復(fù)制到活動(dòng)快照差別文件。
如上所述,在一個(gè)實(shí)現(xiàn)中,快照差別文件可以是時(shí)間限制的,即,快照差別文件可在特定時(shí)間點(diǎn)被激活,并且可在特定時(shí)間點(diǎn)被去活。圖13是流程圖,說(shuō)明用于將快照差別文件合并到邏輯盤(pán)、例如快照差別所關(guān)聯(lián)的快照克隆的示范方法中的操作。圖13的操作可作為后臺(tái)進(jìn)程定期運(yùn)行,或者可由特定事件或事件序列來(lái)觸發(fā)。
過(guò)程在操作1310開(kāi)始,這時(shí)接收到合并快照差別文件的請(qǐng)求。在一個(gè)示范實(shí)現(xiàn)中,合并請(qǐng)求可由主計(jì)算機(jī)產(chǎn)生,并且可標(biāo)識(shí)一個(gè)或多個(gè)快照差別文件以及快照差別文件將合并到其中的快照克隆。
在操作1315,查找“最早的”快照差別文件。在一個(gè)示范實(shí)現(xiàn)中,可通過(guò)跟隨LDSB映射圖的前趨者/后繼者指針軌跡、直到定位具有映射到快照克隆的前趨者指針的LDSB為止,來(lái)定位最早的快照差別。再次參照?qǐng)D8并假定LDSB 4為活動(dòng)快照差別文件,LDSB 4的前趨者為L(zhǎng)DSB 3。LDSB 3的前趨者為L(zhǎng)DSB 2,以及LDSB 2的前趨者是作為快照克隆的LDSB 0。因此,LDSB 2表示“最早的”快照差別文件,它將合并到快照克隆中。
操作1320發(fā)起通過(guò)快照差別文件中映射的每個(gè)RSTORE中的各RSEG的迭代循環(huán)。如果在操作1325,RSTORE中不再有要分析的RSEG,則控制轉(zhuǎn)到操作1360,它確定是否存在其它要分析的RSTORE。
如果在操作1325,在RSTORE中還有要分析的其它RSEG,則控制轉(zhuǎn)到操作1330,在其中確定是否對(duì)RSEG設(shè)置了后繼者共享位或者前趨者共享位。如果這些共享位中任一個(gè)被設(shè)置,則需要合并RSEG中的數(shù)據(jù),因此控制轉(zhuǎn)到操作1355。
相反,如果在操作1330沒(méi)有設(shè)置共享位,則控制轉(zhuǎn)到操作1335,并且讀取RSEG,以及RSEG中的數(shù)據(jù)被復(fù)制(操作1340)到前趨者、即快照克隆中的相應(yīng)存儲(chǔ)單元。在操作1345,共享位在合并的快照差別的RSEG中重置。如果在操作1355,RSTORE中還有要分析的RSEG,則控制重新轉(zhuǎn)到操作1330。操作1330-1355重復(fù)進(jìn)行,直到已經(jīng)分析了RSTORE中的所有RSEG,這時(shí)控制轉(zhuǎn)到操作1360,它確定是否還有要分析的RSTORE。如果在操作1360,還有要分析的RSTORE,則控制重新轉(zhuǎn)到操作1325,它對(duì)所選RSTORE重新開(kāi)始操作1330至1355的循環(huán)。
操作1325至1360重復(fù)進(jìn)行,直到在操作1360中不再有要分析的RSTORE,在這種情況下,控制轉(zhuǎn)到操作1365,以及前趨者LDSB(即與快照克隆關(guān)聯(lián)的LDSB)中的后繼者指針設(shè)置為指向被合并的LDSB的后繼者。在操作1370,被合并的LDSB設(shè)置為“空”,從而有效地終止合并LDSB的存在。這個(gè)過(guò)程可重復(fù)進(jìn)行,以便將“最早的”快照差別文件相繼地合并到快照克隆中。這也釋放已合并的快照差別LDSB供再用。
本文所述的是稱(chēng)作快照差別文件的文件結(jié)構(gòu)以及用于創(chuàng)建和使用快照差別文件的示范方法。在一個(gè)示范實(shí)現(xiàn)中,快照差別文件可結(jié)合遠(yuǎn)程復(fù)制操作中的快照克隆來(lái)實(shí)現(xiàn)。差別文件可與快照克隆的產(chǎn)生同時(shí)被創(chuàng)建和激活。改變與快照克隆關(guān)聯(lián)的源卷中的數(shù)據(jù)的I/O操作被記錄在活動(dòng)快照差別文件中?;顒?dòng)快照差別文件可在特定時(shí)間點(diǎn)或者在滿(mǎn)足與快照差別文件關(guān)聯(lián)的特定門(mén)限時(shí)被關(guān)閉。另一個(gè)快照差別文件可與關(guān)閉現(xiàn)有快照差別文件同時(shí)被激活,以及快照差別文件可采用表明快照差別文件之間的時(shí)間關(guān)系的指針來(lái)鏈接。在快照差別文件已經(jīng)關(guān)閉之后,文件可合并到與其關(guān)聯(lián)的快照克隆中。
備份操作在示范實(shí)現(xiàn)中,快照差別文件可用于在存儲(chǔ)網(wǎng)絡(luò)和/或存儲(chǔ)裝置中實(shí)現(xiàn)增量備份過(guò)程,它們既節(jié)省空間又節(jié)省時(shí)間,因?yàn)閭浞莶僮髦恍枰谱鲗?duì)源數(shù)據(jù)集的改變的副本。參照?qǐng)D14來(lái)說(shuō)明一種這樣的實(shí)現(xiàn),其中,圖14是流程圖,說(shuō)明在備份操作中利用快照差別文件的示范方法中的操作。
圖14的操作可通過(guò)計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可加載到計(jì)算機(jī)或者其它可編程設(shè)備以產(chǎn)生一種機(jī)器,使得在處理器或其它可編程設(shè)備上執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的部件。這些計(jì)算機(jī)程序指令還可存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中,它們可指導(dǎo)計(jì)算機(jī)或其它可編程設(shè)備以特定方式工作,使得計(jì)算機(jī)可讀存儲(chǔ)器中存儲(chǔ)的指令產(chǎn)生一種制造產(chǎn)品,其中包括實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的指令部件。計(jì)算機(jī)程序指令還可加載到計(jì)算機(jī)或者其它可編程設(shè)備,使一系列操作步驟在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行,從而產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖的一個(gè)或多個(gè)框中所指定的功能的步驟。
因此,流程圖說(shuō)明的框支持用于執(zhí)行指定功能的部件組合以及用于執(zhí)行指定功能的步驟組合。還會(huì)理解,流程圖說(shuō)明的各框以及流程圖說(shuō)明中的框的組合可通過(guò)執(zhí)行指定功能或步驟的基于專(zhuān)用硬件的計(jì)算機(jī)系統(tǒng)或者專(zhuān)用硬件及計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
參照?qǐng)D14,在操作1410,產(chǎn)生源文件的快照克隆。在操作1415,快照差別文件被激活,以及在操作1420,改變?cè)淳碇械臄?shù)據(jù)的I/O操作被記錄在快照差別文件中。這些操作可根據(jù)以上提供的描述來(lái)執(zhí)行。
在操作1425,產(chǎn)生快照克隆的備份副本。這個(gè)操作可響應(yīng)由用戶(hù)在用戶(hù)界面輸入的備份請(qǐng)求而執(zhí)行,或者響應(yīng)例如由定時(shí)器驅(qū)動(dòng)的自動(dòng)備份操作之類(lèi)的事件或者響應(yīng)源卷或快照克隆達(dá)到特定大小而執(zhí)行。備份副本可記錄在另一個(gè)盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器或其它介質(zhì)上。復(fù)制操作可通過(guò)后臺(tái)進(jìn)程來(lái)實(shí)現(xiàn),使得復(fù)制操作是存儲(chǔ)系統(tǒng)的用戶(hù)不可見(jiàn)的。
在操作1435,活動(dòng)快照差別文件可關(guān)閉,這時(shí),新的快照差別文件被激活(操作1440),以及已關(guān)閉的快照差別文件可合并到快照克隆文件中,如上所述。
在操作1443,產(chǎn)生快照差別文件的副本。這個(gè)操作可響應(yīng)由用戶(hù)在用戶(hù)界面輸入的備份請(qǐng)求而執(zhí)行,或者響應(yīng)例如由定時(shí)器驅(qū)動(dòng)的自動(dòng)備份操作之類(lèi)的事件或者響應(yīng)快照差別達(dá)到特定大小而執(zhí)行。在備份操作之前,快照差別需要被去活或關(guān)閉,而另一個(gè)快照差別被激活。備份副本可記錄在另一個(gè)盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器或其它介質(zhì)上。復(fù)制操作可通過(guò)后臺(tái)進(jìn)程來(lái)實(shí)現(xiàn),使得復(fù)制操作是存儲(chǔ)系統(tǒng)的用戶(hù)不可見(jiàn)的。這種類(lèi)型的備份通常稱(chēng)作增量備份,并且通常在快照差別文件的有效生存期中執(zhí)行一次。采用快照差別的這種類(lèi)型的增量備份的獨(dú)特方面在于,它在無(wú)需外部應(yīng)用或文件系統(tǒng)標(biāo)識(shí)什么內(nèi)容已被改變的情況下,提供僅備份在所使用的虛擬化映射的粒度等級(jí)上已經(jīng)改變的內(nèi)容的能力。
操作1430至1445可無(wú)限地反復(fù)進(jìn)行,持續(xù)在快照差別文件中記錄I/O操作并在適當(dāng)?shù)拇鎯?chǔ)介質(zhì)中保存快照差別文件的副本。因此,操作1410和1415可分別在第一時(shí)間點(diǎn)執(zhí)行以產(chǎn)生快照克隆和快照差別文件。操作1325可在第二時(shí)間點(diǎn)執(zhí)行以產(chǎn)生快照克隆的備份副本,以及操作1443可在第三時(shí)間點(diǎn)執(zhí)行以產(chǎn)生快照差別文件的副本??煺詹顒e的后續(xù)副本可在后續(xù)時(shí)間點(diǎn)產(chǎn)生。
圖14說(shuō)明采用快照差別文件來(lái)執(zhí)行增量備份操作的操作的完整序列。本領(lǐng)域的技術(shù)人員會(huì)理解,操作1410至1420可獨(dú)立實(shí)現(xiàn),即如上所述。圖14的操作最適合于盤(pán)到磁帶備份系統(tǒng)。
采用快照差別文件的備份操作是節(jié)省空間的,因?yàn)橹挥袑?duì)源卷的改變才在備份操作中記錄。另外,快照差別文件可用于備份操作的自動(dòng)管理例程。圖15是流程圖,說(shuō)明用于自動(dòng)管理備份操作的方法的一個(gè)示范實(shí)現(xiàn)中的操作。這種類(lèi)型的備份模型最適合于盤(pán)到盤(pán)備份系統(tǒng)。
在操作1510,接收備份設(shè)置指示器信號(hào)。在一個(gè)實(shí)現(xiàn)中,備份設(shè)置指示器信號(hào)可由用戶(hù)在適當(dāng)?shù)挠脩?hù)界面產(chǎn)生,并表明要保存的快照差別文件的門(mén)限數(shù)量。門(mén)限可表達(dá)為例如文件的數(shù)量、可分配給快照差別文件的存儲(chǔ)空間的最大量或者表達(dá)為時(shí)間參數(shù)。在操作1515,這個(gè)門(mén)限數(shù)量從信號(hào)中確定。
如果在操作1520,快照差別文件的當(dāng)前數(shù)量大于備份設(shè)置指示器信號(hào)中所表明的數(shù)量,則控制轉(zhuǎn)到操作1525,以及采用上述過(guò)程將“最早的”快照差別文件合并到快照克隆文件中。操作1520至1525可反復(fù)進(jìn)行,直到快照差別文件的當(dāng)前數(shù)量小于備份設(shè)置指示器信號(hào)中所表明的門(mén)限,這時(shí),控制轉(zhuǎn)到操作1530,并產(chǎn)生快照克隆。
在操作1533,當(dāng)前快照差別文件被去活,以及在操作1535,新的快照差別可被激活,并且對(duì)源卷的I/O操作被寫(xiě)入活動(dòng)的快照差別文件(操作1540)。
圖15的操作允許系統(tǒng)的用戶(hù)指定在后臺(tái)復(fù)制操作中要保存的快照差別文件的最大數(shù)量。作為實(shí)例,用戶(hù)可能配置辦公室中使用的、設(shè)置為每天打開(kāi)新的快照差別文件的存儲(chǔ)系統(tǒng),以及每天備份副本為快照差別文件。用戶(hù)還可指定七個(gè)快照差別文件的最大數(shù)量,使得在每一天,系統(tǒng)每天產(chǎn)生快照克隆文件的循環(huán)副本。最早的快照差別每天可重新循環(huán)到快照克隆中。本領(lǐng)域的技術(shù)人員會(huì)知道,其它配置是可用的。
雖然所述方案和過(guò)程已經(jīng)通過(guò)結(jié)構(gòu)特征和/或方法操作特定的語(yǔ)言進(jìn)行了描述,但要理解,所附權(quán)利要求中定義的主題不一定局限于所述的特定特征或操作。相反,特定特征和操作作為實(shí)現(xiàn)要求其權(quán)益的本主題的優(yōu)選形式來(lái)公開(kāi)。
權(quán)利要求
1.一種在存儲(chǔ)網(wǎng)絡(luò)中執(zhí)行備份操作的方法,包括在第一時(shí)間點(diǎn)產(chǎn)生源卷(710)的快照克隆(720);同時(shí)激活在邏輯上鏈接到所述快照克隆(720)的第一快照差別文件(730);將改變所述源卷(710)中的數(shù)據(jù)集的I/O操作記錄到所述第一快照差別文件(730)中;關(guān)閉所述第一快照差別文件(730);在所述第一時(shí)間點(diǎn)之后,在第二時(shí)間點(diǎn)產(chǎn)生所述快照克隆(720)的備份副本;以及在所述第二時(shí)間點(diǎn)之后,在第三時(shí)間點(diǎn)產(chǎn)生所述第一快照差別文件(730)的備份副本。
2.如權(quán)利要求1所述的方法,其特征在于,還包括同時(shí)打開(kāi)第二快照差別文件(732);以及將改變?cè)幢P(pán)卷(710)中的數(shù)據(jù)集的I/O操作記錄在所述第二快照差別文件(732)中。
3.如權(quán)利要求2所述的方法,其特征在于,還包括在所述第三時(shí)間點(diǎn)之后在第四時(shí)間點(diǎn)產(chǎn)生所述第二快照差別文件(732)的備份。
4.如權(quán)利要求1所述的方法,其特征在于,所述第一快照差別文件(730)包括用于記錄對(duì)于所述源盤(pán)卷(710)執(zhí)行的I/O操作以及用于記錄與各I/O操作關(guān)聯(lián)的時(shí)間的數(shù)據(jù)字段。
5.如權(quán)利要求1所述的方法,其特征在于,在所述第一時(shí)間點(diǎn)之后,在第二時(shí)間點(diǎn)產(chǎn)生所述快照克隆(720)的備份副本包括將備份副本寫(xiě)入永久存儲(chǔ)介質(zhì)。
6.如權(quán)利要求1所述的方法,其特征在于,在所述第二時(shí)間點(diǎn)之后,在第三時(shí)間點(diǎn)產(chǎn)生所述第一快照差別文件(730)的備份副本包括將備份副本寫(xiě)入永久存儲(chǔ)介質(zhì)。
7.如權(quán)利要求2所述的方法,其特征在于,還包括將所述第一快照差別文件(730)合并到所述快照克隆(720)中。
8.如權(quán)利要求7所述的方法,其特征在于,還包括在執(zhí)行所述合并操作之后產(chǎn)生所述快照克隆(720)的備份副本。
全文摘要
描述了示范存儲(chǔ)網(wǎng)絡(luò)體系結(jié)構(gòu)、數(shù)據(jù)體系結(jié)構(gòu)以及用于在存儲(chǔ)網(wǎng)絡(luò)中執(zhí)行備份操作的方法。一種示范方法可在存儲(chǔ)網(wǎng)絡(luò)中的處理器中實(shí)現(xiàn)。該方法包括在第一時(shí)間點(diǎn)產(chǎn)生源卷的快照克??;同時(shí)激活在邏輯上鏈接到快照克隆的第一快照差別文件;將改變?cè)淳碇械臄?shù)據(jù)集的I/O操作記錄到第一快照差別文件中;關(guān)閉第一快照差別文件;在第一時(shí)間點(diǎn)之后,在第二時(shí)間點(diǎn)產(chǎn)生快照克隆的備份副本;以及在第二時(shí)間點(diǎn)之后,在第三時(shí)間點(diǎn)產(chǎn)生第一快照差別文件的備份副本。
文檔編號(hào)G06F3/06GK1770088SQ20051011888
公開(kāi)日2006年5月10日 申請(qǐng)日期2005年11月1日 優(yōu)先權(quán)日2004年11月2日
發(fā)明者R·丹尼爾斯, L·納爾遜, A·達(dá)爾曼 申請(qǐng)人:惠普開(kāi)發(fā)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
灌云县| 阳信县| 乌鲁木齐市| 全州县| 洞口县| 叶城县| 德惠市| 焦作市| 四子王旗| 德昌县| 博兴县| 黄大仙区| 双城市| 布尔津县| 双桥区| 上高县| 莎车县| 元氏县| 莱芜市| 望谟县| 霸州市| 荆州市| 合阳县| 平罗县| 滨海县| 淄博市| 康马县| 门头沟区| 天长市| 新乡市| 赫章县| 南投市| 绥芬河市| 兴国县| 郸城县| 衡东县| 扎鲁特旗| 嘉定区| 东乌珠穆沁旗| 安徽省| 兴和县|