国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      導出作為存儲對象的邏輯卷的數據存儲系統(tǒng)的制作方法

      文檔序號:6496308閱讀:288來源:國知局
      導出作為存儲對象的邏輯卷的數據存儲系統(tǒng)的制作方法
      【專利摘要】存儲系統(tǒng)導出被供應為存儲對象的邏輯存儲卷。連接的計算機系統(tǒng)通過在存儲系統(tǒng)中配置的用于協(xié)議流量的邏輯端點、使用比如SCSI和NFS的標準協(xié)議按照需求訪問這些存儲對象。從具有地址空間的邏輯存儲容器創(chuàng)建邏輯存儲卷,該地址空間映射到物理數據存儲單元的存儲位置。這樣創(chuàng)建的邏輯存儲卷中的每個邏輯存儲卷具有地址空間,該地址空間映射到邏輯存儲容器的地址空間。邏輯存儲容器可以跨越多于一個存儲系統(tǒng),并且可以用適當安全設置從相同邏輯存儲容器供應不同客戶的邏輯存儲卷。
      【專利說明】導出作為存儲對象的邏輯卷的數據存儲系統(tǒng)
      【背景技術】
      [0001]隨著計算機系統(tǒng)縮放至企業(yè)級,特別是在支持大規(guī)模數據中心的情境中,下層數據存儲系統(tǒng)經常運用存儲區(qū)域網絡(SAN)或者網絡附著存儲裝置(NAS)。如在常規(guī)上被良好理解的那樣,SAN或者NAS提供諸多技術能力和操作益處,這些技術能力和操作益處基礎地包括數據存儲設備的虛擬化、具有透明的容許故障的故障恢復和故障保護控制的物理設備的冗余性、在地理上分布和復制的存儲裝置以及從以客戶端為中心的計算機系統(tǒng)管理去耦合的集中式監(jiān)督和存儲配置管理。
      [0002]在架構上,在SAN存儲系統(tǒng)中的存儲設備(例如,盤陣列等)通常連接到網絡交換機(例如,光纖信道交換機等),這些網絡交換機然后連接到服務器或者“主機”,這些服務器或者“主機”需要訪問存儲設備中的數據。在SAN中的服務器、交換機和存儲設備通常使用小型計算機系統(tǒng)接口(SCSI)協(xié)議來通信,該SCSI協(xié)議在盤數據塊級跨越網絡傳送數據。對照而言,NAS設備通常是如下設備,該設備內部包含一個或者多個存儲設備并且通過網絡協(xié)議(比如以太網)連接到主機(或者居間交換機)。除了包含存儲設備之外,NAS設備也已經根據基于網絡的文件系統(tǒng)(比如網絡文件系統(tǒng)(NFS)或者公共因特網文件系統(tǒng)(CIFS))預先格式化它的存儲設備。這樣,如與向主機暴露盤(被稱為LUN并且以下進一步具體描述)——這些盤然后需要根據由主機利用的文件系統(tǒng)來格式化并且然后裝配——的SAN比對,NAS設備的基于網絡的文件系統(tǒng)(該系統(tǒng)需要由主機的操作系統(tǒng)支持)使NAS設備向主機的操作系統(tǒng)表現為文件服務器,該文件服務器然后可以裝配或者映射NAS設備例如作為操作系統(tǒng)可訪問的網絡驅動。應當認識到,隨著存儲系統(tǒng)銷售商不斷創(chuàng)新和發(fā)布新產品,在SAN與NAS存儲系統(tǒng)之間的清晰差別繼續(xù)減弱,而實際存儲系統(tǒng)實現方式經常展現二者的特性、在相同系統(tǒng)中提供文件級協(xié)議(NAS)和塊級協(xié)議(SAN) 二者。例如,在備選NAS架構中,NAS “首領(head)”或者“網關”設備聯網到主機而不是傳統(tǒng)NAS設備。這樣的NAS網關設備未本身包含存儲驅動,而是使外部存儲設備能夠連接到NAS網關設備(例如,經由光纖信道接口等)。被主機以相似方式感知為傳統(tǒng)NAS設備的這樣的NAS網關設備提供一種用于顯著增加基于NAS的存儲架構的容量(例如,在更傳統(tǒng)上由SAN支持的存儲容量級)而又保持文件級存儲訪問的簡單性的能力。
      [0003]SCSI和其他基于塊協(xié)議的存儲設備(比如圖1A中所示的存儲系統(tǒng)30)利用代表一個或者多個編程的存儲處理器的存儲系統(tǒng)管理器31以聚合存儲設備中的存儲單元或者驅動并且將它們呈現為各自具有唯一可標識編號的一個或者多個LUN (邏輯單元編號)34。LUN34通過網絡20 (例如,光纖信道等)由一個或者多個計算機系統(tǒng)10通過物理主機總線適配器(HBA)Il來訪問。在計算機系統(tǒng)10內和在HBAll以上,通過從低級設備驅動器層12開始并且在操作系統(tǒng)專屬文件系統(tǒng)層15中結束的一系列軟件層有特點地實施存儲訪問抽象化。實現對LUN34的基本訪問的設備驅動器層12通常專屬于由存儲系統(tǒng)使用的通信協(xié)議(例如,SCSI等)??梢栽谠O備驅動器層12以上實施數據訪問層13以支持通過HBAll以及其他數據訪問控制和管理功能可見的LUN34的多路徑合并。通常在數據訪問層13與常規(guī)操作系統(tǒng)文件系統(tǒng)層15之間實施的邏輯卷管理器14支持通過HBAll可訪問的LUN34的面向卷的虛擬化和管理??梢栽谶壿嬀砉芾砥?4的控制之下將多個LUN34作為卷一起聚集和管理以用于向文件系統(tǒng)層15呈現并且由文件系統(tǒng)層15用作邏輯設備。
      [0004]存儲系統(tǒng)管理器31實施在存儲系統(tǒng)30中駐留的、在圖1A中被稱為紡錘體(spindle) 32的通?;诒P驅動的物理存儲單元的虛擬化。從邏輯觀點來看,這些紡錘體32中的每個紡錘體可以被視為固定大小的盤區(qū)(extent)的依次陣列。存儲系統(tǒng)管理器31通過向連接的計算機系統(tǒng)(比如計算機系統(tǒng)10)暴露連續(xù)邏輯存儲空間(該邏輯存儲空間被劃分成被稱為LUN34的虛擬SCSI設備的集合)來抽象化掉使讀取和寫入操作以盤驅動的實際紡錘體和盤區(qū)的地址為目標的復雜性。每個LUN借助存在這樣的LUN以及向計算機系統(tǒng)10呈現這樣的LUN來代表被指派用于由計算機系統(tǒng)10使用的某個容量。存儲系統(tǒng)管理器31維護元數據,該元數據包括用于每個這樣的LUN到盤區(qū)的有序列表的映射,其中每個這樣的盤區(qū)可以被標識為紡錘體-盤區(qū)對〈紡錘體#,盤區(qū)#>并且因此可以位于各種紡錘體32中的任何紡錘體中。
      [0005]圖1B是通過網絡21 (例如,以太網)經由網絡接口卡(NIC) 11’連接到一個或者多個計算機系統(tǒng)10的基于NAS或者文件級的常規(guī)存儲系統(tǒng)40的框圖。存儲系統(tǒng)40包括代表一個或者多個編程的存儲處理器的存儲系統(tǒng)管理器41。存儲系統(tǒng)管理器41在存儲系統(tǒng)40中駐留的、在圖1B中稱為紡錘體42的通?;诒P驅動的物理存儲單元上面實施文件系統(tǒng)45。從邏輯觀點來看,這些紡錘體中的每個紡錘體可以被視為固定大小的盤區(qū)43的依次陣列。文件系統(tǒng)45通過向連接的計算機系統(tǒng)(比如計算機系統(tǒng)10)暴露包括目錄和文件(這些目錄和文件可以被組織成文件系統(tǒng)級卷44 (下文稱為“FS卷”),這些FS卷通過它們的相應裝配點來訪問)的名稱空間來抽象化掉使讀取和寫入操作以盤驅動的實際紡錘體和盤區(qū)的地址為目標的復雜性。
      [0006]即使有以上描述的存儲系統(tǒng)中的進步,仍然已經廣泛地認識到它們未充分可伸縮以滿足虛擬化的計算機系統(tǒng)的特定需要。例如,服務器機器群集可以服務于多達10,000個虛擬機(VM),每個VM使用數目為多個的“虛擬盤”和數目為多個的“快照”,每個虛擬盤和快照可以例如被存儲為特定LUN或者FS卷上的文件。即使按比例縮減的估計為每VM有2個虛擬盤和2個快照,如果VM直接連接到物理盤(即每物理盤有I個虛擬盤或者快照),這仍然總計為存儲系統(tǒng)支持60,000個不同盤。此外,在這一規(guī)模的存儲設備和拓撲管理已知有困難。作為結果,開發(fā)了比如在這里通過引用而結合的、名稱為“Providing MultipleConcurrent Access to a File System”的美國專利7,849,098中描述的數據存儲庫這一概念,在這些數據存儲庫中,將VM復用到物理存儲實體(例如,基于LUN的VMFS群集文件系統(tǒng)或者FS卷)的更小集合上。
      [0007]在運用LUN或者FS卷的常規(guī)存儲系統(tǒng)中,來自多個VM的工作量通常由單個LUN或者單個FS卷服務。作為結果,來自一個VM工作量的資源需求將影響在相同LUN或者FS卷上向另一 VM工作量提供的服務水平。用于存儲的效率測量(比如延時和每秒輸入/輸出操作(IO)或者10PS)因此取決于在給定的LUN或者FS卷中的工作量的數目變化并且不能被保障。因而,不能在每VM基礎上執(zhí)行用于運用LUN或者FS卷的存儲系統(tǒng)的存儲策略,并且不能在每VM基礎上給予服務水平協(xié)定(SLA)保障。此外,在LUN或者FS卷的粒度而不是在VM的虛擬盤的粒度提供由存儲系統(tǒng)銷售商提供的數據服務(比如快照、復制、加密和去重復)。作為結果,可以使用由存儲系統(tǒng)銷售商提供的數據服務來為整個LUN或者整個FS卷創(chuàng)建快照,但是不能從其中存儲虛擬盤的LUN或者文件系統(tǒng)分離地創(chuàng)建用于VM的單個虛擬盤的快照。

      【發(fā)明內容】

      [0008]一個或者多個實施例涉及一種存儲系統(tǒng),該存儲系統(tǒng)被配置用于隔離在其中運行的工作量,從而使得可以每工作量地提供SLA保障并且可以每工作量地提供存儲系統(tǒng)的數據服務,而無需存儲系統(tǒng)的徹底重新設計。在存儲用于多個虛擬機的虛擬盤的存儲系統(tǒng)中,可以在每虛擬盤基礎上提供SLA保障,并且可以在每虛擬盤基礎上提供存儲系統(tǒng)的數據服務。
      [0009]根據本發(fā)明的一個實施例,存儲系統(tǒng)從這里被稱為“存儲容器”的邏輯存儲容量指派之中導出在每工作量基礎上被供應為存儲對象的、這里被稱為“虛擬卷”的邏輯存儲卷。對于VM,可以對于VM的虛擬盤和快照中的每個虛擬盤和快照創(chuàng)建虛擬卷。在一個實施例中,由連接的計算機系統(tǒng)通過在存儲系統(tǒng)中配置的被稱為“協(xié)議端點”的用于協(xié)議流量的邏輯端點、使用標準協(xié)議(比如SCSI和NFS)按照需求訪問虛擬卷。
      [0010]根據本發(fā)明的一個實施例的一種從包括物理數據存儲單元(DSU)的存儲系統(tǒng)創(chuàng)建邏輯存儲卷的方法包括以下步驟:創(chuàng)建具有地址空間的邏輯存儲容器,該地址空間映射到DSU的存儲位置;以及創(chuàng)建多個邏輯存儲卷,每個邏輯存儲卷具有地址空間,該地址空間映射到邏輯存儲容器的地址空間,并且每個邏輯存儲卷是IO被引向的存儲對象。
      [0011]根據本發(fā)明的一個實施例的一種存儲系統(tǒng)群集包括:第一存儲系統(tǒng)和第二存儲系統(tǒng),每個存儲系統(tǒng)具有物理DSU集合;以及分布式存儲系統(tǒng)管理器,被配置用于創(chuàng)建邏輯存儲容器,邏輯存儲容器映射到第一存儲系統(tǒng)和第二存儲系統(tǒng)二者的DSU的存儲位置,并且從邏輯存儲容器創(chuàng)建多個邏輯存儲卷。
      [0012]本發(fā)明的實施例還包括一種存儲指令的非瞬態(tài)計算機可讀存儲介質,這些指令在由計算機系統(tǒng)執(zhí)行時使計算機系統(tǒng)執(zhí)行以上闡述的方法之一。
      【專利附圖】

      【附圖說明】
      [0013]圖1A是通過網絡連接到一個或者多個計算機系統(tǒng)的基于塊協(xié)議的常規(guī)存儲設備的框圖。
      [0014]圖1B是通過網絡連接到一個或者多個計算機系統(tǒng)的常規(guī)NAS設備的框圖。
      [0015]圖2A是根據本發(fā)明的一個實施例的實施虛擬卷的基于塊協(xié)議的存儲系統(tǒng)群集的框圖。
      [0016]圖2B是根據本發(fā)明的一個實施例的實施虛擬卷的基于NAS的存儲系統(tǒng)群集的框圖。
      [0017]圖3是根據本發(fā)明的一個實施例的圖2A或者圖2B的存儲系統(tǒng)群集的用于管理虛擬卷的部件的框圖。
      [0018]圖4是用于創(chuàng)建存儲容器的方法步驟的流程圖。
      [0019]圖5A是在基于SAN的存儲系統(tǒng)上主控的被配置用于實施虛擬卷的計算機系統(tǒng)的一個實施例的框圖。
      [0020]圖5B是在基于NAS的存儲系統(tǒng)上主控的被配置用于虛擬卷的圖5A的計算機系統(tǒng)的框圖。
      [0021]圖5C是在基于SAN的存儲系統(tǒng)上主控的被配置用于實施虛擬卷的計算機系統(tǒng)的另一實施例的框圖。
      [0022]圖是在基于NAS的存儲系統(tǒng)上主控的被配置用于虛擬卷的圖5C的計算機系統(tǒng)的框圖。
      [0023]圖6是圖示根據本發(fā)明的一個實施例的用來管理虛擬卷的部件和通信路徑的計算機環(huán)境的簡化框圖。
      [0024]圖7是用于向圖2A或者圖2B的存儲系統(tǒng)群集認證計算機系統(tǒng)的方法步驟的流程圖。
      [0025]圖8是根據一個實施例的用于創(chuàng)建虛擬卷的方法步驟的流程圖。
      [0026]圖9A是用于發(fā)現可用于計算機系統(tǒng)的協(xié)議端點的方法步驟的流程圖。
      [0027]圖9B是用于存儲系統(tǒng)發(fā)現計算機系統(tǒng)經由帶內路徑連接到的協(xié)議端點的方法步驟的流程圖。
      [0028]圖10是根據一個實施例的用于發(fā)出和執(zhí)行虛擬卷綁定請求的方法步驟的流程圖。
      [0029]圖1lA和圖1lB是根據一個實施例的用于向虛擬卷發(fā)出IO的方法步驟的流程圖。
      [0030]圖12是根據一個實施例的用于在存儲系統(tǒng)執(zhí)行IO的方法步驟的流程圖。
      [0031]圖13是根據一個實施例的用于發(fā)出和執(zhí)行虛擬卷重新綁定請求的方法步驟的流程圖。
      [0032]圖14是虛擬卷的生命周期的概念圖。
      [0033]圖15是根據一個實施例的使用圖2A的存儲系統(tǒng)的用于供應VM的方法步驟的流程圖。
      [0034]圖16A是用于使VM通電的方法步驟的流程圖。
      [0035]圖16B是用于使VM斷電的方法步驟的流程圖。
      [0036]圖17是用于擴展VM的vvol的大小的方法步驟的流程圖。
      [0037]圖18是用于在存儲容器之間移動VM的vvol的方法步驟的流程圖。
      [0038]圖19是用于從模板VM克隆VM的方法步驟的流程圖。
      [0039]圖20是根據另一實施例的用于供應VM的方法步驟的流程圖。
      [0040]圖21圖示采樣存儲能力簡檔和用于創(chuàng)建存儲容器的方法,該方法包括簡檔選擇步驟。
      [0041]圖22是圖示用于創(chuàng)建vvol以及定義用于vvol的存儲能力簡檔的方法步驟的流程圖。
      [0042]圖23是圖示用于創(chuàng)建快照的方法步驟的流程圖。
      【具體實施方式】
      [0043]圖2A和圖2B是根據本發(fā)明的實施例的實施“虛擬卷”的存儲系統(tǒng)群集的框圖。存儲系統(tǒng)群集包括一個或者多個存儲系統(tǒng),例如,存儲系統(tǒng)UO1和1302,這些存儲系統(tǒng)可以是盤陣列,每個存儲系統(tǒng)具有多個數據存儲單元(DSU),在圖中標注這些DSU之一為141,并且存儲系統(tǒng)群集包括存儲系統(tǒng)管理器131和132,這些存儲系統(tǒng)管理器控制存儲系統(tǒng)130的各種操作以實現這里描述的本發(fā)明的實施例。在一個實施例中,兩個或者更多存儲系統(tǒng)130可以實施分布式存儲系統(tǒng)管理器135,該分布式存儲系統(tǒng)管理器135控制存儲系統(tǒng)群集的操作如同它們是單個邏輯存儲系統(tǒng)一樣。分布式存儲系統(tǒng)管理器135的操作域可以跨越在相同數據中心中或者跨越多個數據中心安裝的存儲系統(tǒng)。例如,在一個這樣的實施例中,分布式存儲系統(tǒng)管理器135可以包括存儲系統(tǒng)管理器131,存儲系統(tǒng)管理器131在與用作“從屬”管理器的存儲系統(tǒng)管理器132通信時用作“主控”管理器,但是應當認識到,可以實施用于實施分布式存儲系統(tǒng)管理器的多種備選方法。DSU代表物理存儲單兀,例如,基于盤或者閃存的存儲單元,比如旋轉盤或者固態(tài)盤。根據實施例,存儲系統(tǒng)群集創(chuàng)建并且向連接的計算機系統(tǒng)(比如計算機系統(tǒng)IOO1和IOO2)暴露如這里進一步具體描述的“虛擬卷”(vvol)。在計算機系統(tǒng)100中運行的應用(例如,VM等,這些VM訪問它們的虛擬盤)使用標準協(xié)議(t匕如在圖2A的實施例中為SCSI和在圖2B的實施例中為NFS)、通過在存儲系統(tǒng)130中被配置的、被稱為“協(xié)議端點”(PE)的用于SCSI或者NFS協(xié)議流量的邏輯端點按需訪問vvol。從計算機系統(tǒng)100到存儲系統(tǒng)130的用于與應用有關的數據操作的通信路徑這里被稱為“帶內”路徑。在計算機系統(tǒng)100的主機總線適配器(HBA)與在存儲系統(tǒng)130中配置的PE之間以及在計算機系統(tǒng)100的網絡接口卡(NIC)與在存儲系統(tǒng)130中配置的PE之間的通信路徑是帶內路徑的示例。從計算機系統(tǒng)100到存儲系統(tǒng)130的不是在帶內并且通常用來執(zhí)行管理操作的通信路徑這里被稱為“帶外”路徑。在圖6中從帶內路徑分離地圖示帶外路徑的示例,比如在計算機系統(tǒng)100與存儲系統(tǒng)130之間的以太網網絡連接。為了簡化,計算機系統(tǒng)100被示出為直接連接到存儲系統(tǒng)130。然而,應當理解,它們可以通過多個路徑和交換機中的一個或者多個交換機連接到存儲系統(tǒng)130。
      [0044]分布式存儲系統(tǒng)管理器135或者單個存儲系統(tǒng)管理器131或者132可以從代表物理DSU的邏輯聚合的邏輯“存儲容器”創(chuàng)建vvol (例如,在計算機系統(tǒng)100請求時等)。一般而言,存儲容器可以跨越多于一個存儲系統(tǒng),并且許多存儲容器可以由單個存儲系統(tǒng)管理器或者分布式存儲系統(tǒng)管理器創(chuàng)建。相似地,單個存儲系統(tǒng)可以包含許多存儲容器。在圖2A和圖2B中,由分布式存儲系統(tǒng)管理器135創(chuàng)建的存儲容器142a被示出為跨越存儲系統(tǒng)130:和存儲系統(tǒng)1302,而存儲容器142b和存儲容器142。被示出為包含于單個存儲系統(tǒng)內(即,分別為存儲系統(tǒng)UO1和存儲系統(tǒng)1302)。應當認識到,由于存儲容器可以跨越多個一個存儲系統(tǒng),所以存儲系統(tǒng)管理員可以向它的客戶供應超過任一存儲系統(tǒng)的存儲容量的存儲容量。還應當認識到,由于可以在單個存儲系統(tǒng)內創(chuàng)建多個存儲容器,所以存儲系統(tǒng)管理員可以使用單個存儲系統(tǒng)來向多個客戶供應存儲裝置。
      [0045]在圖2A的實施例中,從基于塊的存儲系統(tǒng)供應每個vvol。在圖2B的實施例中,基于NAS的存儲系統(tǒng)在DSU141上面實施文件系統(tǒng)145,并且向計算機系統(tǒng)100暴露每個wol作為在這一文件系統(tǒng)內的文件對象。此外,如以下將進一步具體描述的那樣,在計算機系統(tǒng)100上運行的應用通過PE訪問用于IO的vvol。例如,如圖2A和圖2B中的虛線所示,vvol 151 和 vvol 152 經由 PE161 可訪問;vvol 153 和 vvol 155 經由 PE162 可訪問;vvol 154經由PE163和PE164可訪問;并且vvol 156經由PE165可訪問。應當認識到,來自多個存儲容器的vvol (比如在存儲容器142a中的vvol 153和在存儲容器142。中的vvol 155)可以在任何給予的時間經由單個PE (比如PE162)可訪問。還應當認識到,PE (比如PE166)可以在不存在經由它們可訪問的任何vvol時存在。[0046]在圖2A的實施例中,存儲系統(tǒng)130使用已知的用于設立LUN的方法來將PE實施為特殊類型的LUN。如與LUN —樣,存儲系統(tǒng)130向每個UE提供被稱為WffN (世界范圍名稱)的唯一標識符。在一個實施例中,在創(chuàng)建PE時,存儲系統(tǒng)130未指定用于特殊LUN的大小,因為這里描述的PE不是實際數據容器。在一個這樣的實施例中,存儲系統(tǒng)130可以指派零值或者很小的值作為與PE有關的LUN的大小,從而使得如以下進一步討論的那樣,管理員可以在請求存儲系統(tǒng)提供LUN (例如,傳統(tǒng)數據LUN和與PE有關的LUN)的列表時快速標識PE。相似地,存儲系統(tǒng)130可以向PE指派大于255的LUN編號作為用于LUN的標識編號以用人類友好方式指示它們不是數據LUN。作為用于在PE與LUN之間區(qū)分的另一方式,可以向擴展的查詢數據VPD頁面(頁面86h)添加PE位。在LUN是PE時將PE位設置成1,并且在它是普通數據LUN時設置成O。計算機系統(tǒng)100可以通過發(fā)出SCSI命令REP0RT_LUNS(報告_LUN)來經由帶內路徑發(fā)現PE并且通過檢查指示的PE位來確定它們是否為根據這里描述的實施例的PE或者常規(guī)數據LUN。計算機系統(tǒng)100可以可選地檢查LUN大小和LUN編號性質以進一步確認LUN是否為PE或者常規(guī)LUN。應當認識到,以上描述的技術中的任何技術可以用來區(qū)分與PE有關的LUN與普通數據LUN。在一個實施例中,PE位技術是用來區(qū)分與PE有關的LUN與普通數據LUN的僅有技術。
      [0047]在圖2B的實施例中,使用已知的用于設立指向FS卷的裝配點的方法在存儲系統(tǒng)130中創(chuàng)建PE。在圖2B的實施例中創(chuàng)建的每個PE由也常規(guī)地被一起稱為“裝配點”的IP地址和文件系統(tǒng)路徑唯一標識。然而,不同于常規(guī)裝配點,PE并不與FS卷關聯。此外,不同于圖2A的PE,圖2B的PE除非虛擬卷綁定到給定的PE否則不可經由帶內路徑被計算機系統(tǒng)100發(fā)現。因此,圖2B的PE經由帶外路徑由存儲系統(tǒng)報告。
      [0048]圖3是根據一個實施例的圖2A或者圖2B的存儲系統(tǒng)群集的用于管理虛擬卷的部件的框圖。部件包括在一個實施例中在存儲系統(tǒng)130中執(zhí)行的存儲系統(tǒng)管理器131和132的軟件模塊或者在另一實施例中的分布式存儲系統(tǒng)管理器135的軟件模塊,即輸入/輸出(I/O)管理器304、卷管理器306、容器管理器308和數據訪問層310。在這里的實施例的描述中,應當理解,由分布式存儲系統(tǒng)管理器135采取的任何動作可以取決于實施例由存儲系統(tǒng)管理器131或者存儲系統(tǒng)管理器132采取。
      [0049]在圖3的示例中,分布式存儲系統(tǒng)管理器135已經從DSU141創(chuàng)建了三個存儲容器SC1、SC2和SC3,這些存儲容器中的每個存儲容器被示出為具有被標注為Pl至Pn的紡錘體盤區(qū)。一般而言,每個存儲容器具有固定物理大小并且與DSU的具體盤區(qū)關聯。在圖3中所示的示例中,分布式存儲系統(tǒng)管理器135具有對容器數據庫316的訪問,容器數據庫316為每個存儲容器存儲它的容器ID、物理布局信息和一些元數據。容器數據庫316由容器管理器308管理和更新,容器管理器308在一個實施例中是分布式存儲系統(tǒng)管理器135的部件。容器ID是在創(chuàng)建存儲容器時向存儲容器給予的通用唯一標識符。物理布局信息由與給予的存儲容器關聯并且被存儲為〈系統(tǒng)ID,DSU ID,盤區(qū)編號 > 的有序列表的DSU141的紡錘體盤區(qū)構成。元數據分節(jié)可以包含一些公共和一些存儲系統(tǒng)銷售商專屬元數據。例如,元數據分節(jié)可以包含被許可訪問存儲容器的計算機系統(tǒng)或者應用或者用戶的ID。作為另一示例,元數據分節(jié)包含分配位圖,該分配位圖用于表示已經向現有vvol分配了存儲系統(tǒng)的哪些〈系統(tǒng)ID,DSU ID,盤區(qū)編號〉盤區(qū)并且哪些盤區(qū)空閑。在一個實施例中,存儲系統(tǒng)管理員可以創(chuàng)建用于不同業(yè)務單元的分離存儲容器,從而使得未從相同存儲容器供應不同業(yè)務單元的vvol。可以應用其他用于隔離vvol的策略。例如,存儲系統(tǒng)管理員可以采用將從不同存儲容器供應云服務的不同客戶的VVOl這樣的策略。VVOl也可以根據它們的所需服務水平被分組并且從存儲容器被供應。此外,存儲系統(tǒng)管理員可以創(chuàng)建、刪除和以其他方式管理存儲容器,比如定義可以被創(chuàng)建的存儲容器數目以及設置可以每存儲容器設置的最大物理大小。
      [0050]同樣,在圖3的示例中,分布式存儲系統(tǒng)管理器135已經供應了(代表請求計算機系統(tǒng)100)各自來自不同存儲容器的多個vvol。一般而言,vvol可以具有固定物理大小或者可以被瘦供應,并且每個vvol具有vvol ID,該vvol ID是在創(chuàng)建vvol時向vvol給予的通用唯一標識符。對于每個vvol, vvol數據庫314為每個vvol存儲它的vvol ID、其中創(chuàng)建vvol的存儲容器的容器ID和在該存儲容器內的包括vvol的地址空間的〈偏移,長度>值的有序列表。vvol數據庫314由卷管理器306管理和更新,卷管理器306在一個實施例中是分布式存儲系統(tǒng)管理器135的部件。在一個實施例中,vvol數據庫314也存儲關于vvol的少量元數據。這一元數據在vvol數據314中被存儲為關鍵字-值對的集合,并且可以在vvol的存在期間的任何時間經由帶外路徑由計算機系統(tǒng)100更新和查詢。存儲的關鍵字-值對落入三個類別中。第一類別是:熟知的關鍵字——某些關鍵字的定義(并且因此它們的值的解釋)公開地可用。一個示例是與虛擬卷類型(例如,在虛擬機實施例中,vvol是否包含VM的元數據或者VM的數據)對應的關鍵字。另一示例是App ID,App ID是在vvol中存儲數據的應用的ID。第二類別是:計算機系統(tǒng)專屬關鍵字——計算機系統(tǒng)或者它的管理模塊將某些關鍵字和值存儲為虛擬卷的元數據。第三類別是:存儲系統(tǒng)銷售商專屬關鍵字——這些允許存儲系統(tǒng)銷售商存儲與虛擬卷的元數據關聯的某些關鍵字。存儲系統(tǒng)銷售商將這一關鍵字-值存儲庫用于它的元數據的一個原因是所有這些關鍵字經由用于vvol的帶外信道容易地可用于存儲系統(tǒng)銷售商插件和其他擴展。用于關鍵字-值對的存儲操作是虛擬卷創(chuàng)建和其他過程的部分,并且因此存儲操作應當合理地快。存儲系統(tǒng)也被配置用于基于與在具體關鍵字上提供的值的確切匹配來實現虛擬卷的搜索。
      [0051]IO管理器304是維護連接數據庫312的軟件模塊(也在某些實施例中為分布式存儲系統(tǒng)管理器135的部件),連接數據庫312存儲在PE與vvol之間的當前有效IO連接路徑。在圖3中所示的示例中,示出了七個當前有效IO會話。每個有效會話具有關聯的PEID、次級標識符(SLLID)、vvol ID和參考計數(RefCnt),參考計數指示通過這一 IO會話執(zhí)行IO的不同應用的數目。由分布式存儲系統(tǒng)管理器135 (例如,在由計算機系統(tǒng)100請求時)在PE與vvol之間建立有效IO會話的過程這里被稱為“綁定”過程。對于每個綁定,分布式存儲系統(tǒng)管理器135 (例如,經由IO管理器304)向連接數據庫312添加條目。由分布式存儲系統(tǒng)管理器135隨后拆除IO會話的過程這里被稱為“解綁定”過程。對于每個解綁定,分布式存儲系統(tǒng)管理器135 (例如,經由10管理器304)將10會話的參考計數遞減一。在10會話的參考計數為零時,分布式存儲系統(tǒng)管理器135 (例如,經由10管理器304)可以從連接數據庫312刪除用于該10連接路徑的條目。如先前討論的那樣,在一個實施例中,計算機系統(tǒng)100生成并且經由帶外路徑向分布式存儲系統(tǒng)管理器135傳輸綁定和解綁定請求。備選地,計算機系統(tǒng)100可以通過使現有錯誤路徑超負荷來生成并且經由帶內路徑傳輸解綁定請求。在一個實施例中,在參考計數從0改變成I或者相反時將生成數被改變成單調增加數或者隨機生成的數。在另一實施例中,生成數是隨機生成的數,并且從連接數據庫312消除RefCnt列,并且對于每個綁定,即使在綁定請求是對已經綁定的wol時,分布式存儲系統(tǒng)管理器135也(例如,經由IO管理器304)向連接數據庫312添加條目。
      [0052]在圖2A的存儲系統(tǒng)群集中,IO管理器304使用連接數據庫312來處理通過PE接收的來自計算機系統(tǒng)100的IO請求(10)。當在PE之一接收IO時,IO管理器304解析IO以標識在IO中包含的PE ID和SLLID以便確定IO被既定用于的vvol。通過訪問連接數據庫314,IO管理器304然后能夠取回與解析的PE ID和SLLID關聯的vvol ID。在圖3和后續(xù)圖中,為了簡化而將PE ID示出為PE_A、PE_B等。在一個實施例中,實際PE ID是PE的WWN。此外,SLLID被示出為S0001、S0002等。實際SLLID由分布式存儲系統(tǒng)管理器135生成為在與連接數據庫312中的給定的PE ID關聯的SLLID之中的任何唯一數。在具有vvolID的虛擬卷的邏輯地址空間與DSU141的物理位置之間的映射由卷管理器306使用vvol數據庫314以及由容器管理器308使用容器數據庫316來執(zhí)行。一旦已經獲得了 DSU141的物理位置,數據訪問層310 (在一個實施例中也為分布式存儲系統(tǒng)管理器135的部件)就在這些物理位置上執(zhí)行10。
      [0053]在圖2B的存儲系統(tǒng)群集中,通過PE接收10,并且每個這樣的IO包括IO已經被發(fā)到的NFS句柄(或者相似的文件系統(tǒng)句柄)。在一個實施例中,用于這樣的系統(tǒng)的連接數據庫312包含存儲系統(tǒng)的NFS接口的IP地址為PE ID以及包括文件系統(tǒng)路徑為SLLID?;趘vol在文件系統(tǒng)145中的vvol的位置生成SLLID。在vvol的邏輯地址空間與DSU141的物理位置之間的映射由卷管理器306使用vvol數據庫314以及由容器管理器308使用容器數據庫316來執(zhí)行。一旦已經獲得了 DSU141的物理位置,數據訪問層就在這些物理位置上執(zhí)行10。應當認識到,對于圖2B的存儲系統(tǒng),容器數據庫312可以在用于給定的vvol的容器位置條目中包含文件:〈偏移,長度〉條目有序列表(即,vvol可以包括在文件系統(tǒng)145中存儲的多個文件段)。
      [0054]在一個實施例中,在易失性存儲器中維護連接數據庫312,而在持久存儲裝置(t匕如DSU141)中維護vvol數據庫314和容器數據庫316。在其他實施例中,可以在持久存儲裝置中維護所有數據庫312、314、316。
      [0055]圖4是用于創(chuàng)建存儲容器的方法步驟410的流程圖。在一個實施例中,這些步驟在存儲管理員的控制之下由存儲系統(tǒng)管理器131、存儲系統(tǒng)管理器132或者分布式存儲系統(tǒng)管理器135執(zhí)行。如以上指出的那樣,存儲容器代表物理DSU的邏輯聚合并且可以跨越來自多于一個存儲系統(tǒng)的物理DSU。在步驟411,存儲管理員(經由分布式存儲系統(tǒng)管理器135等)設置存儲容器的物理容量。在云或者數據中心內,這一物理容量可以例如代表由客戶租賃的物理存儲裝置的量。由這里公開的存儲容器提供的靈活性是不同客戶的存儲容器可以由存儲管理員從相同存儲系統(tǒng)供應,并且用于單個客戶的存儲容器可以例如在任何一個存儲設備的物理容量不足以滿足客戶請求的大小的情況下或者在比如wol的物理存儲覆蓋區(qū)將自然地跨越多個存儲系統(tǒng)這樣的復制的情況下從多個存儲系統(tǒng)被供應。在步驟412,存儲管理員設置用于訪問存儲容器的權限級別。例如,在多租戶數據中心中,客戶僅可以訪問已經向他或者她租賃的存儲容器。在步驟413,分布式存儲系統(tǒng)管理器135生成用于存儲容器的唯一標識符。然后,在步驟414,分布式存儲系統(tǒng)管理器135 (例如,在一個實施例中經由容器管理器308)以充分數量向存儲容器分配DSU141的空閑紡錘體盤區(qū)。如以上指出的那樣,在任何一個存儲系統(tǒng)的自由空間不足以滿足物理容量的情況下,分布式存儲系統(tǒng)管理器135可以從多個存儲系統(tǒng)分配DSU141的紡錘體盤區(qū)。在已經分配了分區(qū)之后,分布式存儲系統(tǒng)管理器135 (例如,經由容器管理器308)用唯一容器ID、<系統(tǒng)編號、DSUID、盤區(qū)編號 > 的有序列表和被許可訪問存儲容器的計算機系統(tǒng)的上下文ID更新容器數據庫 316。
      [0056]根據這里描述的實施例,存儲容量簡檔(例如,SLA或者服務質量(QoS))可以在每vvol基礎上由分布式存儲系統(tǒng)管理器135 (例如,代表請求計算機系統(tǒng)100)配置。因此,有可能讓具有不同存儲能力簡檔的vvol是相同存儲容器的部分。在一個實施例中,系統(tǒng)管理員定義默認存儲能力簡檔(或者多個可能存儲能力簡檔),該(或者這些)存儲能力簡檔在創(chuàng)建存儲容器時用于新創(chuàng)建的vvol并且被存儲于容器數據庫316的元數據分節(jié)中。如果未對于在存儲容器內創(chuàng)建的新vvol顯式地指定存儲能力簡檔,則新vvol將繼承與存儲容器關聯的默認存儲能力簡檔。
      [0057]圖5A是在圖2A的存儲系統(tǒng)群集上主控的被配置用來實施虛擬卷的計算機系統(tǒng)的實施例的框圖??梢栽诎ㄒ粋€或者多個中央處理單元(CPU)501、存儲器502、一個或者多個網絡接口卡(NIC) 503和一個或者多個主機總線適配器(HBA) 504的通常為服務器類的常規(guī)硬件平臺500上構造計算機系統(tǒng)101。HBA504使計算機系統(tǒng)101能夠通過在存儲設備130中配置的PE向虛擬卷發(fā)出10。如圖5A中進一步所示,在硬件平臺500上面安裝操作系統(tǒng)508,并且在操作系統(tǒng)508上面執(zhí)行多個應用512^512^操作系統(tǒng)508的示例包括熟知的商用操作系統(tǒng)(比如Microsoft Windows、Linux等)中的任何操作系統(tǒng)。
      [0058]根據這里描述的實施例,每個應用512具有與之關聯的一個或者多個vvol并且向由操作系統(tǒng)508按照由應用512向操作系統(tǒng)508中的“創(chuàng)建設備`”調用來創(chuàng)建的vvol的塊設備實例發(fā)出10。在塊設備數據庫533中維護在塊設備名稱與vvol ID之間的關聯。來自應用512i_512N的10由文件系統(tǒng)驅動器510接收,文件系統(tǒng)驅動器510將它們轉換成塊10,并且向虛擬卷設備驅動器532提供塊10。在另一方面,來自應用512i的10被示出為繞過文件系統(tǒng)驅動器510并且被直接提供給虛擬卷設備驅動器532,這表示應用512i以在通過這里引用將全部內容結合、名稱為“Providing Access to a Raw Data Storage Unit ina Computer System”的美國專利7,155,558中描述的方式直接訪問它的塊設備作為原始存儲設備,例如,作為數據庫盤、日志盤、備份存檔和內容貯存庫。在虛擬卷設備驅動器532接收塊10時,它訪問塊設備數據庫533以引用在10中指定的塊設備名稱與PE IDCPE LUN的WffN)和SLLID之間的映射,該PE ID和SLLID定義通向與塊設備名稱關聯的vvol的10連接路徑。在這里所示的示例中,塊設備名稱archive對應于為應用512i創(chuàng)建的塊設備實例vvol 12,并且塊設備名稱foo、dbase和log分別對應于為應用5122_512N中的一個或者多個應用創(chuàng)建的塊設備實例VV011、VV0116和vvoll7。在塊設備數據庫533中存儲的其他信息包括用于每個塊設備的活躍位值,該活躍位值指示塊設備是否活躍,并且包括CIF (在飛行中的命令,commands-1n-flight)值?;钴S位“ I”表示可以向塊設備發(fā)出10?;钴S位“O”表示塊設備不活躍并且不能向塊設備發(fā)出10。CIF值提供多少10在飛行中(B卩,被發(fā)出但是尚未完成)的指示。在這里所示的示例中,塊設備foo活躍并且具有一些在飛行中的命令。塊設備archive不活躍并且將不會接受更加新的命令。然而,它等待2個在飛行中的命令完成。塊設備dbase不活躍而無未完成的命令。最后,塊設備log活躍,但是應用當前沒有向設備的未決10。虛擬卷設備驅動器532可以選擇在任何時間從它的數據庫533去除這樣的設備。
      [0059]除了執(zhí)行以上描述的映射之外,虛擬卷設備驅動器532還向數據訪問層540發(fā)出原始塊級10。數據訪問層540包括設備訪問層534和用于HBA504的設備驅動器536,設備訪問層534將命令排隊和調度策略應用于原始塊級10,并且設備驅動器536在符合協(xié)議的格式中格式化原始塊級IO并且向HBA504發(fā)送它們以用于經由帶內路徑向PE轉發(fā)。在其中使用SCSI協(xié)議的實施例中,在如在SAM-5 (SCSI架構模型-5)中指定的SCSI LUN數據字段中編碼vvol信息,該數據字段是8字節(jié)結構。在前2個字節(jié)中編碼常規(guī)地用于LUN ID的PE ID,并且利用剩余6個字節(jié)(的一部分)在SCSI第二級LUN ID中編碼vvol信息,特別地為SLLID。
      [0060]如圖5A中進一步所示,數據訪問層540也包括用于處置通過帶內路徑從存儲系統(tǒng)接收的IO錯誤的錯誤處置單元542。在一個實施例中,由I/O管理器304通過PE傳播由錯誤處置單元542接收的IO錯誤。IO錯誤類的示例包括在計算機系統(tǒng)101與PE之間的路徑錯誤、PE錯誤和vvol錯誤。錯誤處置單元542將所有檢測到的錯誤分類為前述類。在遇到通向PE的路徑錯誤并且通向PE的另一路徑存在時,數據訪問層540沿著通向PE的不同路徑傳輸10。在IO錯誤是PE錯誤時,錯誤處置單元542更新塊設備數據庫533以指示用于通過PE發(fā)出IO的每個塊設備的錯誤狀況。在IO錯誤是vvol錯誤時,錯誤處置單元542更新塊設備數據庫533以指示用于與vvol關聯的每個塊設備的錯誤狀況。錯誤處置單元542也可以發(fā)出報警或者系統(tǒng)事件,從而使得將拒絕向具有錯誤狀況的塊設備的進一步10。
      [0061]圖5B是圖5A的計算機系統(tǒng)的框圖,該計算機系統(tǒng)已經被配置用于與圖2B的存儲系統(tǒng)群集而不是圖2A的存儲系統(tǒng)群集對接。在這一實施例中,數據訪問層540包括NFS客戶端545和用于NIC503的設備驅動器546。NFS客戶端545將塊設備名稱映射到PE ID(NAS存儲系統(tǒng)的IP地址)和SLLID,該SLLID是與塊設備對應的NFS文件句柄。如圖5B中所示在塊設備數據庫533中存儲這一映射。應當注意,活躍和CIF列仍然存在,但是在圖5B中所示的塊設備數據庫533中未被圖示。如以下將描述的那樣,NFS文件句柄在NAS存儲系統(tǒng)內唯一標識文件對象,并且可以在綁定過程期間被生成。備選地,響應于對于綁定vvol的請求,NAS存儲系統(tǒng)返回PE ID和SLLID,并且使用普通帶內機制(例如,查找或者readdirplus)的vvol的開放將給予NFS文件句柄。NFS客戶端545也將從虛擬卷設備驅動器532接收的原始塊級IO轉譯成基于NFS文件的10。用于NIC503的設備驅動器546然后在符合協(xié)議的格式中格式化基于NFS文件的IO并且將它們與NFS句柄一起發(fā)送到NIC503以用于經由帶內路徑向PE之一轉發(fā)。
      [0062]圖5C是被配置用于實施虛擬卷的計算機系統(tǒng)的另一實施例的框圖。在這一實施例中,向計算機系統(tǒng)102配置這里被表示為管理程序560的虛擬化軟件。在硬件平臺550上面安裝管理程序560,硬件平臺550包括CPU551、存儲器552、NIC553和HBA554并且支持虛擬機執(zhí)行空間570,可以在虛擬機執(zhí)行空間570內并行實例化和執(zhí)行多個虛擬機(VM)571r571NO在一個或者多個實施例中,使用由加利福尼亞州帕羅奧圖市的VMware公司分發(fā)的VMware vSphere?產品來實施管理程序560和虛擬機571。每個虛擬機571實施虛擬硬件平臺573,虛擬硬件平臺573支持安裝能夠執(zhí)行應用579的客戶操作系統(tǒng)(0S)572??蛻?S572的示例包括熟知的商用操作系統(tǒng)(比如Microsoft Windows、Linux等)中的任何操作系統(tǒng)。在每個實例中,客戶0S572包括本機文件系統(tǒng)層(在圖5C中未示出),例如,NTFS或者ext3FS類型的文件系統(tǒng)層。這些文件系統(tǒng)層與虛擬硬件平臺573對接以從客戶0S572的觀點來看訪問數據存儲裝置HBA,數據存儲裝置HBA在現實中是由虛擬硬件平臺573實施的虛擬HBA574,虛擬HBA574提供表現盤存儲支持(在現實中為虛擬盤或者虛擬盤575A_575X)以實現執(zhí)行客戶0S572。在某些實施例中,虛擬盤575A-575X可以表現為從客戶0S572的觀點來看支持用于連接到虛擬機的SCSI標準或者本領域普通技術人員已知的包括IDE、ATA和ATAPI的任何其他適當硬件連接接口標準。雖然從客戶0S572的觀點來看,由這樣的客戶0S572發(fā)起的用于實施與文件系統(tǒng)有關的數據傳送和控制操作的文件系統(tǒng)調用表現為向虛擬盤575a-575x尋路由以用于最終執(zhí)行,但是在現實中,通過虛擬HBA574處理和傳遞這樣的調用以調整虛擬機監(jiān)視器(VMM) 561^56、,這些虛擬機監(jiān)視器(VMM) 561r561N實施為了與管理程序560協(xié)調操作而需要的虛擬系統(tǒng)支持。具體而言,HBA仿真器562在功能上使數據傳送和控制操作能夠由管理程序560正確處置,管理程序560通過它的各種層向連接到存儲系統(tǒng)130的HBA554最終傳遞這樣的操作。
      [0063]根據這里描述的實施例,每個VM571具有與之關聯的一個或者多個vvol并且向由管理程序560按照由VM571向管理程序560中的“創(chuàng)建設備”調用來創(chuàng)建的vvol的塊設備實例發(fā)出10。在塊設備數據庫580中維護在塊設備名稱與wol ID之間的關聯。來自VM5712-571n的IO由SCSI虛擬化層563接收,SCSI虛擬化層563將它們轉換成虛擬機文件系統(tǒng)(VMFS)驅動器564理解的文件10。VMFS驅動器的564然后將文件IO轉換成塊10,并且向虛擬卷設備驅動器565提供塊10。在另一方面,來自VM571i的IO被示出為繞過VMFS驅動器564并且被直接提供給虛擬卷設備驅動器565,這表示VM57L以在美國專利7,155,558中描述的方式直接訪問它的塊設備作為原始存儲設備,例如,作為數據庫盤、日志盤、備份存檔和內容貯存庫。
      [0064]在虛擬卷設備驅動器565接收塊 IO時,它訪問塊設備數據庫580以引用在IO中指定的塊設備名稱與PE ID和SLLID之間的映射,PE ID和SLLID定義通向與塊設備名稱關聯的vvol的IO會話。在這里所示的示例中,塊設備名稱dbase和log分別對應于為VM571:創(chuàng)建的塊設備實例vvol I和vvol4,并且塊設備名稱vmdk2、vmdkn和snapn分別對應于為VM5712-571N中的一個或者多個VM創(chuàng)建的塊設備實例vvoll2、vvoll6和vvoll7。在塊設備數據庫580中存儲的其他信息包括用于每個塊設備的活躍位值,該活躍位值指示塊設備是否活躍,并且包括CIF (在飛行中的命令)值?;钴S位“I”表示可以向塊設備發(fā)出10?;钴S位“O”表示塊設備不活躍并且不能向塊設備發(fā)出10。CIF值提供多少10在飛行中(B卩,被發(fā)出但是尚未完成)的指示。
      [0065]除了執(zhí)行以上描述的映射之外,虛擬卷設備驅動器565還向數據訪問層566發(fā)出原始塊級10。數據訪問層566包括設備訪問層567和用于HBA554的設備驅動器568,設備訪問層567將命令排隊和調度策略應用于原始塊級10,并且設備驅動器568在符合協(xié)議的格式中格式化原始塊級10并且向HBA554發(fā)送它們以用于經由帶內路徑向PE轉發(fā)。在其中使用SCSI協(xié)議的實施例中,在如在SAM-5 (SCSI架構模型_5)中指定的SCSI LUN數據字段中編碼vvol信息,SCSI LUN數據字段是8字節(jié)結構。在前2個字節(jié)中編碼常規(guī)地用于LUN ID的PE ID,并且利用剩余6個字節(jié)(的一部分)在SCSI第二級LUN ID中編碼vvol信息,特別地為SLLID。如圖5C中進一步所示,數據訪問層566也包括以與錯誤處置單元542相同的方式工作的錯誤處置單元569。
      [0066]圖是圖5C的計算機系統(tǒng)的框圖,該計算機系統(tǒng)已經被配置用于與圖2B的存儲系統(tǒng)群集而不是圖2A的存儲系統(tǒng)群集對接。在這一實施例中,數據訪問層566包括NFS客戶端585和用于NIC553的設備驅動器586。NFS客戶端585將塊設備名稱映射到PE ID( IP地址)和與塊設備對應的SLLID (NFS文件句柄)。如圖中所示在塊設備數據庫580中存儲這一映射。應當注意,活躍和CIF列仍然存在但是在圖中所示的塊設備數據庫580中未被圖不。如以下將描述的那樣,NFS文件句柄在NAS內唯一標識文件對象,并且在一個實施例中在綁定過程期間被生成。NFS客戶端585也將從虛擬卷設備驅動器565接收的原始塊級IO轉譯成基于NFS文件的10。用于NIC553的設備驅動器586然后在符合協(xié)議的格式中格式化基于NFS文件的IO并且將它們與NFS句柄一起發(fā)送到NIC553以用于經由帶內路徑向PE之一轉發(fā)。
      [0067]應當認識到,可以不同地引用用來描述圖5A-圖中的部件的各種術語、層和分類而未脫離它們的功能或者本發(fā)明的精神實質和范圍。例如,VMM561可以被視為在VM571與管理程序560之間的分離的虛擬化部件(在這樣的概念中可以本身被視為虛擬化“內核”部件),因為存在用于每個實例化的VM的分離的VMM。備選地,每個VMM561可以被視為它的對應虛擬機的部件,因為這樣的VMM包括用于虛擬機的硬件仿真部件。在這樣的備選概念中,例如,被描述為虛擬硬件平臺573的概念層可以與VMM561合并和合并到VMM561中,從而使得從圖5C和圖去除虛擬主機總線適配器574(即,因為它的功能由主機總線適配器仿真器562實現)。
      [0068]圖6是圖示根據本發(fā)明的一個實施例的用來管理vvol的部件和通信路徑的計算機環(huán)境的簡化框圖。如先前描述的那樣,用于IO協(xié)議流量的通信路徑被稱為帶內路徑并且在圖6中被示出為虛線601,虛線601連接計算機系統(tǒng)的數據訪問層540 (通過在計算機系統(tǒng)中提供的HBA或者NIC)與在存儲系統(tǒng)130中配置的一個或者多個PE。用來管理vvol的通信路徑是帶外路徑(如先前定義的那樣,不是“在帶內”的路徑)并且在圖6中被示出為實線602。根據這里描述的實施例,可以通過在管理服務器610中提供的插件612和/或在計算機系統(tǒng)103中的每個計算機系統(tǒng)中提供的插件622管理vvol,在圖6中僅示出這些插件之一。在存儲設備側上,管理接口 625由存儲系統(tǒng)管理器131配置,并且管理接口 626由存儲系統(tǒng)管理器132配置。此外,管理接口 624由分布式存儲系統(tǒng)管理器135配置。每個管理接口與插件612、622通信。為了有助于發(fā)出和處置管理命令,已經開發(fā)了特殊應用編程接口(API)。應當認識到,在一個實施例中,定制兩個插件612、622以與來自特定存儲系統(tǒng)銷售商的存儲硬件通信。因此,管理服務器610和計算機系統(tǒng)103將在與用于不同存儲系統(tǒng)銷售商的存儲硬件通信時運用不同插件。在另一實施例中,可以有與任何銷售商的管理接口交互的單個插件。這將需要將存儲系統(tǒng)管理器編程為熟知接口(例如,借助由計算機系統(tǒng)和/或管理服務器發(fā)布)。
      [0069]還向管理服務器610配置用于關聯計算機系統(tǒng)的系統(tǒng)管理器611。在一個實施例中,計算機系統(tǒng)執(zhí)行虛擬機,并且系統(tǒng)管理器611管理在計算機系統(tǒng)中運行的虛擬機。管理虛擬機的系統(tǒng)管理器611的一個示例是由VMware公司分發(fā)的vSphere?產品。如所示,系統(tǒng)管理器611與在計算機系統(tǒng)103中運行的主機后臺程序(daemon) (hostd) 621通信(通過在管理服務器610和計算機系統(tǒng)103 二者的適當硬件接口)以從計算機系統(tǒng)103接收資源使用報告并且對在計算機系統(tǒng)103中運行的應用發(fā)起各種管理操作。
      [0070]圖7是用于向圖2A或者圖2B的存儲系統(tǒng)群集認證計算機系統(tǒng)的方法步驟的流程圖。在計算機系統(tǒng)通過向存儲系統(tǒng)傳輸它的安全套接字層(SSL)證書來請求認證時發(fā)起這些方法步驟。在步驟710,存儲系統(tǒng)向請求認證的計算機系統(tǒng)發(fā)出用于認證證書的提示(例如,用戶名和口令)。當在步驟712接收認證證書時,存儲系統(tǒng)在步驟714比較它們與存儲的證書。如果提供了正確證書,則存儲系統(tǒng)在關鍵字存儲庫中存儲認證的計算機系統(tǒng)的SSL證書(步驟716)。如果提供了不正確證書,則存儲系統(tǒng)忽略SSL證書并且返回適當錯誤消息(步驟718)。在被認證之后,計算機系統(tǒng)可以調用API以通過SSL鏈路向存儲系統(tǒng)發(fā)出管理命令,并且在SSL證書中包括的唯一上下文ID由存儲系統(tǒng)用來實行某些策略,比如定義哪些計算機系統(tǒng)可以訪問哪些存儲容器。在一些實施例中,可以在管理計算機系統(tǒng)批準的權限時使用它們的上下文ID。例如,主機計算機可以被許可創(chuàng)建vvol,但是可以不被許可刪除vvol或者vvol的快照,或者主機計算機可以被許可創(chuàng)建vvol的快照,但是可以不被許可克隆vvol。此外,權限可以根據登錄到認證的計算機系統(tǒng)的用戶的用戶級特權變化。
      [0071]圖8是用于使用創(chuàng)建虛擬卷API命令來創(chuàng)建虛擬卷的方法步驟的流程圖。在一個實施例中,計算機系統(tǒng)103在計算機系統(tǒng)103在步驟802從它的應用之一接收對于創(chuàng)建具有某個大小和存儲能力簡檔(比如最小IOPS和平均延時)的vvol的請求時經由帶外路徑602向存儲系統(tǒng)發(fā)出創(chuàng)建虛擬卷API命令。作為響應,計算機系統(tǒng)103在步驟804 (在計算機系統(tǒng)103和請求應用被許可訪問的并且具有充分空閑容量以適應請求的存儲容器之中)選擇存儲容器并且經由插件622向存儲系統(tǒng)發(fā)出創(chuàng)建虛擬卷API命令。API命令包括wol的存儲容器ID、vvol大小和存儲能力簡檔。在另一實施例中,API命令包括應用要求存儲系統(tǒng)與新創(chuàng)建的vvol —起存儲的關鍵字-值對集合。在另一實施例中,管理服務器610經由帶外路徑602向存儲系統(tǒng)發(fā)出創(chuàng)建虛擬卷API命令(經由插件612)。
      [0072]在步驟806,存儲系統(tǒng)管理器經由管理接口(例如,管理接口 624、625或者626)接收對于生成vvol的請求并且訪問選擇的存儲容器的在容器數據庫316中的元數據分節(jié)以驗證包括計算機系統(tǒng)103和應用的請求上下文具有充分權限以在選擇的存儲容器中創(chuàng)建vvoL.在一個實施例中,如果權限級別不充分,則向計算機系統(tǒng)103返回錯誤消息。如果權限級別充分,則在步驟810生成唯一 wol ID。然后,在步驟812,存儲系統(tǒng)管理器掃描容器數據庫316的元數據分節(jié)中的分配位圖以確定選擇的存儲容器的空閑分區(qū)。存儲系統(tǒng)管理器分配選擇的存儲容器的足以適應請求的vvol大小的空閑分區(qū)并且更新存儲容器的在容器數據庫316的元數據分節(jié)中的分配位圖。存儲系統(tǒng)管理器也用新vvol條目更新vvol數據庫314。新vvol條目包括在步驟810生成的vvol ID、新分配的存儲容器盤區(qū)的有序列表和新vvol的被表達為關鍵字-值對的元數據。然后,在步驟814,存儲系統(tǒng)管理器向計算機系統(tǒng)103傳輸vvol ID0在步驟816,計算機系統(tǒng)103關聯vvol ID與請求創(chuàng)建vvol的應用。在一個實施例中,為每個應用維護一個或者多個vvol描述符文件,并且向為請求創(chuàng)建vvol的應用而維護的vvol描述符文件中寫入vvol ID0
      [0073]如圖2A和圖2B中所示,并非所有vvol連接到PE。未連接到PE的vvol不知道由對應應用發(fā)出的10,因為未向vvol建立10會話。在可以向vvol發(fā)出10之前,vvol經歷綁定過程,作為該綁定過程的結果,vvol將被綁定到特定PE。一旦vvol被綁定到PE,就可以向vvol發(fā)出10直至從PE解綁定vvol。[0074]在一個實施例中,由計算機系統(tǒng)130使用綁定虛擬卷API經由帶外路徑602向存儲系統(tǒng)發(fā)出綁定請求。綁定請求標識待綁定的vvol (使用vvol ID),并且作為響應,存儲系統(tǒng)將wol綁定到計算機系統(tǒng)103經由帶內路徑連接到的PE。圖9A是用于計算機系統(tǒng)經由帶內路徑發(fā)現它連接到的PE的方法步驟的流程圖。使用標準SCSI命令REP0RT_LUNS經由帶內路徑發(fā)現在基于SCSI協(xié)議的存儲設備中配置的PE。使用API經由帶外路徑發(fā)現在基于NFS協(xié)議的存儲設備中配置的PE。由計算機系統(tǒng)為每個連接的存儲系統(tǒng)執(zhí)行圖9A的方法步驟。
      [0075]在步驟910,計算機系統(tǒng)確定連接的存儲系統(tǒng)是否基于SCSI協(xié)議或者基于NFS協(xié)議。如果存儲系統(tǒng)基于SCSI協(xié)議,則由計算機系統(tǒng)向存儲系統(tǒng)帶內發(fā)出SCSI命令REP0RT_LUNS (步驟912)。然后,在步驟913,計算機系統(tǒng)檢查來自存儲系統(tǒng)的響應,特別地為與返回的PE ID中的每個PE ID關聯的PE位,以在與PE有關的LUN與常規(guī)數據LUN之間區(qū)分。如果存儲系統(tǒng)基于NFS協(xié)議,則由計算機系統(tǒng)從插件622向管理接口(例如,管理接口 624、625或者626)帶外發(fā)出API調用以獲得可用PE的ID (步驟914)。在跟隨步驟913和步驟914的步驟916,計算機系統(tǒng)存儲由存儲系統(tǒng)返回的與PE有關的LUN的PE ID或者由管理接口返回的PE ID以用于在綁定過程期間使用。應當認識到,由基于SCSI協(xié)議的存儲設備返回的PE ID各自包括WWN,并且由基于NFS協(xié)議的存儲設備返回的PE ID各自包括IP地址和裝配點。
      [0076]圖9B是用于存儲系統(tǒng)管理器131或者存儲系統(tǒng)管理器132或者分布式存儲系統(tǒng)管理器135 (下文稱為“存儲系統(tǒng)管理器”)發(fā)現給定的計算機系統(tǒng)103經由帶內路徑連接到的PE的方法步驟的流程圖。由存儲系統(tǒng)管理器發(fā)現這樣的PE使存儲系統(tǒng)能夠響應于來自請求計算機系統(tǒng)的綁定請求向計算機系統(tǒng)返回計算機系統(tǒng)可以被實際連接到其上的有效PE ID。在步驟950,存儲系統(tǒng)管理器經由管理接口和插件622向計算機系統(tǒng)103發(fā)出帶夕卜“Discovery_Topology (發(fā)現_拓撲)”API調用。計算機系統(tǒng)103返回它的系統(tǒng)ID和它經由圖9A的流程圖發(fā)現的所有PE ID的列表。在一個實施例中,存儲系統(tǒng)管理器通過經由管理接口和插件612向管理服務器610發(fā)出“Discovery_Topology”API調用來執(zhí)行步驟950。在這樣的實施例中,存儲系統(tǒng)將接收響應,該響應包含多個計算機系統(tǒng)ID和關聯的PEID,一個計算機系統(tǒng)ID和關聯的PE ID用于管理服務器610管理的每個相應計算機系統(tǒng)103。然后,在步驟952,存儲系統(tǒng)管理器處理來自步驟950的結果。例如,存儲系統(tǒng)管理器清除未在它的當前控制之下的所有PE ID的列表。例如,由存儲系統(tǒng)管理器135在發(fā)出Discovery_Topology調用時接收的某些PE ID可以對應于連接到相同計算機系統(tǒng)的另一存儲系統(tǒng)。相似地,某些接收的PE ID可以對應于自從被存儲系統(tǒng)管理員刪除起的更舊PE,等等。在步驟954,存儲系統(tǒng)管理器高速緩存處理的結果以用于在后續(xù)綁定請求期間使用。在一個實施例中,存儲系統(tǒng)管理器周期性地運行圖9B的步驟以用進行中的計算機系統(tǒng)和網絡拓撲改變更新它的高速緩存的結果。在另一實施例中,存儲系統(tǒng)管理器每當它接收新vvol創(chuàng)建請求時運行圖9B的步驟。在又另一實施例中,存儲系統(tǒng)管理器在運行圖7的認證步驟之后運行圖9B的步驟。
      [0077]圖10是用于使用綁定虛擬卷API來發(fā)出和執(zhí)行虛擬卷綁定請求的方法步驟的流程圖。在一個實施例中,計算機系統(tǒng)103在它的應用之一請求IO訪問與尚未被綁定到PE的vvol關聯的塊設備時經由帶外路徑602向存儲系統(tǒng)發(fā)出綁定請求。在另一實施例中,管理服務器610結合某些VM管理操作發(fā)出綁定請求,這些VM管理操作包括VM通電和從一個存儲容器向另一存儲容器的vvol遷移。
      [0078]繼續(xù)以上描述的示例,在該示例中,應用請求IO訪問與尚未被綁定到PE的vvol關聯的塊設備,計算機系統(tǒng)103在步驟1002從塊設備數據庫533 (或者580)確定vvol的vvol ID。然后,在步驟1004,計算機系統(tǒng)103通過帶外路徑602向存儲系統(tǒng)發(fā)出對于綁定vvol的請求。
      [0079]存儲系統(tǒng)管理器在步驟1006經由管理接口(例如,管理接口 624、625或者626)接收對于綁定vvol的請求,并且然后執(zhí)行步驟1008,步驟1008包括選擇wol將被綁定到的PE、生成用于選擇的PE的SLLID和生成數以及更新連接數據庫312 (例如,經由10管理器304)。根據連通(即,僅具有與計算機系統(tǒng)103的現有帶內連接的PE可用于選擇)以及其他因素(比如通過可用PE的當前10流量)進行選擇wol將被綁定到的PE。在一個實施例中,存儲系統(tǒng)根據圖9B的方法從計算機系統(tǒng)103向它發(fā)送的處理和高速緩存的PE列表選擇。SLLID生成在運用圖2A的存儲系統(tǒng)群集的實施例與運用圖2B的存儲系統(tǒng)群集的實施例之間不同。在前一情況下,生成對于選擇的PE唯一的SLLID。在后一情況下,生成通向與vvol對應的文件對象的文件路徑作為SLLID。在已經對于選擇的PE生成了 SLLID和生成數之后,更新連接數據庫312以包括與vvol的新生成的10會話。然后,在步驟1010,向計算機系統(tǒng)103返回選擇的PE的ID、生成的SLLID和生成數??蛇x地,在運用圖2B的存儲系統(tǒng)群集的實施例中,可以對于與vvol對應的文件對象生成并且與選擇的PE的ID、生成的SLLID和生成數一起向計算機系統(tǒng)103返回唯一 NFS文件句柄。在步驟1012,計算機系統(tǒng)103更新塊設備數據庫533 (或者580)以包括從存儲系統(tǒng)返回的PE ID,SLLID (以及可選地,NFS句柄)和生成數。特別地,將向塊設備數據庫533 (或者580)添加從存儲系統(tǒng)返回的PE ID、SLLID (以及可選地,NFS句柄)和生成數的每個集合作為新條目。應當認識至IJ,生成數用來防范重放攻擊。因此,在其中未考慮重放攻擊的實施例中,未使用生成數。
      [0080]在由希望向相同vvol發(fā)出10的不同應用發(fā)起的向相同vvol的后續(xù)綁定請求時,存儲系統(tǒng)管理器可以將wol綁定到相同或者不同PE。如果將vvol綁定到相同PE,則存儲系統(tǒng)管理器返回相同PE的ID和先前生成的SLLID,并且遞增與數據庫312結合存儲的這一10連接路徑的參考計數。在另一方面,如果將wol綁定到不同PE,則存儲系統(tǒng)管理器生成新SLLID并且返回不同PE的ID和新生成的SLLID并且向連接數據庫312添加與vvol的這一新10連接路徑作為新條目。
      [0081]可以使用解綁定虛擬卷API來發(fā)出虛擬卷解綁定請求。解綁定請求包括如下10連接路徑的PE ID和SLLID,先前已經通過該10連接路徑綁定了 vvol。然而,建議處理解綁定請求。存儲系統(tǒng)管理器空閑以立即或者在延遲之后從PE解綁定vvol。通過更新連接數據庫312以遞減包含PE ID和SLLID的條目的參考計數來處理解綁定請求。如果將參考計數遞減至零,則可以刪除條目。在這一情況下,應當注意,vvol繼續(xù)存在,但是不再可用于使用給定的PE ID和SLLID的10。
      [0082]在實施VM的虛擬盤的vvol的情況下,用于這一 vvol的參考計數將至少為一。在使VM斷電并且與之結合發(fā)出解綁定請求時,參考計數將被遞減一。如果參考計數為零,則可以從連接數據庫312去除vvol條目。一般而言,從連接數據庫312去除條目是有益的,因為1/0管理器304管理更少數據并且也可以回收SLLID。這樣的益處在由存儲系統(tǒng)存儲的vvol總數大(例如,vvol在百萬級),但是由應用活躍地訪問的vvol總數小(例如,VM為數萬個)時變得顯著。此外,在vvol未被綁定到任何PE時,存儲系統(tǒng)在選擇在DSU141中何處存儲vvol時具有更大靈活性。例如,可以用非對稱、分級DSU141實施存儲系統(tǒng),其中一些DSU141提供更快數據訪問并且其他DSU141提供更慢數據訪問(例如,以節(jié)省存儲成本)。在一個實現方式中,在Vvol未被綁定到任何PE(這可以通過檢查vvol的在連接數據庫312中的條目的參考計數來確定)時,存儲系統(tǒng)可以向更慢和/或更廉價類型的物理存儲裝置遷移vvol。然后,一旦將vvol綁定到PE,則存儲系統(tǒng)可以向更快類型的物理存儲裝置遷移vvolO應當認識到,可以通過改變vvol數據庫314中的組成給定的vvol的容器位置的有序列表的一個或者多個元素并且更新容器數據庫316的元數據分節(jié)中的對應盤區(qū)分配位圖來實現這樣的遷移。
      [0083]向PE綁定和解綁定wol使存儲系統(tǒng)管理器能夠確定wol活性。存儲系統(tǒng)管理器可以利用這一信息以對非IO服務(消極)和IO服務(活躍)vvol執(zhí)行存儲系統(tǒng)銷售商專屬優(yōu)化。例如,存儲系統(tǒng)管理器可以被配置用于如果vvol在消極狀態(tài)中保持超出特定閾值時間則將它從低延時(高成本)SSD重新定位到中延時(低成本)硬驅動。
      [0084]圖1lA和IlB是根據一個實施例的用于向虛擬卷發(fā)出IO的方法步驟的流程圖。圖1lA是用于從應用向原始塊設備直接發(fā)出IO的方法步驟1100的流程圖并且圖1lB是用于從應用通過文件系統(tǒng)驅動器發(fā)出IO的方法步驟1120的流程圖。
      [0085]方法1100在步驟1102開始,其中應用(比如圖5A-圖5B中所示的應用512或者圖5C-圖中所示的VM571向原始塊設備發(fā)出10。在步驟1104,虛擬卷設備驅動器532或者565根據由應用發(fā)出的10生成原始塊級10。在步驟1106,原始塊設備的名稱由虛擬卷設備驅動器532或者565轉譯成PE ID和SLLID (并且在運用圖2B的存儲設備的實施例中也由NFS客戶端545或者585轉譯成NFS句柄)。在步驟1108,數據訪問層540或者566執(zhí)行將PE ID和SLLID (并且在運用圖2B的存儲設備的實施例中也將NFS句柄)編碼成原始塊級10。然后,在步驟1110,HBA/NIC發(fā)出原始塊級10。
      [0086]對于非VM應用(比如圖5A-圖5B中所示的應用512),方法1120在步驟1121開始。在步驟1121,應用向在基于vvol的塊設備上存儲的文件發(fā)出10。然后,在步驟1122,文件系統(tǒng)驅動器(例如,文件系統(tǒng)驅動器510)根據文件10生成塊級10。在步驟1122之后,執(zhí)行與步驟1106、1108和1110相同的步驟1126,1128和1130。
      [0087]對于VM應用(比如圖5C-圖中所示的VM571),方法1120在步驟1123開始。在步驟1123,VM向它的虛擬盤發(fā)出10。然后,在步驟1124,這一 10例如由SCSI虛擬化層563轉譯成文件10。文件系統(tǒng)驅動器(例如,VMFS驅動器564)然后在步驟1125根據文件10生成塊級10。在步驟1125之后,執(zhí)行與步驟1106、1108和1110相同的步驟1126,1128和 1130。
      [0088]圖12是根據一個實施例的用于在存儲系統(tǒng)執(zhí)行10的方法步驟的流程圖。在步驟1210,通過在存儲系統(tǒng)中配置的PE之一接收由計算機系統(tǒng)發(fā)出的10。10管理器304在步驟1212解析10。在步驟1212之后,如果存儲系統(tǒng)群集是圖2A中所示類型,則由10管理器304執(zhí)行步驟1214a,并且如果存儲系統(tǒng)群集是圖2B中所示類型,則由10管理器304執(zhí)行步驟1214b。在步驟1214a,10管理器304從解析的10提取SLLID并且訪問連接數據庫312以確定與PE ID和提取的SLLID對應的vvol ID。在步驟1214b,10管理器304從解析的IO提取NFS句柄并且使用PE ID和NFS句柄作為SLLID來標識vvol。在步驟1214a和1214b之后執(zhí)行步驟1216。在步驟1216,卷管理器306和容器管理器308分別訪問wol數據庫314和容器數據庫316以獲得將對其執(zhí)行IO的物理存儲位置。然后,在步驟1218,數據訪問層310對在步驟1216獲得的物理存儲位置執(zhí)行10。
      [0089]在一些情形中,應用(應用512或者VM571)、管理服務器610和/或存儲系統(tǒng)管理器可以確定wol到特定PE的綁定比如在PE由于太多綁定而變成超負荷時經歷問題。作為解決這樣的問題的方式,即使在IO命令被引向vvol之時,存儲系統(tǒng)管理器仍然可以將綁定的wol重新綁定到不同PE。圖13是根據一個實施例的用于使用重新綁定API來發(fā)出和執(zhí)行vvol重新綁定請求的方法步驟1300的流程圖。
      [0090]如所示,方法1300在步驟1302開始,其中存儲系統(tǒng)管理器確定應當將wol綁定到與wol當前被綁定到的第一 PE不同的第二 PE。在步驟1304,存儲系統(tǒng)管理器經由帶外路徑向計算機系統(tǒng)(例如,計算機系統(tǒng)103)發(fā)出對于重新綁定vvol的請求,該計算機系統(tǒng)運行向wol發(fā)出IO的應用。在步驟1306,計算機系統(tǒng)103從存儲系統(tǒng)管理器接收重新綁定請求,并且作為響應,發(fā)出對于將wol綁定到新PE的請求。在步驟1308,存儲系統(tǒng)管理器接收重新綁定請求,并且作為響應,將wol綁定到新PE。在步驟1310,存儲系統(tǒng)管理器如以上結合圖10描述的那樣向計算機系統(tǒng)傳輸vvol現在也被綁定到的新PE的ID和用于訪問 vvol 的 SLLID。
      [0091]在步驟1312,計算機系統(tǒng)從存儲系統(tǒng)管理器接收新PE ID和SLLID。在塊設備數據庫533或者580中,初始地將新PE連接的活躍位設置成1,這意味著已經建立了經由新PE的用于wol的新IO會話。計算機系統(tǒng)也將第一 PE連接的活躍位設置成0,這表示不能通過這一 PE連接向wol發(fā)出更多10。應當認識到,不應在去激活時立即解綁定這一 PE連接,因為可能有通過這一 PE連接的向wol的10,這些10可能在飛行中,即,被發(fā)出但是未完成。因此,在步驟1314,計算機系統(tǒng)訪問塊設備數據庫533或者580以查看是否已經完成了通過第一 PE連接向vvol發(fā)出的所有“在飛行中的命令”((:正),8卩,是否(:正=0。計算機系統(tǒng)在執(zhí)行步驟1318之前等待CIF變成零。同時,通過新PE發(fā)出向vvol的附加10,因為已經將新PE連接的活躍位設置成I。在CIF達到零時,執(zhí)行步驟1318,其中向存儲系統(tǒng)管理器發(fā)出對于解綁定第一 PE連接的請求。然后,在步驟1320,存儲系統(tǒng)管理器從第一 PE解綁定vvol。計算機系統(tǒng)也在步驟1324通過新PE向vvol發(fā)出所有附加10。
      [0092]圖14是根據一個實施例的虛擬卷的生命周期的概念圖。圖14中所示的所有命令(即,創(chuàng)建、快照、克隆、綁定、解綁定、擴展和刪除)形成wol管理命令集,并且通過以上結合圖6描述的插件612、622可訪問。如所示,在作為以下命令一創(chuàng)建vvol、快照vvol或
      者克隆vvol-中的任何命令的結果生成vvol時,生成的vvol在“消極”狀態(tài)中保持,其
      中vvol未被綁定到特定PE,并且因此不能接收10。此外,在vvol在消極狀態(tài)中時執(zhí)行以
      下命令--決照vvol、克隆vvol或者擴展vvol-中的任何命令時,原有vvol和新創(chuàng)建
      的vvol (如果有)在消極狀態(tài)中保持。也如所示,當在消極狀態(tài)中的vvol被綁定到PE時,vvol進入“活躍”狀態(tài)。反言之,在從PE解綁定活躍vvol時,vvol進入消極狀態(tài),這假設
      vvol未被綁定到任何附加PE。當vvol在活躍狀態(tài)中時執(zhí)行以下命令--決照vvol、克隆
      vvol、擴展vvol或者重新綁定vvol-中的任何命令時,原有vvol在活躍狀態(tài)中保持,并
      且新創(chuàng)建的vvol (如果有)在消極狀態(tài)中保持。[0093]如以上描述的那樣,VM可以具有多個虛擬盤,并且為每個虛擬盤創(chuàng)建分離的vvol。VM也具有描述VM的配置的元數據文件。元數據文件包括VM配置文件、VM日志文件、盤描述符文件、VM交換文件等,每個盤描述符文件用于VM的虛擬盤中的每個相應虛擬盤。用于虛擬盤的盤描述符文件包含涉及虛擬盤的信息,比如它的vvol ID、它的大小、是否瘦供應虛擬盤和為虛擬盤創(chuàng)建的一個或者多個快照的標識等。VM交換文件提供存儲系統(tǒng)上的VM的交換空間。在一個實施例中,在vvol中存儲這些VM配置文件,并且這一 wol這里被稱為元數據vvol。
      [0094]圖15是根據一個實施例的用于供應VM的方法步驟的流程圖。在這一實施例中,使用管理服務器610、主控VM的計算機系統(tǒng)(例如,圖5C中所示的計算機102 (下文稱為“主機計算機”))和圖2A的存儲系統(tǒng)群集,特別地為存儲系統(tǒng)管理器131、132或者135。如所示,存儲系統(tǒng)管理器在步驟1502接收對于供應W的請求。這可以是在使用與管理服務器610的適當用戶接口的VM管理員向管理服務器610發(fā)出用于供應具有某個大小和存儲能力簡檔的VM的命令時生成的請求。響應于該命令,在步驟1504,管理服務器610發(fā)起用于用以上結合圖8描述的方式創(chuàng)建用于包含VM的元數據的vvol (下文稱為“元數據vvol”)的方法,存儲系統(tǒng)管理器在步驟1508按照該方法創(chuàng)建元數據vvol并且向管理服務器610返回元數據vvol的vvol ID。在步驟1514,管理服務器610向主控VM的計算機系統(tǒng)注冊回元數據vvol的vvol IDo在步驟1516,主機計算機發(fā)起用于用以上結合圖10描述的方式將元數據wol綁定到PE的方法,存儲系統(tǒng)管理器在步驟1518按照該方法將元數據vvol綁定到PE并且向主機計算機返回PE ID和SLLID。
      [0095]在步驟1522,主機計算機使用向主機計算機的操作系統(tǒng)中的“創(chuàng)建設備”調用來創(chuàng)建元數據VVOl的塊設備實例。然后,在步驟1524,主機計算機在塊設備上創(chuàng)建文件系統(tǒng)(例如,VMFS),響應于這一點返回文件系統(tǒng)ID (FSID)。主機計算機在步驟1526裝配具有返回的FSID的文件系統(tǒng),并且向與這一文件系統(tǒng)關聯的名稱空間中存儲VM的元數據。元數據的示例包括VM日志文件、盤描述符文件和VM交換文件,每個盤描述符文件用于VM的虛擬盤中的每個相應虛擬盤。
      [0096]在步驟1528,主機計算機發(fā)起用于用以上結合圖8描述的方式為VM的虛擬盤中的每個虛擬盤創(chuàng)建vvol (每個這樣的vvol這里被稱為“數據vvol”)的方法,存儲系統(tǒng)管理器在步驟1530按照該方法創(chuàng)建數據vvol并且向主機計算機返回數據vvol的vvol ID。在步驟1532,主機計算機在用于虛擬盤的盤描述符文件中存儲數據vvol的ID。該方法以在已經為VM的所有虛擬盤創(chuàng)建了數據vvol之后解綁定元數據vvol (未示出)作為結束。
      [0097]圖16A是用于在已經以結合圖15描述的方式供應了 VM之后使VM通電的方法步驟的流程圖。圖16B是在已經使VM通電之后使VM斷電的方法步驟的流程圖。這兩種方法由用于VM的主機計算機執(zhí)行。
      [0098]當在步驟1608接收VM通電命令時,在步驟1610取回與VM對應的元數據vvol。然后,在步驟1612,元數據vvol經歷如以上結合圖10描述的綁定過程。在步驟1614在元數據vvol上裝配文件系統(tǒng),從而使得可以在步驟1616讀取用于數據vvol的元數據文件(特別地為盤描述符文件)并且獲得數據vvol ID。數據vvol然后在步驟1618逐個經歷如以上結合圖10描述的綁定過程。
      [0099]當在步驟1620接收VM斷電命令時,在塊設備數據庫(例如,圖5C的塊設備數據庫580)標記VM的數據vvol為不活躍,并且主機計算機等待與數據vvol中的每個vvol關聯的CIF達到零(步驟1622)。在與每個數據wol關聯的CIF達到零時,主機計算機在步驟1624請求存儲系統(tǒng)解綁定該數據wol。在與所有數據wol關聯的CIF達到零之后,在步驟1626在塊設備數據庫中標記元數據為不活躍。然后,在步驟1628,在與元數據vvol關聯的CIF達到零時,主機計算機在步驟1630請求解綁定元數據vvol。
      [0100]圖17和圖18是用于重新供應VM的方法步驟的流程圖。在這里所示的示例中,圖17是用于擴展VM的wol (特別地為用于VM的虛擬盤的數據wol)的大小的在主機計算機上執(zhí)行的方法步驟的流程圖,并且圖18是用于在存儲容器之間移動VM的vvol的在存儲系統(tǒng)中執(zhí)行的方法步驟的流程圖。
      [0101]用于擴展用于VM的虛擬盤的數據vvol的大小的方法在步驟1708開始,其中主機計算機確定VM是否被通電。如果主機計算機在步驟1708確定VM未被通電,則主機計算機在步驟1710取回與VM對應的元數據vvol的ID。然后,由主機計算機在步驟1712發(fā)起用于元數據vvol的綁定過程。在綁定之后,在步驟1714,主機計算機在元數據vvol上裝配文件系統(tǒng)并且從用于虛擬盤的盤描述符文件取回與虛擬盤對應的數據vvol的ID,該盤描述符文件是在元數據vvol上裝配的文件系統(tǒng)中的文件。然后,在步驟1716,主機計算機在步驟1716向存儲系統(tǒng)發(fā)送擴展vvol API調用,其中擴展vvol API調用包括數據vvol的ID和數據vvol的新大小。
      [0102]如果VM被通電,則主機計算機在步驟1715取回VM的待擴展的虛擬盤的數據vvol的ID。應當從圖16A的方法認識到,可以從與VM的虛擬盤關聯的盤描述符文件獲得這一ID。然后,在步驟1716,主機計算機在步驟1716向存儲系統(tǒng)發(fā)送擴展vvol API調用,其中擴展vvol API調用包括數據vvol的ID和數據vvol的新大小。
      [0103]擴展vvol API調用造成在存儲系統(tǒng)中更新wol數據庫和容器數據庫(例如,圖3的vvol數據庫314和容器數據庫316)以反映vvol的增加的地址空間。在接收擴展vvolAPI調用已經完成的確認時,主機計算機在步驟1718用新大小更新用于VM的虛擬盤的盤描述符文件。然后,在步驟1720,主機計算機確定VM是否被通電。如果不是,則主機計算機在步驟1722拆卸文件系統(tǒng)并且向存儲系統(tǒng)發(fā)送對于解綁定元數據vvol的請求。在另一方面,如果VM被通電,則該方法終止。
      [0104]用于將VM的當前綁定到PE的wol從源存儲容器移向目的地存儲容器(其中源存儲容器和目的地存儲容器二者在相同存儲系統(tǒng)管理器的范圍內)的方法在步驟1810開始,其中接收源和目的地存儲容器的容器ID (分別為SCl和SC2)以及待移動的vvol的vvolID。然后,在步驟1812,更新vvol數據庫(例如,圖3的vvol數據庫314)和容器數據庫(例如,圖3的容器數據庫316)的盤區(qū)分配位圖如下。首先,存儲系統(tǒng)管理器從SCl的在容器數據庫316中的條目去除在SCl中的vvol盤區(qū),并且然后通過修改SC2的在容器數據庫316中的條目來向SC2指派這些盤區(qū)。在一個實施例中,存儲系統(tǒng)可以通過向SCl指派新紡錘體盤區(qū)來補償SCl中的(由于去除vvol存儲盤區(qū)的)存儲容量損失,并且通過從SC2去除一些未使用的紡錘體盤區(qū)來彌補SC2中的(由于添加vvol存儲盤區(qū)的)存儲容量增加。在步驟1814,存儲系統(tǒng)管理器確定當前綁定的PE是否能夠最優(yōu)地服務于向wol的新位置的
      10。在當前PE不能服務于向vvol的新位置的IO時的示例實例是如果存儲管理員已經靜態(tài)配置了存儲系統(tǒng)管理器以向來自不同客戶并且因此來自不同存儲容器的wol指派不同PEo如果當前PE不能服務于向vvol的10,則vvol在步驟1815經歷以上結合圖13描述的重新綁定過程(和對連接數據庫(例如,圖3的連接數據庫312)的關聯的改變)。在步驟1815之后,執(zhí)行步驟1816,其中向主機計算機返回成功移動完成的確認。如果存儲系統(tǒng)管理器在步驟1814確定當前PE能夠服務于向vvol的新位置的10,則繞過步驟1815并且接著執(zhí)行步驟1816。
      [0105]當在不兼容存儲容器之間(例如,在不同制造商的存儲設備中創(chuàng)建的存儲容器之間)移動VVOl時,除了對容器數據庫316、WOl數據庫314和連接數據庫312的改變之外還在存儲容器之間執(zhí)行數據移動。在一個實施例中,運用在通過這里引用將全部內容結合于此、提交于 2008 年 5 月 29 日并且名稱為“Off loading Storage Operations to StorageHardware”的第12/129,323號美國專利申請中描述的數據移動技術。
      [0106]圖19是用于從模板VM克隆VM的在主機計算機和存儲系統(tǒng)中執(zhí)行的方法步驟的流程圖。這一方法在步驟1908開始,其中主機計算機向存儲系統(tǒng)發(fā)送對于為新VM創(chuàng)建元數據wol的請求。在1910,存儲系統(tǒng)根據以上結合圖8描述的方法為新VM創(chuàng)建元數據并且向主機計算機返回新元數據vvol ID。然后,在步驟1914,對于屬于模板VM的所有數據vvol ID從主機計算機經由帶外路徑601向存儲系統(tǒng)發(fā)出克隆vvol API調用。在步驟1918,存儲系統(tǒng)管理器檢查以查看模板VM和新VM的數據wol是否兼容。應當認識到,如果克隆在不同制造商的存儲系統(tǒng)中創(chuàng)建的存儲容器之間出現,則數據vvol可能不兼容。如果存在兼容性,則執(zhí)行步驟1919。在步驟1919,存儲系統(tǒng)管理器通過生成新數據vvol ID、更新容器數據庫316中的分配位圖并且向vvol數據庫314添加新vvol條目來創(chuàng)建新數據vvol并且向新VM的數據vvol復制在模板VM的數據vvol中存儲的內容。在步驟1920,存儲系統(tǒng)管理器向主機計算機返回新數據vvol ID0接收新數據vvol ID向主機計算機提供數據wol克隆完成而無錯誤的確認。然后,在步驟1925,主機計算機向新VM的元數據wol發(fā)出IO以用新生成的數據vvol ID更新元數據文件,特別地為盤描述符文件。由存儲系統(tǒng)在步驟1926執(zhí)行由主機計算機向存儲系統(tǒng)發(fā)出的10,作為這一點的結果,用新生成的數據vvol ID更新新VM的盤描述符文件。
      [0107]如果存儲系統(tǒng)管理器在步驟1918確定模板VM和新VM的數據wol不兼容,則向主機計算機返回錯誤消息。在接收這一錯誤消息時,主機計算機在步驟1921向存儲系統(tǒng)發(fā)出創(chuàng)建vvol API調用以創(chuàng)建新數據vvol。在步驟1922,存儲系統(tǒng)管理器通過生成新數據vvol ID、更新容器數據庫316中的分配位圖并且向vvol數據庫314添加新vvol條目來創(chuàng)建新數據vvol,并且向主機計算機返回新數據vvol ID0在步驟1923,主機計算機根據在通過這里引用將全部內容結合于、提交于2009年I月21日并且名稱為“Data Moverfor Computer System”的第12/356,694號美國專利申請中描述的技術執(zhí)行數據移動(步驟1923)。在步驟1923之后,如以上描述的那樣執(zhí)行步驟1925和1926。
      [0108]圖20是根據另一實施例的用于供應VM的方法步驟的流程圖。在這一實施例中,使用管理服務器610、主控VM的計算機系統(tǒng)(例如,圖中所示的計算機系統(tǒng)102 (下文稱為“主機計算機”))和圖2B的存儲系統(tǒng)群集(特別地為存儲系統(tǒng)管理器131或者存儲系統(tǒng)管理器132或者存儲系統(tǒng)管理器135)。如所示,在步驟2002接收對于供應VM的請求。這可以是在使用與管理服務器610的適當用戶接口的VM管理員向管理服務器610發(fā)出用于供應具有某個大小和存儲能力簡檔的VM的命令時生成的請求。響應于該命令,在步驟2004,管理服務器610發(fā)起用于用以上結合圖8描述的方式創(chuàng)建用于包含VM的元數據的vvol (特別地為元數據vvol)的方法,存儲系統(tǒng)管理器在步驟2008按照該方法創(chuàng)建元數據wol (該元數據vvol是在NAS設備中的文件),并且向管理服務器610返回元數據vvol ID。在步驟2020,管理服務器610向主機計算機注冊回元數據wol的wol ID。在步驟2022,主機計算機向存儲系統(tǒng)發(fā)出對于元數據vvol ID的綁定請求,響應于該綁定請求,存儲系統(tǒng)在步驟2023分別返回IP地址和目錄路徑作為PE ID和SLLID。在步驟2024,主機計算機在指定的IP地址和目錄路徑裝配目錄,并且在裝配的目錄中存儲元數據文件。在使用NFS的實施例中,NFS客戶端545或者585可以將給定的IP地址和目錄路徑分解成NFS句柄以便向這樣的目錄發(fā)出NFS請求。
      [0109]在步驟2026,主機計算機發(fā)起用于用以上結合圖8描述的方式為VM的虛擬盤中的每個虛擬盤創(chuàng)建數據wol的方法,存儲系統(tǒng)管理器在步驟2030按照該方法創(chuàng)建數據wol并且向主機計算機返回數據vvol的vvol ID0在步驟2032,主機計算機在用于虛擬盤的盤描述符文件中存儲數據wol的ID。該方法以在已經對于VM的所有虛擬盤創(chuàng)建了數據vvol之后解綁定元數據vvol (未示出)作為結束。
      [0110]如以上結合圖8描述的那樣,在從存儲容器創(chuàng)建新vvol并且未為新VVOl顯式地指定存儲能力簡檔時,新vvol將繼承與存儲容器關聯的存儲能力簡檔??梢詮娜舾刹煌啓n之一選擇與存儲容器關聯的存儲能力簡檔。例如,如圖21中所示,不同簡檔包括生產(prod)簡檔2101、開發(fā)(dev)簡檔2102和測試簡檔2103 (這里被統(tǒng)稱為“簡檔2100,,)。應當認識到,可以定義許多其他簡檔。如所示,特定簡檔的每個簡檔條目為固定類型或者可變類型,并且具有名稱和與它關聯的一個或者多個值。固定類型的簡檔條目具有固定數目的可選擇項目。例如,可以將簡檔條目“復制”設置成真或者假。對照而言,可變類型的簡檔條目無預定義選擇。作為替代,為可變類型的簡檔條目設置默認值和值范圍,并且用戶可以選擇在范圍內的任何值。如果未指定值,則使用默認值。在圖21中所示的示例簡檔2100中,可變類型的簡檔條目具有被逗號分離的三個數。第一個數是指定的范圍的更低端,并且第二個數是指定的范圍的更高端。第三個數是默認值。因此,將復制vvol,該vvol繼承在生產簡檔2101中定義的存儲能力簡檔(復制.值=真),并且可以在范圍0.1到24小時(默認為I小時沖定義用于復制的恢復時間目標(RT0)。此外,對于這一 wol (復制.值=真)允許快照。保持的快照數目在范圍I至100中,默認為1,并且快照頻率在范圍每小時一次至每24小時一次中,默認為每小時一次。SnapInherit列指示在快照給定的vvol以創(chuàng)建作為衍生vvol的新vvol時是否應當向衍生vvol傳播給定的簡檔屬性(及其值)。在生產簡檔2101的示例中,可以用生成簡檔2101向給定的vvol的快照vvol傳播僅前兩個簡檔條目(復制和RT0)。快照vvol的所有其他屬性的值將被設置成在簡檔中指定的默認值。換言之,這些其他屬性在給定的vvol上的任何定制(例如,快照頻率的非默認值)將由于它們的對應SnapInherit列為假而不會被向快照vvol傳播。簡檔也包含其他列(比如CloneInherit (未示出))和ReplicaInherit (未示出),這兩列控制分別向給定的vvol的克隆和復制傳播哪些屬性值。
      [0111]在根據圖4的方法創(chuàng)建存儲容器時,可以設置可以對于從存儲容器創(chuàng)建的VVOl定義的存儲能力簡檔的類型。圖21中的流程圖圖示圖4中所示的用于創(chuàng)建存儲容器的方法,其中在步驟412與413之間插入步驟2110。在步驟2110,存儲管理員選擇用于創(chuàng)建的存儲容器的簡檔2100中的一個或者多個簡檔。例如,為一個客戶創(chuàng)建的存儲容器可以與生產簡檔2101和開發(fā)簡檔2102關聯,從而使得為生產類型的wol將如情況可以是的那樣繼承用默認值或者客戶指定的值在生產簡檔2101中定義的存儲能力簡檔,并且為開發(fā)類型的vvol將如情況可以是那樣繼承用默認值或者客戶指定的值在開發(fā)簡檔2102中定義的存儲能力簡檔。
      [0112]圖22是圖示用于創(chuàng)建vvol并且定義用于vvol的存儲能力簡檔的由存儲系統(tǒng)管理器131、132或者135執(zhí)行的方法步驟的流程圖。圖22的方法步驟(特別地為方法步驟2210、2212、2218和2220)分別對應于圖8中所示的步驟806,810,812和814。此外,圖22的方法步驟包括步驟2214、2215和2216,這些步驟定義用于創(chuàng)建的vvol的存儲能力簡檔。
      [0113]在步驟2214,存儲系統(tǒng)管理器確定是否已經在對于創(chuàng)建vvol的請求中指定了將在存儲能力簡檔中使用的值。如果它們不是,則存儲系統(tǒng)管理器在步驟2215運用與vvol的存儲容器關聯的存儲能力簡檔作為vvol的具有默認值的存儲能力簡檔。如果已經指定了將在存儲能力簡檔中使用的值,則存儲系統(tǒng)管理器在步驟2216運用與vvol的存儲容器關聯的存儲能力簡檔作為vvol的具有指定的值而不是默認值的存儲能力簡檔。
      [0114]在一個實施例中,在vvol數據庫314中存儲vvol的存儲能力簡檔為關鍵字-值對。一旦已經定義了并且在WOl數據庫314中存儲了 vvol的存儲能力簡檔為關鍵字-值對,并且只要與復制和快照有關的屬性和值如圖21的示例簡檔中所示是這一簡檔的部分,存儲系統(tǒng)就能夠執(zhí)行用于vvol的復制和快照而無需由主機計算機發(fā)出的進一步指令。
      [0115]圖23是圖示用于從母wol創(chuàng)建快照的由存儲系統(tǒng)管理器131、132或者135執(zhí)行的方法步驟的流程圖。在一個實施例中,運用快照跟蹤數據結構以根據在給定的VVOl的存儲能力簡檔中的快照定義調度快照。在達到用于快照的調度的時間時,存儲系統(tǒng)管理器在步驟2310從快照跟蹤數據結構取回wol ID。然后,在步驟2312,存儲系統(tǒng)管理器生成用于快照的唯一 wol ID。存儲系統(tǒng)管理器在步驟2315運用母vvol(即具有從快照跟蹤數據結構取回的vvol ID的vvol)的存儲能力簡檔作為快照vvol的存儲能力簡檔。應當注意,由于這是由存儲系統(tǒng)驅動的自動化簡檔驅動的快照過程,所以用戶未獲得用于指定將在快照wol的存儲能力簡檔中使用的定制值的機會。在步驟2318,存儲系統(tǒng)管理器通過更新容器數據庫316中的分配位圖以及向vvol數據庫314添加用于快照vvol的新vvol條目在母wol的存儲容器內創(chuàng)建快照wol。然后,在步驟2320,存儲系統(tǒng)管理器通過調度用于生成用于母vvol的下一快照的時間來更新快照跟蹤數據結構。應當認識到,存儲系統(tǒng)管理器必須對于所有如下wol并行維護快照跟蹤數據結構并且執(zhí)行圖23的方法步驟,這些vvol的存儲能力簡檔規(guī)定調度的快照。
      [0116]在用以上描述的方式創(chuàng)建快照之后,更新在vvol數據庫314中存儲的關鍵字-值對以指示快照vvol為類型=快照。同樣,在其中為快照維護生成數(每當拍攝或者設置快照時遞增生成數或者將其設置成等于日期+時間)的實施例中,存儲生成數為關鍵字-值對。也在快照vvol條目中存儲快照vvol的母vvol ID為關鍵字-值對。作為結果,主機計算機可以向Vvol數據庫314查詢與特定vvol ID對應的快照。也有可能讓主機計算機向vvol數據庫發(fā)出對于與特定vvol ID和特定生成數對應的快照的查詢。
      [0117]這里描述的各種實施例可以運用各種由計算機實施的操作,這些操作涉及到在計算機系統(tǒng)中存儲的數據。例如,這些操作通常但是未必可以需要物理操縱物理數量,這些數量可以采用電或者磁信號的形式,其中能夠存儲、傳送、組合、比較或者以其他方式操縱它們或者它們的表示。另外,經常在術語(比如產生、標識、確定或者比較)中引用這樣的操縱。這里描述的任何形成一個或者多個實施例的部分的操作可以是有用的機器操作。此外,一個或者多個實施例也涉及一種用于執(zhí)行這些操作的設備或者裝置。該裝置可以被特別地構造用于具體的所需目的,或者它可以是通用計算機,該通用計算機由在計算機中存儲的計算機程序有選擇地激活或者配置。特別地,各種通用機器可以與根據這里的教導編寫的計算機程序一起被使用,或者構造更專門化的裝置以執(zhí)行所需操作可以更方便。
      [0118]可以用包括手持設備、微處理器系統(tǒng)、基于微處理器或者可編程的客戶電子裝置、小型計算機、大型機計算機等的其他計算機系統(tǒng)配置實現這里描述的各種實施例。
      [0119]可以將一個或者多個實施例實施為一個或者多個計算機程序或者為在一個或者多個計算機可讀介質中體現的一個或者多個計算機程序模塊。術語計算機可讀介質是指可以存儲數據的任何數據存儲設備,該數據隨后可以向計算機系統(tǒng)輸入。計算機可讀介質可以基于用于以使計算機程序能夠被計算機讀取的方式體現計算機程序的任何現有或者以后開發(fā)的技術。計算機可讀介質的示例包括硬驅動、網絡附著存儲裝置(NAS)、只讀存儲器、隨機存取存儲器(例如,閃存設備)、⑶(緊致盤)、⑶-ROM、⑶-R或者⑶-RW、DVD (數字萬用盤)、磁帶以及其他光學和非光學數據存儲設備。也可以通過耦合網絡的計算機系統(tǒng)分發(fā)計算機可讀介質,從而使得以分布式方式存儲和執(zhí)行計算機可讀代碼。
      [0120]雖然為了理解清楚而已經用一些細節(jié)描述一個或者多個實施例,但是將清楚的是,可以在權利要求的范圍內進行某些改變和修改。例如,運用SCSI作為用于SAN設備的協(xié)議以及使用NFS作為用于NAS設備的協(xié)議??梢允褂肧CSI協(xié)議的任何備選(比如光纖信道),并且可以使用NFS協(xié)議的任何備選(比如CIFS (公共因特網文件系統(tǒng))協(xié)議)。因而,描述的實施例將被視為例示性而非限制性,并且權利要求的范圍將不限于這里給出的細節(jié),而是可以在權利要求的范圍和等效含義內被修改。在權利要求中,單元和/或步驟除非在權利要求中明確聲明否則并不意味著任何特定操作順序。
      [0121]此外,盡管描述的虛擬化方法已經主要假設虛擬機呈現與特定硬件系統(tǒng)一致的接口,但是可以結合未與任何特定硬件系統(tǒng)直接對應的虛擬化使用描述的方法。根據各種實施例的虛擬化系統(tǒng)都被設想,這些實施例被實施為主控的實施例、非主控的實施例或者為往往模糊在二者之間的區(qū)分的實施例。另外,可以全部或者部分地在硬件中實施各種虛擬化操作。例如,硬件實現方式可以將查找表用于修改存儲訪問請求以使非盤數據安全。
      [0122]許多變化、修改、添加和改進無論虛擬化程度如何都是可能的。虛擬化軟件因此可以包括執(zhí)行虛擬化功能的主機、控制臺或者客戶操作系統(tǒng)的部件??梢蕴峁┒鄠€實例以用于這里被描述為單個實例的部件、操作或者結構。最后,在各種部件、操作和數據存儲庫之間的邊界有些任意,并且在具體例示性配置的上下文中例示特定操作。其他功能分配被設想并且可以落入這里描述的實施例的范圍內。一般而言,在示例配置中被呈現為分離部件的結構和功能可以被實施為組合的結構或者部件。類似地,被呈現為單個部件的結構和功能可以被實施為分離部件。這些和其他變化、修改、添加和改進可以落入所附權利要求的范圍內。
      【權利要求】
      1.一種從包括物理數據存儲單元(DSU)的存儲系統(tǒng)創(chuàng)建邏輯存儲卷的方法,所述方法包括: 創(chuàng)建具有地址空間的邏輯存儲容器,所述地址空間映射到所述DSU的存儲位置;以及創(chuàng)建多個邏輯存儲卷,每個邏輯存儲卷具有地址空間,所述地址空間映射到所述邏輯存儲容器的所述地址空間,并且每個邏輯存儲卷是IO被引向的存儲對象。
      2.根據權利要求1所述的方法,其中所述邏輯存儲卷的存儲能力簡檔不相同。
      3.根據權利要求1所述的方法,其中默認存儲能力簡檔與所述存儲容器關聯,并且如果在創(chuàng)建邏輯存儲卷期間未為所述邏輯存儲卷定義定制存儲能力簡檔,則所述邏輯存儲卷的存儲能力簡檔繼承所述默認存儲能力簡檔。
      4.根據權利要求1所述的方法,其中所述邏輯存儲容器跨越在物理上分離的存儲系統(tǒng)中容納的、并且由所述存儲系統(tǒng)控制的DSU。
      5.根據權利要求1所述的方法,還包括: 創(chuàng)建具有地址空間的第二邏輯存儲容器,所述地址空間映射到所述DSU的存儲位置;以及 設置權限級別,所述權限級別定義許可第一用戶集合在所述第一存儲容器中創(chuàng)建邏輯存儲卷 ,并且許可與所述第一用戶集合不同的第二用戶集合在所述第二存儲容器中創(chuàng)建邏輯存儲卷。
      6.根據權利要求1所述的方法,還包括: 維護第一數據結構,所述第一數據結構將所述存儲容器的所述地址空間映射到所述DSU的存儲位置;以及 維護第二數據結構,所述第二數據結構將所述邏輯存儲卷中的每個邏輯存儲卷的所述地址空間映射到所述邏輯存儲容器的所述地址空間。
      7.根據權利要求1所述的方法,還包括: 更新所述第一數據結構和所述第二數據結構,從而使得擴展所述邏輯存儲卷之一的大小。
      8.根據權利要求1所述的方法,還包括: 克隆所述邏輯存儲卷之一,從而使得在相同邏輯存儲容器內包含克隆的所述邏輯存儲卷。
      9.根據權利要求1所述的方法,還包括: 克隆所述邏輯存儲卷之一,從而使得在不同邏輯存儲容器內包含克隆的所述邏輯存儲卷。
      10.根據權利要求1所述的方法,還包括: 創(chuàng)建具有地址空間的第二邏輯存儲容器,所述地址空間映射到所述DSU的存儲位置;以及 將從所述第一邏輯存儲容器創(chuàng)建的邏輯存儲卷移向所述第二邏輯存儲容器。
      11.根據權利要求1所述的方法,還包括: 在所述存儲系統(tǒng)中配置協(xié)議端點。
      12.根據權利要求11所述的方法,其中所述協(xié)議端點是LUN、并且由用于所述LUN的世界范圍名稱標識。
      13.根據權利要求11所述的方法,其中所述協(xié)議端點是在所述存儲系統(tǒng)中配置的裝配點,并且由所述存儲系統(tǒng)的IP地址和所述裝配點標識。
      14.根據權利要求1所述的方法,還包括: 在數據結構中維護用于所述邏輯存儲卷中的每個邏輯存儲卷的快照參數,所述數據結構由所述存儲系統(tǒng)維護;以及 根據所述快照參數對所述邏輯存儲卷執(zhí)行快照。
      15.根據權利要求14所述的方法,其中所述快照參數包括快照頻率和待保持的快照的數目。
      16.一種存儲系統(tǒng)群集,包括: 第一存儲系統(tǒng)和第二存儲系統(tǒng),每個存儲系統(tǒng)具有物理數據存儲單元(DSU)集合;以及 分布式存儲系統(tǒng)管理器,被配置用于創(chuàng)建邏輯存儲容器,所述邏輯存儲容器映射到所述第一存儲系統(tǒng)和所述第二存儲系統(tǒng)二者的DSU的存儲位置,并且從所述邏輯存儲容器創(chuàng)建多個邏輯存儲卷。
      17.根據權利要求16所述的存儲系統(tǒng)群集,還包括: 第一數據結構,所述第一數據結構維護所述存儲容器的地址空間到所述DSU的存儲位置的映射;以及` 第二數據結構,所述第二數據結構維護所述邏輯存儲卷中的每個邏輯存儲卷的地址空間到所述邏輯存儲容器的所述地址空間的映射。
      18.根據權利要求17所述的存儲系統(tǒng)群集,其中所述分布式存儲系統(tǒng)管理器在創(chuàng)建或者刪除邏輯存儲卷時更新所述第一數據結構和所述第二數據結構。
      19.根據權利要求16所述的存儲系統(tǒng)群集,還包括被配置用于所述第一存儲系統(tǒng)和所述第二存儲系統(tǒng)中的每個存儲系統(tǒng)的至少一個協(xié)議端點。
      20.根據權利要求16所述的存儲系統(tǒng)群集,其中所述第一存儲系統(tǒng)和所述第二存儲系統(tǒng)是基于SCSI協(xié)議的存儲系統(tǒng)。
      21.根據權利要求16所述的存儲系統(tǒng)群集,其中所述第一存儲系統(tǒng)和所述第二存儲系統(tǒng)是基于NFS協(xié)議的存儲系統(tǒng)。
      【文檔編號】G06F3/06GK103765371SQ201280041463
      【公開日】2014年4月30日 申請日期:2012年8月20日 優(yōu)先權日:2011年8月26日
      【發(fā)明者】S·阿查亞, R·布哈特, S·B·瓦哈尼, I·索科林斯基, C-C·施, K·德塞 申請人:威睿公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1