復制目標服務的制作方法
【專利說明】復制目標服務
[0001] 相關申請的交叉引用
[0002] 本申請要求2013年4月3日提交的美國專利申請第13/856, 279號的優(yōu)先權,所 述專利申請要求2013年3月20日提交的美國臨時專利申請第61/803, 764號的權益,上述 專利申請的內容以全文引用的方式并入本文中。
[0003] 背景
[0004] 數據存儲系統已演化,并繼續(xù)發(fā)展來跟上使用它們的組織的需求。舉例來說,許多 組織利用存儲區(qū)域網絡(SAN)來用于計算環(huán)境中的性能、冗余性、靈活性和簡單性的目的, 以及其它原因。盡管其具有許多優(yōu)點,但現代數據存儲系統可能存在對組織的許多挑戰(zhàn)。舉 例來說,數據存儲系統通常包括經配置以實現高性能的組件,且此性能通常是有代價的。因 此,數據存儲系統通常需要大量的資本投入。另外,許多數據存儲系統利用根據專有協議操 作的專門設備。將數據從數據存儲系統移到另一數據存儲系統可存在相當大的挑戰(zhàn),通常 要求使用能夠利用此類專有協議來通信的昂貴設備。因此,使用各種數據存儲系統的組織 可能發(fā)現自己處于需要更加多資本投入的情形中。
[0005] 附圖簡述
[0006] 將參考圖式來描述根據本公開的各種實施方案,其中:
[0007] 圖1示出其中可實踐各種實施方案的環(huán)境的例示性實例;
[0008] 圖2示出其中可實踐各種實施方案的環(huán)境的例示性實例;
[0009] 圖3示出根據至少一個實施方案的SCSI服務的例示性實例;
[0010] 圖4示出根據至少一個實施方案的用于提供SCSI服務的流程的例示性實例;
[0011] 圖5示出根據至少一個實施方案的用于將數據復制到SCSI服務的流程的例示性 實例;
[0012] 圖6示出根據至少一個實施方案的用于處理執(zhí)行數據操作的命令的流程的例示 性實例;
[0013] 圖7示出根據至少一個實施方案的用于使用緩沖器來處理寫入命令的流程的例 示性實例;
[0014] 圖8示出例示性圖表,其示出根據至少一個實施方案的數據目標的配置;
[0015] 圖9示出根據至少一個實施方案的用于從使用SCSI服務存儲的數據產生數據量 的流程的例示性實例;以及
[0016] 圖10說明其中可實施本公開的各種實施方案的環(huán)境。
[0017] 詳述
[0018] 在以下描述中,將描述各種實施方案。出于闡釋的目的,陳述特定配置和細節(jié),以 便提供對實施方案的全面理解。然而,所屬領域的技術人員也將明白,可在沒有特定細節(jié)的 情況下實踐所述實施方案。此外,為了不模糊正描述的實施方案,可省略或簡化眾所周知的 特征。
[0019] 所描述和建議的技術涉及提供用于為數據復制提供遠程(目標)的服務。在實施 方案中,實體(例如,組織)能夠聯系所述服務,例如穿過經適當配置的應用編程接口(API) 向所述服務調用,以請求提供支持讀取和寫入操作的虛擬裝置。在實施方案中,所述實體是 操作所述服務的計算資源提供者的客戶。在接收到請求后,所述服務可提供所請求的裝置, 并提供用于所述裝置的識別符。所述裝置可為例如虛擬數據存儲裝置,其經配置以根據小 計算機系統接口(SCSI)協議(例如SCSI-3)來操作。用于所述裝置的識別符可為邏輯單 元編號(LUN),其為所述實體唯一地識別所述裝置。如下文所論述,所述實體可將命令(例 如,SCSI命令)復制到所提供的虛擬裝置,以促使所述數據相應地存留。
[0020] 在實施方案中,所述實體使用數據存儲系統,例如存儲區(qū)域網絡(SAN)。利用所述 數據存儲系統的所述實體的主機(例如,服務器或其它計算裝置)能夠將命令發(fā)出到數據 存儲系統,以促使所述數據存儲系統執(zhí)行相應的操作。對于某些操作,例如寫入操作,將對 應命令發(fā)送到數據存儲系統以及對應于所提供的裝置的遙控端點兩者。舉例來說,當將寫 入命令發(fā)出到數據存儲系統時,將同一命令發(fā)送到提供所述裝置的服務,使得在數據存儲 系統處且為虛擬裝置遠程執(zhí)行所述寫入命令。
[0021] 在一些實例中,主機根據非專有協議,例如SCSI-3,與數據存儲系統通信??汕度?非專有協議的命令,以實現命令經由各種介質的運輸。舉例來說,主機可經由因特網協議小 計算機系統接口(iSCSI)協議或光纖信道協議(FCP),使用SCSI來與數據存儲系統通信。 對于某些類型的命令,使用非專有協議,通過經由網絡(例如因特網)將命令發(fā)送到遠程端 點來復制所述命令,如上文所論述??墒褂昧硪粎f議來包封非專有協議的命令,以實現其經 由所述網絡的傳送。
[0022] 如上文所述,遠程端點對應于服務的接口,其接收所述非專有協議的所復制的命 令,且相應地存留數據。舉例來說,所述服務可接收發(fā)出到SAN的相同SCSI命令。所述服 務可根據所述命令而存留數據,從而常見寫入到SAN的數據的復制。在一些實例中,所述服 務與數據存儲服務交互,以持續(xù)地且持久地為所提供的裝置存留數據。在其它實例中,所述 服務維持其自己的數據存儲器(例如,密鑰值存儲器,其中可使用數據的密鑰來存取所述 數據)。
[0023] 在各種實施方案中,命令發(fā)送到(且復制到服務)的數據存儲系統為塊數據存儲 系統,其在塊等級上操作,利用預定大小,例如512個字節(jié)的均一數據塊。發(fā)出到數據存儲 系統的命令可在塊等級上配置,例如通過制定所述命令應用于的一個或多個塊。用來結合 所復制的命令而留存數據的數據存儲服務可以不同方式操作。舉例來說,數據存儲服務可 為基于對象的,從而實現不一定為均一大小的數據對象的存儲?;趯ο蟮臄祿鎯ο到y 可存儲數據對象作為下面的塊數據存儲裝置的抽象。在一些實例中,數據存儲服務作為密 鑰值存儲器而操作,其中每一數據對象具有用于將數據對象定位在數據存儲系統中的對應 密鑰。對應于所復制的命令的數據可使用數據存儲服務在對象等級上存儲。在塊等級上發(fā) 出到數據存儲系統的寫入命令可轉化為在對象等級上發(fā)出到數據存儲服務的命令。舉例來 說,SCSI命令可用來合適地配置向數據存儲服務的API調用。在一些實施方案中,所述命 令的轉化是異步的。舉例來說,可將寫入命令寫入到緩沖器中(即,將因寫入命令的執(zhí)行而 存儲的數據可存儲在緩沖器中)??蓪⒕彌_器中的數據收集到單個數據對象中,例如,當緩 沖器的到期時間到期,或緩沖器中的數據量達到閾值時,所述閾值可為預定的。
[0024] 以此方式,數據存儲系統,例如SAN中的數據可持久地且持續(xù)地復制,而無需大量 額外的資本投入。另外,本文所描述且建議的技術促成額外的技術優(yōu)點。舉例來說,在一些 實施方案中,因為命令所復制到的服務能夠處理來自多個裝置的SCSI命令,所以所述多個 裝置不一定在單個位置中托管。在一個實例中,使用所述服務來支持其中一個裝置能夠向 所述服務所提供的虛擬裝置寫入,且多個裝置能夠從所述虛擬裝置讀取數據的模型。作為 另一實例,所述服務所存留的數據可用來提供額外的數據存儲量,以供其它計算機系統使 用。在一些實例中,計算資源提供者可提供虛擬塊存儲裝置,其可在邏輯上安裝到虛擬計算 機系統服務的虛擬計算機系統。本文所描述的各種技術也實現額外的用途。
[0025] 圖1示出其中可實踐各種實施方案的環(huán)境100的例示性實例。在環(huán)境100中,計 算資源提供者102將各種計算資源服務提供給計算資源提供者的客戶。計算資源提供者 102可為代表一個或多個客戶托管各種計算資源的組織。舉例來說,計算資源提供者可操 作用來托管各種計算硬件資源的一個或多個設施,例如硬件服務器、數據存儲裝置、網絡裝 置,本文所論述的其它裝置以及其它設備,例如服務器機架、連網電纜等。計算資源硬件可 利用其計算硬件資源來操作一個或多個服務。此類服務可包括使計算資源提供者的客戶能 夠遠程管理計算資源以支持客戶的操作,同時減少或甚至消除客戶投資實體設備的需要的 服務。實例服務包括但不限于各種數據存儲服務(基于對象的數據存儲服務、歸檔數據存 儲服務、數據庫服務等)、程序執(zhí)行服務和其它服務。所述服務可由客戶用來支持各種各樣 的活動,例如操作網站、操作支持組織的企業(yè)系統、分布式計算和/或其它活動。
[0026] 因此,如圖1中所說明,環(huán)境100包括客戶104。計算資源提供者102的客戶104 可利用計算資源提供者102所提供的各種服務。因此,客戶104可具有計算資源提供者所 托管的各種計算資源。如圖1中所說明,客戶104具有計算資源提供者102所托管的提供 者所托管客戶資源106。提供者所托管客戶資源106可但不一定包括一個或多個虛擬計算 機系統、一個或多個數據存儲裝置、一個或多個網絡家電和/或其它計算資源。在實施方案 中,計算資源提供者102提供SCSI服務108。
[0027] SCSI服務108可包括一個或多個計算資源,其共同經配置以提供SCSI端點,供計 算資源提供者的客戶使用,其中SCSI端點是可向其發(fā)送并相應地處理SCSI命令的邏輯裝 置。因此,例如,客戶104可利用SCSI服務108來接合計算資源提供者102所托管的SCSI 端點執(zhí)行各種操作。在一些實例中,客戶可向正利用SCSI協議的SCSI服務108發(fā)出命令, 其中所述命令可包括例如讀取命令、寫入命令和/或其它命令等命令。
[0028] 從客戶104向計算資源提供者102發(fā)出的命令可利用客戶104藉此與計算資源提 供者102通信的協議來包封。舉例來說,SCSI命令可從客戶104向利用iSCSI協議的計算 資源提供者102的SCSI服務108發(fā)出。根據本公開的各種實施方案,客戶104通過一個或 多個裝置,能夠與SCSI服務108交互,以請求計算資源提供者102將邏輯單元編號(LUN) 所識別的邏輯單元添加到提供者所托管的客戶資源106邏輯單元可為裝置(例如,虛擬裝 置),由SCSI協議或包封SCSI協議的另一協議尋址的裝置。應注意,術語"邏輯單元"和 "LUN"可互換使用,且其意義將從上下文清楚。
[0029] 客戶104可向SCSI服務108發(fā)送請求,其可經配置以促使LUNllO添加到提供者 所托管的客戶資源106??梢赃m當配置的API調用,例如網絡服務調用的形式來發(fā)送所述請 求。計算資源提供者102可用關于LUN的信息(即,關于LUN所識別的邏輯單元的信息) 來響應來自客戶104的對LUN的請求。關于邏輯單元的信息可包括例如LUN,其使客戶能夠 發(fā)出將結合所述LUN滿足的SCSI命令。來自客戶的SCSI命令可例如指定LUN,以使SCSI 服務108能夠恰當地執(zhí)行所述命令,例如通過從為所述客戶提供的許多LUN中的一者選擇。
[0030] 圖2示出其中可實踐本公開的各種實施方案的環(huán)境200的所說明實例。圖2中所 說明的環(huán)境200可包括例如上文結合圖1所述的那些組件的組件。舉例來說,圖2中的環(huán) 境200包括計算資源提供者202和客戶204。計算資源提供者202和客戶204可例如上文 結合圖1所述而配置。如圖2中所說明,客戶204可通過一個或多個通信網絡,例如因特網 206,與計算資源提供者202通信。從客戶204到計算資源提供者202的一些通信可促使計 算資源提供者202根據本文所述的各種技術及其變化來操作。
[0031] 如上文所述,計算資源提供者202可向其客戶提供各種計算資源服務。舉例來說, 在此特定例示性實例中,計算資源提供者202提供至少四種服務。在此實例中,計算資源提 供者所提供的服務包括基于對象的數據存儲服務208、塊數據存儲服務210、SCSI服務212 以及虛擬計算機系統服務214,但不是本公開的所有實施方案均將包括所有此類服務,且在 一些實施方案中,除本文明確描述的服務之外,或作為所述服務的替代方案,可提供額外服 務。
[0032] 在實施方案中,基于對象的數據存儲服務208包括共同操作以存儲客戶的數據的 計算資源集合?;趯ο蟮臄祿鎯Ψ?08所存儲的數據可組織成數據對象。所述數據 對象可具有任意大小,也許對大小的某些限制除外。因此,數據存儲服務可存儲不同大小的 大量數據對象?;趯ο蟮臄祿鎯Ψ湛蔀槊荑€值存儲器,其使數據對象與數據對象的 識別符相關聯,所述識別符可由客戶204用來結合基于對象的數據存儲服務208所存儲的 數據對象來檢索或執(zhí)行其它操作。對數據存儲服務的存取可通過適當配置的API調用。另 外,在一些實施方案中,可使用唯一 URL來尋址數據存儲服務所存儲的數據對象,所述唯一 URL可編碼數據對象的密鑰和/或所述對象的邏輯數據容器。
[0033] 實施方