專利名稱:存儲設備驅動器和集群參與的制作方法
存儲設備驅動器和集群參與
背景技術:
在計算領域中,許多情形涉及生成計算機上的存儲設備的邏輯表示。作為第一示例,本地連接硬盤驅動器可以利用總線連接到計算機,并且可以通過存儲設備驅動器與計算機接口,該存儲設備驅動器將硬盤驅動器的一個或多個分區(qū)作為邏輯卷呈現(xiàn)給計算機。作為第二示例,諸如廉價盤冗余陣列(RAID)陣列的網絡連接存儲(NAS)裝置可以裝載有硬盤驅動器并且通過網絡與計算機通信,該計算機可以安裝由NAS裝置暴露的卷作為網絡卷。作為第三示例,虛擬硬盤驅動器(VHD)可以被生成作為被分配在另一設備上存儲塊,并且可以作為虛擬卷呈現(xiàn)給計算機。這些和其它示例會建議各式各樣的具有變化屬性和接口的物理和虛擬存儲設備可以呈現(xiàn)給計算機。為了降低與這一系列存儲設備交互的復雜性,計算機可以指定邏輯表示標準,使得驅動器可以以比較標準方式呈現(xiàn)該計算機可以使用的存儲設備的邏輯表示,而與底層存儲設備的類型、位置、特性或復雜性無關。同樣在計算領域中,許多情形涉及由網絡連接的相互操作節(jié)點的集群,諸如協(xié)同提供服務的設備的服務器群。在這些情形中,節(jié)點可以共享一個或多個存儲池(storage·pool),并且可以建立用于使用這種存儲設備的協(xié)議(例如為了降低寫沖突和死鎖)。存儲池可以由一個或多個存儲設備的共享的容量提供,每個存儲池可以連接到存儲設備和/或連接到網絡,并且由這種存儲設備提供的容量可以以許多方式聚集(aggregate)。
發(fā)明內容
提供本發(fā)明內容是為了以簡化形式介紹將在下面的詳細描述部分中進一步描述的概念的選集。本發(fā)明內容不意圖確認出所要求保護的主題的關鍵因素或實質特征,也不意圖用于限制所要求保護的主題的范圍。存儲設備可以由一個或多個計算機以各種各樣方式使用。作為第一示例,存儲設備的整個容量可以被分配用于單個邏輯卷,或者可以被分區(qū)和暴露為兩個或更多個邏輯卷。作為第二示例,第一存儲設備的容量可以與第二存儲設備的存儲容量合并(pool)(例如成跨越或條帶布置)。作為第三示例,聚集兩個或更多個存儲設備的容量的存儲池可以利用彈性計劃來創(chuàng)建,該彈性計劃使能實現(xiàn)諸如在存儲設備故障、錯誤檢測和錯誤校正情況下進行恢復的特征。這種彈性計劃可包括鏡像計劃,其中數(shù)據集合的相同拷貝被存儲在每個存儲設備上,以及奇偶計劃,其中存儲在一些設備上的數(shù)據可以由存儲在其它設備上的一個或多個奇偶計算(例如校驗和)支持,使得如果任何存儲設備故障或者變得不可用,存儲在該存儲設備上的數(shù)據可以使用存儲在所述其它存儲設備上的對應的數(shù)據和對應的奇偶計算重建。作為第四示例,會是有利的是,將存儲設備的容量分割成不同存儲池;例如,一個具體存儲設備可以將一些容量分配到利用來自第一存儲設備集合的容量聚集的第一池,以及將一些附加容量分配到利用來自不同存儲設備集合的容量聚集的第二池,并且將其余容量分配到未合并的邏輯表示。作為第五示例,存儲設備可以被諸如集群節(jié)點的若干計算機共享和同時訪問,所述若干計算機可能不得不相互通信并且按照減小寫沖突、彈性不一致和死鎖的方式使用所述存儲設備。再者,會是有利的是,不是通過以比較孤立和不透明方式操作的專用存儲控制器,而是通過可以與計算環(huán)境魯棒地交互的軟件接口,將存儲設備暴露于一個或多個計算機。此處給出了用于在計算機上表示存儲設備的技術,所述技術可以促進這些情形中的許多種情形。依據此處給出的技術,計算機可包括存儲設備驅動器,所述存儲設備驅動實施層集合,所述層集合在不同情形下將存儲設備呈現(xiàn)給計算機的操作環(huán)境。具體地,存儲設備驅動器包括存儲設備接口部件,所述存儲設備接口部件按照低級別方式與存儲設備交互(例如發(fā)出讀和寫請求,處理諸如沖洗的緩存語義,以及應用存儲設備的尋址協(xié)議),并且所述存儲設備接口部件暴露存儲設備的存儲區(qū)域的存儲區(qū)域表示集合(例如,分配在存儲設備上的分區(qū)或容量片(slab)的表示);存儲控制器驅動器部件,所述存儲控制器驅動器部件要求存儲區(qū)域表示,應用存儲設備關系的能力(例如容量合并和彈性方案),并且給出合并的存儲區(qū)域表示;以及存儲端口驅動器部件,所述存儲端口驅動器部件要求合并的存儲區(qū)域表示并且將存儲設備的合并的存儲區(qū)域的邏輯表示呈現(xiàn)給操作環(huán)境。存儲設備驅動器的架構因此可以使能實現(xiàn)在提供(provision)存儲設備集合時的巨大靈活性,并且可以將相應存儲設備作為若干不同表示暴露于操作環(huán)境,所述若干不同表示使得在存儲設備的提供和利用方面能夠實現(xiàn)簡化的利用和豐富的信息。另外,這些能力可以在計算機的操·作環(huán)境中實施為存儲設備驅動器,由此減小了涉及專用硬件部件,所述專用硬件部件會使存儲情形孤立和復雜化。此處給出的技術還涉及將存儲設備暴露于可能協(xié)同地利用存儲設備的節(jié)點的集群。在這種情形下,存儲設備驅動器可以進一步配置成促進集群考慮,諸如存儲池或集群資源的管理以及節(jié)點之間的所有權和權限的協(xié)商。通過可以依據此處給出的技術在計算機的操作環(huán)境中呈現(xiàn)存儲設備的存儲設備驅動器的架構和配置,可以實現(xiàn)這些和其它優(yōu)點。為了實現(xiàn)前述和相關目的,下面給出的描述和附圖闡述了某些說明性方面和實現(xiàn)方式。這些僅僅表明可以采用一個或多個方面的各種方式當中的幾種。通過結合附圖考慮下面的詳細描述,本公開內容的其它方面、優(yōu)點和新穎特征將變得顯而易見。
圖I為示例性情形的圖示,其特征在于計算機上的存儲設備集合的表示。圖2為示例性情形的圖示,其特征在于存儲設備集合被分組成各存儲池并且由相應的節(jié)點集群訪問。圖3為示例性存儲設備驅動器的圖示,該存儲設備驅動器依據此處給出的技術表示計算機的操作環(huán)境內的存儲設備。圖4為圖示依據此處給出的技術表示設備可訪問的存儲設備的示例性方法的流程圖。圖5為示例性計算機可讀介質的圖示,該計算機可讀介質包括處理器可執(zhí)行指令,所述處理器可執(zhí)行指令配置成具體實施一個或多個此處闡述的提供。圖6為示例性情形的圖示,其特征在于依據此處給出的技術向集群的節(jié)點表示相應存儲設備的存儲區(qū)域。圖7為另一示例性情形的圖示,其特征在于依據此處給出的技術向集群的節(jié)點表示相應存儲設備的存儲區(qū)域。
圖8圖示示例性計算環(huán)境,在該計算環(huán)境中可以實施一個或多個此處闡述的提 供。
具體實施例方式下面將參照附圖描述所要求保護的主題,其中相同的附圖標記始終被用來指代相同的元件。在下面的描述中,出于解釋的目的闡述了許多特定細節(jié)以便提供對于所要求保護的主題的透徹理解。但是可以明顯看出,可以在沒有這些特定細節(jié)的情況下實踐所要求保護的主題。在其它情況中,以框圖形式示出了各結構和設備以便于描述所要求保護的主題。A.介紹。在計算領域中,許多情形涉及在計算機上的存儲設備的表示。作為第一示例,硬盤驅動器或固態(tài)存儲設備可以直接連接到計算機,諸如使用串行ATA(SATA)連接器或者通用串行總線(USB)連接器,并且在存儲設備的固件上提供的存儲設備驅動器可以執(zhí)行在計算機的操作環(huán)境中暴露存儲設備所涉及的任務。硬盤驅動器的容量可以完全被分配作為單個邏輯卷,或者可以分區(qū)或以其它方式分割為兩個或更多個容量子集合,每個所述容量子集合可以被暴露成為邏輯卷。作為第二示例,計算機可包括一個或多個光盤驅動器(例如DVD-ROM驅動器),并且光盤驅動器的存儲設備驅動器可以與操作環(huán)境的其它部件相互操作(例如盤刻錄應用),從而暴露光盤驅動器的能力(例如光盤擦除和印刷技術)以及其限制(例如高延遲和有限隨機寫訪問)。作為第三示例,一個或多個硬盤驅動器可以裝載到存儲裝置中,該存儲裝置可以管理硬盤驅動器并且將合并的表示呈現(xiàn)給計算機。作為一個示例,在廉價盤冗余陣列(RAID)裝置中,通過交換I/O請求,監(jiān)視硬盤驅動器的狀態(tài)和健康,并且應用各式各樣特征,RAID控制器管理硬盤驅動器的陣列。例如,RAID控制器可以生成在一個硬盤驅動器上孤立的邏輯卷;跨越兩個或更多個硬盤驅動器的邏輯卷(按照順序或條帶方式);在兩個或更多個硬盤驅動器上鏡像的邏輯卷(例如,其中數(shù)據集合在每個存儲設備上被存儲為相同的拷貝);以及邏輯卷,在將數(shù)據集合寫到一些存儲設備時,該邏輯卷將數(shù)據集合的奇偶計算寫到另一存儲設備,使得在存儲設備的突然故障、斷開或其它類型的不可訪問情況下,所述不可訪問的存儲設備上的數(shù)據可以使用其它存儲設備上的對應的數(shù)據和該奇偶計算來重建。然而,RAID控制器可能抽象掉存儲設備陣列的許多許多,并且可能在計算機的操作環(huán)境內作為單個網絡卷來呈現(xiàn)該陣列。作為第四示例,虛擬硬盤驅動器(VHD)可以從一個或多個其它存儲設備的存儲容量生成。VHD可以作為物理存儲設備的模擬而被呈現(xiàn)給操作環(huán)境,并且用于VHD的存儲設備驅動器可以將VHD內相應地址的訪問請求轉變?yōu)槟繕嗽谟跒榘ㄖ付ǖ刂返腣HD提供容量的存儲設備的請求。這些和其它類型的存儲設備可以給出可能連接到計算機的各種存儲設備的指示。配置計算機的操作環(huán)境從而按照鑒于存儲設備特性的專門方式與每個存儲設備交互會是非常困難的,特別是由于存儲設備的新的類型、特征和屬性被頻繁地開發(fā)。相反,可以按照至少兩種方式來管理這種變動的復雜性。第一,操作環(huán)境可以配置成不與存儲設備直接交互,而是與配置成將與存儲設備的專門交互(例如對硬盤驅動器的突發(fā)訪問能力、寫緩存的沖洗語義、以及光盤驅動器的刻錄和擦拭語義)轉變?yōu)楸容^廣義的操作(例如讀、寫、格式化和列出內容)的存儲設備驅動器交互。第二,操作環(huán)境可以定義將由所有存儲設備驅動器暴露用于所有存儲設備的存儲設備的邏輯表示。這種邏輯表示可以使能實現(xiàn)由操作環(huán)境列舉存儲設備以及操作環(huán)境與每個存儲設備的比較一致的交互,而與其具體屬性無關。圖I給出示例性情形100的圖示,其特征在于計算機108可訪問的存儲設備102集合。存儲設備102可具有不同特性(例如,可用的和被使用的容量、訪問速率、延遲、易失性以及事務處理寫能力)并且可以基于變化的設計模式來工程化(例如,硬盤驅動器、固態(tài)存儲電路和光盤)。然而,計算機108配置成按照比較標準化方式與每個存儲設備102交互,例如,通過對存儲設備102詢問容量,利用諸如文件系統(tǒng)或數(shù)據庫系統(tǒng)的存儲系統(tǒng)格式化存儲設備102,提供和/或分配存儲設備102的容量,以及發(fā)出讀和寫請求以利用存儲設備102的分配的容量。為了實現(xiàn)這種標準化,相應存儲設備102可以通過具體部件與計算機108接口,所述具體部件可以以簡化方式將存儲容量暴露于計算機108。例如,第一存儲設備102可包括存儲設備驅動器110,該存儲設備驅動器要求整個存儲設備102并且將其作為邏輯卷104暴露于計算機108。兩個附加存儲設備102可以被選擇從而作為存儲池116相互操作,其中存儲設備102的容量以跨越方式(例如,其中順序地址空間的第一半被存儲在第一存儲設備102上并且地址空間的第二半被存儲在第二存儲設備102上)或者以條帶·方式(例如,其中地址空間以交替方式遍布存儲設備102分配)被聚集在統(tǒng)一的邏輯卷104中。動態(tài)卷存儲驅動器112可以因此要求所述兩個存儲設備102并且作為邏輯卷104而生成合并的容量的表示。當計算機108發(fā)出請求以寫到具體轉變請求從而訪問邏輯卷104內的具體邏輯地址時,動態(tài)卷存儲驅動器112可以識別對應于所述邏輯地址的所述兩個存儲設備102中的一個上的物理地址,并且可以發(fā)出轉變的訪問請求到對應的存儲設備102。四個存儲設備102的第三集合可以聚集在由諸如RAID控制器的存儲控制器114控制的存儲池116中。存儲控制器114可以自動地應用各種存儲特征到存儲池116的存儲設備102,諸如有選擇的聚集計劃和/或有選擇的彈性計劃;可以監(jiān)視和報告存儲設備102的健康(例如,檢測存儲設備102的臨近的故障);并且可以在這種存儲設備102上自動地執(zhí)行維護操作,諸如在取代故障的、斷開的或者移除的存儲設備102的存儲設備102的上重建數(shù)據。然而,存儲控制器114可以將整個存儲池116作為邏輯卷104呈現(xiàn)給計算機108。各種存儲設備驅動器和存儲控制器可以因此實現(xiàn)計算機108的存儲機制的標準化,并且可以將存儲設備102和存儲池116的復雜的相互關系和特征轉換為容量存儲器的簡單集合。作為附加并發(fā)情況,存儲設備102可以利用各種程度的相互操作而被計算機108的集合同時訪問。具體地,計算機108的集合可以配置成作為集群的節(jié)點而相互操作。集群可以被提供以實現(xiàn)為大的用戶和/或設備集合提供服務的各種任務,諸如共享的計算容量以用于高性能計算應用和同時處理能力。這種集群也可以配置有許多復雜特征,諸如故障轉移能力,其中崩潰、與集群斷開、或者其它方式故障的節(jié)點的責任可以自動地并且迅速地由替代節(jié)點承擔,由此減小先前被分派到故障節(jié)點的服務的提供的中斷。具體地,節(jié)點的集群可以與一個或多個存儲設備102交互,并且可以同時訪問一個或多個存儲設備102。然而,集群的節(jié)點對存儲設備102的不受限制和不受協(xié)調的訪問會導致許多問題,所述問題包括寫沖突(例如,同時寫到存儲設備102的具體位置的兩個或更多個數(shù)據集合之間的競爭狀態(tài),從而導致非確定的結果以及不一致地寫入的數(shù)據,諸如由不同集群的節(jié)點寫到同一位置的不同數(shù)據集合的任意融合);冗余故障(例如,諸如奇偶計算技術的彈性方案的故障,其由競爭狀態(tài)造成并且導致彈性保證的故障以及潛在數(shù)據敗壞);以及死鎖(例如,第一節(jié)點排它性地鎖定數(shù)據集合或存儲設備102,這給嘗試訪問該數(shù)據集合或存儲設備102的其它節(jié)點引發(fā)問題)。再者,會期望提供存儲設備102以參與兩個或更多個存儲池116,和/或與兩個或更多個集群的節(jié)點通信。以使能實現(xiàn)這種復雜情形的靈活方式配置操作環(huán)境可能代表一個困難的任務。圖2給出示例性情形200的圖示,其特征在于提供存儲設備102集合的容量與與節(jié)點208的兩個集群206通信。在此示例性情形200中,六個存儲設備102被提供,并且每個存儲設備102的存儲容量202被分攤到相應邏輯卷104中。具體地,在存儲設備102之間提供存儲容量202。例如,第一存儲設備102可以被完全分配作為單個計算機108可訪問的單個邏輯卷104。然而,再者,另一個存儲設備102的存儲容量202可以聚集到一個或多個存儲池116中,每個存儲池可以指定存儲特征204的具體集合。例如,第一存儲池116可以條帶分布跨過第二和第三存儲設備102,而第二存儲池116可以指定鏡像關系,其中相同數(shù)據存儲在被分配用于鏡像存儲池116的每個存儲設備102的存儲容量202內。這種存儲池可以被暴露(排它性或非排它性地)到節(jié)點208的集群206以用于提供集群206的服務。例如,集群206可以提供利用分布式數(shù)據庫的電子郵件托管服務,并且用于該分布式數(shù) 據庫的容量可以由實施促成該服務的各種存儲特征204(例如,高吞吐量、故障彈性以及高可用性)的存儲池116提供。節(jié)點208也可以占據集群206中的各種角色(例如,數(shù)據驅動的應用程序可包括作為數(shù)據服務器操作的節(jié)點208的第一集合,節(jié)點208的第二集合應用業(yè)務邏輯,并且節(jié)點208的第三集合作為前端操作),并且可以在這些規(guī)則的上下文中實施各種權限集合和信任級別。存儲設備102可以因此不得不支持集群206的復雜配置,以及被分配到集群206的存儲池116的存儲特征204。再者,會期望配置存儲設備102從而為不同存儲池116分配存儲容量202的不同部分,每個存儲池可具有不同存儲特征204 (例如,第六存儲設備102的存儲容量202被分區(qū)為孤立邏輯卷104以及分別參與具有不同存儲特征204的不同存儲池116的兩個部分)。鑒于存儲設備102集合的配置、存儲設備102之間的存儲池106、以及與節(jié)點208的集群206的相互操作的復雜性,可能難以配置存儲設備102和計算機108 (既單獨地又作為集群206的節(jié)點208)從而以高性能方式滿足這種復雜性,同時也減小管理復雜性并且簡化存儲設備102的邏輯表示以及提供的容量的可用性。某些這些復雜性可以例如通過將一些功能封裝在諸如RAID存儲控制器的專用硬件控制器中來解決,所述專用硬件控制器可以實施用于各種存儲設備102的選定的存儲特征204,同時向計算機108呈現(xiàn)簡化的表示。然而,通過專用硬件控制器可實現(xiàn)的簡化會產生若干缺點。作為第一示例,專用硬件涉及附加的獲得和操作成本,以及專用管理和用戶訓練。作為第二示例,專用硬件會對存儲設備102施加附加限制。例如,RAID控制器經常涉及排它性地要求參與單個存儲池的存儲設備102的整個存儲容量202,這會無法兼容圖2的示例性情形200中第四、第五和第六存儲設備102中的每一個的各式配置。作為第三示例,由RAID控制器提供的簡化也可以代表存儲設備102的細節(jié)的抽象,以及對于計算機108或者對于集群206的節(jié)點208會是有價值的信息的混淆。例如,通過檢查數(shù)據集合在存儲設備102上存儲在何處以及如何存儲在存儲設備102上,可以標識在訪問具體數(shù)據集合時由存儲池116展示的不良性能的原因。然而,RAID控制器可能抽象掉這種信息,并且可能難以確定數(shù)據集合位于何處以及如何通過RAID控制器被訪問。作為第四示例,硬件控制器可能難以用新功能更新;例如,高性能集群206可能涉及專用數(shù)據訪問技術,但是硬件控制器可能不是魯棒地可配置或者不是充分靈活以實施該技術,而存儲設備102的基于軟件的控制器可以容易地配置。這些和其它因素會鼓勵減小復雜存儲情形中在存儲設備102的控制中的硬件部件。B.給出的技術。此處給出了用于在計算機108上表示存儲設備102的技術,該技術與其它表示技術相比可以實現(xiàn)一些優(yōu)點。依據這些技術,可以設想到一種存儲設備驅動器,其能夠與存儲設備102交互,同時應用許多類型的存儲特征204,并且其可以以簡化和標準化方式表示存儲設備102 (例如,作為邏輯表示318,諸如邏輯盤),同時也暴露存儲設備102的底層細節(jié)(例如,存儲設備102集合聚集為存儲池116,以及通過具有各種集群情況的節(jié)點208的集群206訪問存儲設備102)。再者,存儲設備驅動器可以實施為軟件驅動器,并且可以提供這些魯棒特征,同時完全符合操作環(huán)境的現(xiàn)有存儲設備驅動器架構,并且可以與支持和表示其它存儲設備102的傳統(tǒng)存儲設備驅動器一起操作。具體地,此處給出的技術涉及通過各層的具體架構在計算機108上表示存儲設備 102,每個層實施具體的存儲特征204集合,并且在不同上下文中暴露一個或多個存儲設備102。例如,所述技術可以實施為軟件驅動器,該軟件驅動器在低級別包括存儲設備接口部件,其配置成生成相應存儲設備102的相應存儲區(qū)域的存儲區(qū)域表示。存儲區(qū)域表示可包括例如在計算機108的操作環(huán)境中存儲設備102的現(xiàn)有存儲區(qū)域的低級別表示(例如物理地址范圍、分區(qū)或容量片)。軟件驅動器在中間級別也可以包括存儲控制器驅動器部件,其配置成將相應存儲區(qū)域聚集到存儲池116中,并且可以實施存儲池116的各種存儲特征204(例如,通過將每個接收寫請求轉換為指向不同存儲設備102的不同存儲區(qū)域的相同請求,應用鏡像彈性計劃)。另外,存儲控制器驅動器部件可以要求存儲池中涉及的存儲區(qū)域的存儲區(qū)域表示(例如,在計算機108的操作環(huán)境指示該存儲區(qū)域被保留并且由存儲控制器驅動器部件排它性地使用,并且對于其它部件的訪問是不可用的),并且可以暴露存儲池116作為合并的存儲區(qū)域表示(例如,存儲池116的計算機108的操作環(huán)境中的表示,可選地指示存儲池116的特性,諸如實施的存儲特征204)。存儲設備驅動器在高級別也可以包括存儲端口驅動器部件,其配置成從由存儲控制器驅動器部件生成的合并的存儲區(qū)域表示生成邏輯表示。例如,存儲端口驅動器部件可以將計算機108的操作環(huán)境中的存儲池116表示為邏輯盤。圖3呈現(xiàn)示例性情形300的圖示,其特征在于依據此處給出的技術在計算機108上表示存儲設備102。在此示例性情形300中,兩個存儲設備102的集合(在底部)對于計算機108是可訪問的,并且將表示在該計算機上。再者,存儲設備102可以呈現(xiàn)一個或多個存儲區(qū)域304的集合,并且可以被提供用于聚集為存儲池116,并且可以具有具體存儲設備關系302 (例如一個或多個存儲特征204,諸如帶條帶關系、鏡像關系或校驗和關系,或者其它類型的關系,諸如主要/次要關系或故障轉移關系)。此處給出的技術可以通過提供按照下述方式配置的存儲設備驅動器306,而被用于在計算機108的操作環(huán)境中表示存儲設備102的存儲區(qū)域304。存儲設備驅動器306包括存儲設備接口部件308,其配置成在低級別與存儲設備102交互,例如通過發(fā)出訪問請求到存儲設備102,協(xié)商每個存儲設備102的尋址方案,以及處理寫高速緩存和緩存語義(例如,與讀高速緩存交互并且沖洗寫高速緩存)。存儲設備接口部件308可以生成存儲設備102的每個存儲區(qū)域304的存儲區(qū)域表示310 (例如,指示在計算機108的操作環(huán)境中每個存儲區(qū)域304的存在和特性)。存儲設備驅動器306還包括存儲控制器驅動器部件312,其可以配置成將兩個或更多個存儲區(qū)域表示310聚集為存儲池116,并且還可以實施存儲設備關系302的細節(jié)(例如,將相應寫請求引導到兩個存儲區(qū)域304從而滿足鏡像存儲設備關系302)。存儲控制器驅動器部件312也可以配置成要求存儲區(qū)域表示310(例如,向計算機108的操作環(huán)境中的其它進程指示所表示的存儲區(qū)域304被保留用于存儲池116,并且對于其它存儲進程是不可用的),以及生成合并的存儲區(qū)域表示314(例如,指示計算機108的操作環(huán)境中存儲池116的存在,可選地包括有關存儲池118的細節(jié),諸如其是可用的和所使用的容量以及在其中實施的存儲特征204)。存儲設備驅動器306還包括存儲端口驅動器部件316,其將計算機108的操作環(huán)境中的合并的存儲區(qū)域表示314表示為邏輯表示318 (例如,表示為邏輯盤)。存儲端口驅動器部件316可以因此將所表示的存儲池116暴露為簡單容量存儲。如圖3的示例性情形300所描繪,此處給出的技術可以呈現(xiàn)與存儲設備102的其它表示相比的許多優(yōu)點。作為第一示例,作為存儲設備驅動器306的技術的架構可以使能 這種豐富特征集合可以在許多計算機108的現(xiàn)有存儲驅動器架構中實施,以及與傳統(tǒng)存儲設備驅動器110 —起操作(例如,圖3中描繪的簡單存儲設備驅動器110,其簡單地將單個存儲設備102表示為邏輯卷104)。然而,此示例性存儲設備驅動器306也暴露存儲設備102的若干表示,其包括用于存儲設備102的存儲區(qū)域304的存儲區(qū)域表示310 ;用于存儲池116的合并的存儲區(qū)域表示314 ;以及按照存儲端口驅動器方式的邏輯表示318。這種分層呈現(xiàn)使得計算機108的個體和進程能夠在不同上下文中以及在變化的細節(jié)級別檢查存儲設備102,所述級別包括簡單容量存儲的最高級別表示、在其中實施的存儲池116和存儲特征204的中間級別表示;以及在其上實施的存儲設備102和存儲區(qū)域304的低級別表示。此外,按照分層方式的表示存儲設備102使得實現(xiàn)在下述中的魯棒靈活性作為存儲區(qū)域表示的存儲設備102的存儲區(qū)域的配置;將存儲區(qū)域表示合并到具有各種存儲特征204集合的存儲池116中;以及將存儲池116暴露和用作可以按照許多方式分攤和利用的邏輯表示。再者,由于在計算機108的操作環(huán)境中執(zhí)行的存儲設備102的存儲設備驅動器306知曉存儲情形的豐富復雜性,存儲設備驅動器306可以在各種層實施附加特征。例如,如果計算機108為集群206的節(jié)點208,并且如果存儲設備102和/或存儲池16由作為集群206的一部分的計算機108訪問,則存儲設備驅動器306可以實施集群環(huán)境的特征(例如,校驗權限和訪問權,并且將這種訪問通知集群206的其它節(jié)點208),并且可以在設備驅動器級別如此操作,由此在存儲設備驅動器306級別實現(xiàn)在對存儲設備102的基礎和全面訪問中的復雜存儲情形細節(jié)的實施。這些和其它優(yōu)點可以通過依據此處給出的技術的存儲設備102在計算機108上的表示來實現(xiàn)。C.示例性實施例。圖3呈現(xiàn)這些技術的第一示例性實施例的圖示,其被圖示為配置成表示計算機108可訪問的存儲設備102的示例性存儲設備驅動器306。存儲設備驅動器306包括相互操作的部件的集合,其中相應部件可以例如實施為在計算機108的存儲器部件(例如存儲器電路、硬盤驅動器的盤片、固態(tài)存儲設備或者磁盤或光盤)中存儲的指令集合,所述指令集合在被執(zhí)行時在計算機108的操作環(huán)境中實施存儲設備驅動器306,該存儲設備驅動器306生成在計算機108中存儲設備102的表示。存儲設備驅動器306可以被提供存儲計劃(例如,由用戶提供的規(guī)范,從而指示存儲設備102如何將被聚集到存儲池116、存儲特征204和/或邏輯表示31中),并且可以根據此處給出的技術實施存儲計劃。具體地,存儲設備驅動器306包括存儲設備接口部件308,其配置成生成相應存儲設備102的相應存儲區(qū)域304的存儲區(qū)域表示310。存儲設備驅動器306還包括存儲控制器驅動器部件312,其配置成,對于包括相應存儲設備102的至少一個存儲區(qū)域304的相應存儲池116,要求存儲池116中涉及的存儲設備102的存儲區(qū)域304的存儲區(qū)域表示310 ;應用存儲設備關系302到存儲池116 ;以及生成存儲池116的合并的存儲區(qū)域表示314。存儲設備驅動器306還包括存儲端口驅動器部件316,其配置成,對于相應的合并的存儲區(qū)域表示314,生成合并的存儲區(qū)域表示314的邏輯表示318。以此方式,存儲設備驅動器306可以依據此處給出的技術以分層和靈活的方式在計算機108的操作環(huán)境中呈現(xiàn)存儲設備102。圖4呈現(xiàn)這些技術的第二實施例的圖示,其被圖示為表示具有處理器的計算機108可訪問的存儲設備102的示例性方法400。示例性方法400可以例如實施為在計算機108的存儲器部件(例如,存儲器電路、硬盤驅動器的盤片、固態(tài)存儲器部件或者磁盤或光盤)中存儲的指令集合,當由計算機108的處理器執(zhí)行時,所述指令集合使得計算機108執(zhí)行此處給出的技術。示例性方法400在402開始并且涉及在處理器上執(zhí)行404指令。特別·地,指令配置成在計算機108上安裝存儲設備驅動器306,該存儲設備驅動器306進而包括指令,所述指令配置成當在處理器上執(zhí)行時使得計算機108根據此處給出的技術表示存儲設備102。具體地,存儲設備驅動器306的指令配置成生成406相應存儲設備102的相應存儲區(qū)域304的存儲區(qū)域表示310。存儲設備驅動器306的指令還配置成,對于包括至少一個存儲設備102的至少一個存儲區(qū)域304的相應408存儲池116,要求410存儲池116中涉及的存儲設備102的存儲區(qū)域304的存儲區(qū)域表示310 ;應用412存儲設備關系302到存儲池116 ;以及生成414存儲池116的合并的存儲區(qū)域表示314。存儲設備驅動器306的指令還配置成,對于相應的合并的存儲區(qū)域表示314,生成416存儲區(qū)域表示310的邏輯表示。通過在計算機108上安裝配置成以此方式操作的存儲設備驅動器306,示例性方法400在計算機108的操作環(huán)境中依據此處給出的技術表示存儲設備102,并且因此在418結束。又一實施例涉及包括處理器可執(zhí)行指令的計算機可讀介質,所述處理器可執(zhí)行指令配置成應用此處給出的技術。這樣的計算機可讀介質例如可以包括涉及有形設備的計算機可讀存儲介質,諸如存儲器半導體(例如利用靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)和/或同步動態(tài)隨機存取存儲器(SDRAM)技術的半導體)、硬盤驅動器的盤片、閃速存儲器設備或者磁盤或光盤(諸如CD-R、DVD-R或軟盤),其編碼計算機可讀指令集合,當由設備的處理器執(zhí)行時,所述計算機可讀指令集合使得該計算機實施此處給出的技術。這樣的計算機可讀介質還可以包括(作為與計算機可讀存儲介質不同的一類技術的)各種類型的通信介質,比如可以通過各種物理現(xiàn)象傳播的信號(例如電磁信號、聲波信號或光學信號)以及在各種有線情形(例如通過以太網或光纖線纜)和/或無線情形(例如,諸如WiFi的無線局域網(WLAN)、諸如藍牙的個人區(qū)域網(PAN)、或者蜂窩或無線電網絡)中傳播的信號,并且其編碼計算機可讀指令集合,當由設備的處理器執(zhí)行時,所述計算機可讀指令集合使得該計算機實施此處給出的技術。圖5中圖示了可以按照這些方式設想到的示例性計算機可讀介質,其中實施方式500包括在其上編碼計算機可讀數(shù)據504的計算機可讀介質502 (例如⑶-R、DVD_R或者硬盤驅動器的盤片)。該計算機可讀數(shù)據504進而包括計算機指令506集合,其配置成根據這里闡述的原理來操作。在一個這樣的實施例中,處理器可執(zhí)行指令506可以被配置成執(zhí)行在計算機上表示存儲設備的方法,諸如圖4的示例性方法400。該計算機可讀介質的一些實施例可以包括非瞬時計算機可讀存儲介質(例如硬盤驅動器、光盤或閃速存儲器設備),其被配置成存儲以這種方式配置的處理器可執(zhí)行指令。本領域普通技術人員可以設想到被配置成根據此處給出的技術操作的許多這種計算機可讀介質。D.變型。在許多方面可以設想到此處討論的技術的變型,并且其中一些變型相對于這些和其它技術的其它變型可以給出附加的優(yōu)點和/或減少缺點。再者,一些變型可以被組合實施,并且通過協(xié)同的合作,一些組合可以特征在于附加的優(yōu)點和/或減少的缺點。所述變型可以被結合在各種實施例中(例如圖4的示例性方法400),以便為這種實施例賦予單獨的和/或協(xié)作的優(yōu)點。
Dl.情形。在這些技術的各實施例之間可能有所不同的第一方面涉及可以在其中利用這樣的技術的各種情形。作為該第一方面的第一變型,這些技術可以在許多類型的存儲設備102中使用,所述存儲設備102包括硬盤驅動器、固態(tài)存儲設備、非易失性存儲器電路、基于帶的存儲設備以及磁盤和光盤。這種存儲設備102也可以直接連接到實施這些技術的計算機108 ;可以通過有線或無線局域網(例如802. 11 WiFi網絡或特別(ad-hoc)連接,或者紅外連接)訪問;以及/或者可以通過有線或無線廣域網(例如蜂窩網絡或因特網)訪問。作為該第一方面的第二變型,存儲設備102可以存儲許多類型的數(shù)據集合。例如,存儲設備102的容量可以用于存儲存儲各種類型的二進制對象的二進制存儲系統(tǒng);存儲文件的文件系統(tǒng);存儲媒體對象的媒體庫;存儲許多類型的對象的對象系統(tǒng);存儲記錄的數(shù)據庫;以及存儲電子郵件消息的電子郵件系統(tǒng)。另外,這種數(shù)據集合可以按照許多方式阻止,諸如無序集合、序列、諸如樹的層級結構、或者元組集。作為此第一方面的第三變型,這些技術的某些部分或全部可以被實施在計算環(huán)境內的一個或更多部件中,比如存儲在可以訪問存儲設備102的計算機或設備的易失性或非易失性存儲器中的軟件指令集合(例如操作系統(tǒng)處理或硬件驅動程序);由被配置成與存儲設備102接口的存儲系統(tǒng)實施(例如硬件存儲控制器);或者被實施在相應存儲設備102中。作為該第一方面的第四變型,存儲設備102可以配置成按照各種方式分配容量。例如,存儲設備102可以配置成將容量分配為暴露邏輯卷的分區(qū)集合;分配為與空間關聯(lián)的擴展集合;或者分配為可以進一步被提供且與空間關聯(lián)的容量片集合。本領域技術人員可以設想到在其中可以利用此處給出的技術的許多情形。D2.存儲設備驅動器。可以在這些技術的實施例之間變化的第二方面涉及存儲設備驅動器306的實施方式中的變型。作為第一變型,存儲設備驅動器306的架構可以在許多方面改變。圖3的示例性情形300圖示了示例性存儲設備驅動器306的一種合適架構,其包括存儲設備接口部件308,作為與存儲設備102的較低級別接口 ;存儲控制器驅動器部件312,作為實施存儲池116和存儲設備關系302的中間級別接口 ;以及存儲端口驅動器部件316,作為高級別接口,其生成在計算機108的操作環(huán)境中存儲池116的最高級別表示。然而,可以設想到仍然可以捕獲此處給出的技術的此架構中的許多變型。作為一個這種示例,存儲控制器驅動器部件312可以實施為合并部件,其將存儲設備102聚集到存儲池116中;以及分離存儲設備關系部件,其實施存儲池116的存儲設備關系302 (例如,在合并部件上、下或者并排實施的不同部件)。可以設想到許多這種架構變型,而同時仍與此處給出的技術兼容。作為該第二方面的第二變型,存儲設備驅動器306的相應部件可以在不同上下文生成存儲設備102的各種表示,并且可以按照許多方式如此操作。作為第一示例,一個或多個部件可以生成在計算機108的操作環(huán)境中是可見的存儲設備的表示??商鎿Q地,部件可以生成在存儲設備驅動器36內部的表示,并且可以將該表示僅僅暴露于更高級別部件由此用于消耗。例如,存儲控制器驅動器部件312可以生成對于計算機108的其它進程是可見的合并的存儲區(qū)域表示314,或者可以將合并的存儲區(qū)域表示314僅僅呈現(xiàn)給存儲端口驅動器部件316以用于進一步表示為邏輯表示318。作為第二示例,相應部件可以要求由較低級別部件生成的存儲設備102的表示。例如,對于由存儲設備接口部件308生成的,用
于存儲池116中涉及的存儲區(qū)域304的相應存儲區(qū)域表示310,存儲控制器驅動器部件312可以通過徹底消耗并且將它們從計算機108的操作環(huán)境的其它進程隱藏來要求這種存儲區(qū)域表示310 (例如,從存儲設備列舉完全移除托管這種存儲區(qū)域304的存儲設備102),使得存儲區(qū)域304沒有被可見地表示并且看上去不存在??商鎿Q地,存儲控制器驅動器部件312可以簡單地改變存儲區(qū)域表示310,例如簡單地改變將存儲設備列舉中的存儲設備102包含到專用存儲設備類型,或者利用合并的存儲區(qū)域表示將該表示替換到存儲設備列舉,由此允許這種表示仍可見,但是被標記為被保留用于包含在合并的存儲區(qū)域表示314中。作為另一可替換方案,存儲控制器驅動器部件312可以按照非排它性方式要求存儲區(qū)域表示,例如通過將合并的存儲區(qū)域表示314與底層存儲區(qū)域表示310關聯(lián),但是可以允許其它進程按照與未合并的存儲區(qū)域304相似的方式與存儲區(qū)域表示310交互。在實施此處給出的技術的同時,本領域技術人員在存儲設備驅動器306的架構和操作中可以設想到許多變型。D3.簡單集群??梢栽谶@些技術的實施例之間變化的第三方面涉及調適此處給出的技術(例如存儲設備驅動器306的配置)用于簡單集群情形。例如,在其中存儲設備驅動器306表示存儲設備102的計算機108可以被包括為簡單集群206中的節(jié)點208,其中相應節(jié)點208可訪問(包括連接到此計算機108,連接到其它節(jié)點208,和/或通過網絡可訪問的)存儲設備102集合。在簡單集群206,相應節(jié)點208可以在節(jié)點208之間請求對存儲設備102可訪問的存儲池116的排它性訪問。例如,存儲池116每次只能由集群206的一個節(jié)點208訪問,并且節(jié)點208可以通過各種并發(fā)機制協(xié)商訪問。具體地,節(jié)點可以配置成選擇可以排它性訪問存儲池116的存儲池所有者,所述存儲池所有者可以保持為存儲池所有者,直至放棄存儲池116的所有權和/或直至所有權被集群206撤銷。例如,集群206的節(jié)點208可以檢測各種替代事件(例如,負載重新平衡事件,其指示從集群206的第一節(jié)點208重新平衡到集群206的第二節(jié)點208 ;斷開事件,其指示存儲池所有者從集群206斷開;以及故障事件,其指示節(jié)點208的故障,諸如存儲池所有者的故障),所述替代事件可以迫使發(fā)生替代池所有者的選擇。在這種事件中,集群206的其它節(jié)點208可以在集群206的其余可用節(jié)點208中自動地選擇存儲池116的新存儲池所有者(或者可以簡單地撤銷存儲池116的所有權,直至或者除非由另一節(jié)點208提出要求)。存儲設備驅動器306可以配置成支持包含計算機108作為簡單集群206情形中的節(jié)點208。作為第一示例,如果計算機108被選擇作為存儲池116的存儲池所有者,存儲設備驅動器306可以指示該存儲池可由作為集群206的節(jié)點208的計算機108訪問(例如,通過自動地生成合并的存儲區(qū)域表示314和/或存儲池116的邏輯表示318,和/或在檢測到將計算機108指定為存儲池所有者時,通過自動地安裝存儲池116作為邏輯盤)。作為第二示例,如果另一節(jié)點208被選擇作為存儲池所有者,或者如果所有權從計算機108被撤銷,則存儲設備驅動器306可以指示存儲池116不可由計算機108訪問(例如,通過自動地卸載作為邏輯盤的存儲池116,和/或自動地撤回由存儲池116產生的邏輯表示318和/或合并的存儲區(qū)域表示314)。在該第三方面的另一變型中,集群206的節(jié)點208可以配置成區(qū)分具有冗余計劃的存儲池116 (例如,包括諸如鏡像或奇偶計算的存儲特征204的存儲池116),并且可以僅 僅為這種存儲池116選擇存儲池所有者,同時允許集群206的任何節(jié)點208訪問不具有冗余計劃的存儲池116。這種存儲池116區(qū)別可以反映準予多個節(jié)點208同時訪問具有這種冗余計劃的存儲池116的顯著和潛在災難性效果;例如,如果兩個節(jié)點208對存儲池116的部分進行寫入,其導致校驗和與對應數(shù)據集合不匹配,則毫無關聯(lián)的數(shù)據集合的完整性可能受連累,并且實際上整個存儲池116的完整性可能受危害。相比之下,不以冗余計劃為特征的存儲池116可以不受寫沖突連累;例如,寫入的數(shù)據集合的有效性可能由于寫沖突受損害,但是不可能危害整個存儲池116的完整性。因此,存儲設備驅動器306可以配置成排它性地通過為具有冗余方案的存儲池116指定存儲池所有者而識別和實施訪問,但是可以不將如此嚴格限制應用到其它存儲池116。本領域技術人員在存儲設備驅動器306的配置中可以設想到許多變型,從而依據此處給出的技術支持簡單集群情形。D4.高可用性集群??梢栽谶@些技術的實施例之間變化的第四方面涉及在被包括作為高可用性集群206的節(jié)點208的計算機108上存儲設備102的存儲設備驅動器306的表示。與簡單集群情形相比,高可用性集群206可以呈現(xiàn)節(jié)點208之間更緊湊的相互操作程度。例如,這種集群206可包括更復雜機制用于共享存儲池116以及用于共享池資源(例如,存儲設備102和/或存儲區(qū)域304的群組);以及包括更復雜機制用于提供和保護對相應存儲設備102、存儲區(qū)域304和存儲池116的訪問。通過以全面方式與存儲情形的復雜性集成(例如,通過封裝存儲設備102、存儲區(qū)域304、存儲池116、存儲設備關系302、存儲特征204和邏輯表示318,以及使計算機108加入作為高可用性集群206的節(jié)點208),存儲設備驅動器306可以能夠實施高可用性集群206的這種訪問控制以及其它特征。作為該第四方面的第一變型,存儲設備驅動器306可以配置成識別將集群206的節(jié)點208 (包括存儲設備驅動器306安裝于其上的計算機108)指定為存儲池116的存儲池管理器。在高可用性集群206中,存儲池116可包括存儲池配置,其可以存儲在參與存儲池116的相應存儲設備102上。例如,存儲池配置可以指示從存儲池116產生的邏輯表示318 ;顯露存儲池116的存儲設備102的存儲區(qū)域304的提供和分配;以及存儲特征204的細節(jié)(例如,使用特定奇偶算法計算奇偶值)。存儲池配置可以很少更新,但是這種變化可能表示存儲設備102的顯著調整。因此,會是有利的是確保這種變化僅僅由一個節(jié)點208寫入,并且迅速從該節(jié)點208廣播到集群206的所有其它節(jié)點208 (例如,而不是以分散方式散布這種信息)。因此,會是有利的是,集群206選擇節(jié)點208作為存儲池管理器,該存儲池管理器可以排它性寫訪問相應存儲設備102上的存儲池配置。試圖改變(例如,發(fā)起在存儲池116中創(chuàng)建新邏輯表示318)存儲池配置的其它節(jié)點208可以被禁止直接更新存儲池配置,并且可以反而將這種請求轉發(fā)到集群206中存儲池116的存儲池管理器。另外,在更新存儲池配置時,存儲池管理器可以配置成將更新廣播到集群206的其它節(jié)點208,從而促使其它節(jié)點208重新讀取存儲池配置,從而促使對包括存儲池116的存儲區(qū)域304以及存儲設備102的正確訪問。 在這種情況下,存儲設備驅動器306可以配置成參與和/或被告知這種選擇,并且可以因此實施對相應存儲設備102上的存儲池配置的訪問。作為第一示例,存儲設備驅動器306可以檢測集群206的節(jié)點208被配置成選擇一存儲池管理器,該存儲池管理器被配置成(主導或者排它性)更新存儲池配置。如果存儲設備驅動器306安裝于其上的計算機108被選擇作為存儲池管理器,存儲設備驅動器306可以使得該計算機108能夠訪問相應存儲設備102和存儲池116的存儲池配置。然而,如果計算機108不是存儲池管理器,存儲設 備驅動器306可以禁止這種訪問,并且/或者可以自動地將這種訪問轉發(fā)到當前存儲池管理器。實際上,在一些實施例中,存儲設備驅動器306可以甚至參與在集群206的節(jié)點208中選擇存儲池管理器(有可能通過與安裝在集群206的其它節(jié)點208上的存儲設備驅動器306通信),并且/或者參與散播有關存儲池配置更新的信息(例如,在計算機108更新存儲池116的存儲池配置時,存儲設備驅動器306可以調用集群206的廣播接口,從而向集群206的其它節(jié)點208通知存儲池配置的更新)。圖6呈現(xiàn)示例性情形600的圖示,其特征在于包括可訪問存儲設備102的存儲池116的節(jié)點208集合的高可用性集群206。在此示例性情形600中,相應存儲設備102可包括存儲區(qū)域304集合,所述存儲區(qū)域304集合被分配到集群206的節(jié)點208可訪問的存儲池116,并且可以從存儲池116暴露邏輯表示318的集合。具體地,相應集群206的節(jié)點208可包括根據此處給出的技術配置的存儲設備驅動器306,其可以實現(xiàn)在相應節(jié)點208的操作環(huán)境中生成包括存儲池116的存儲區(qū)域304的邏輯表示318。再者,相應存儲設備102可以存儲含有關于存儲池116的配置和維護信息的存儲池配置602。存儲設備102可以自動地同步604在存儲設備102上存儲的存儲池配置602,從而維持存儲池116的表示的一致性和同步。在圖6的示例性情形600中,在集群206的每個節(jié)點208上操作的存儲設備驅動器306可以按照各種方式促進集群206。例如,不是使得集群206的任一節(jié)點208能夠訪問任何存儲設備102上的存儲池配置602,存儲設備驅動器306可以在集群206的節(jié)點208之間發(fā)起、參與和/或監(jiān)視被授權排它性寫訪問存儲池配置602的存儲池管理器606的選擇。存儲設備驅動器306可以許可由存儲池管理器606發(fā)起存儲池配置602的更新,和/或轉發(fā)到存儲池管理器606用于發(fā)起,并且可以許可存儲池管理器606更新608存儲設備102的存儲池配置602。在接收到更新時,存儲設備102可以自動地同步604存儲池配置602從而傳播到其它存儲設備102。可替換地,存儲池管理器606和/或存儲設備驅動器306可以同步604存儲池配置602。另外,如果其上安裝了該存儲設備驅動器的節(jié)點208不是存儲池116的存儲池管理器606,則每個存儲設備驅動器306可以禁止該節(jié)點208更新608存儲池配置602。以此方式,存儲設備驅動器306促進高可用性集群206的操作。作為該第四方面的第一變型的另一示例,鑒于存儲設備102是否當前被集群206請求,存儲設備驅動器306可以觸發(fā)對存儲設備102的存儲池配置602的排它性訪問??梢岳斫猓绻鎯υO備102不被集群206和/或存儲池116使用,則可以允許使得任何計算機108能夠更新存儲池配置602 (因為它可能不被集群206的其它節(jié)點208所嚴重依賴)。在一個這種情形中,相應存儲池116的存儲池配置62可包括集群參與指示符,諸如指示集群206是否要求存儲池116的特定位或值。存儲設備驅動器306可以配置成在檢測到存儲池116加入集群206時,設置存儲池106的存儲池配置602的集群參與指示符;以及在檢測到存儲池116離開集群206時,清除存儲池106的存儲池配置602的集群參與指示符。再者,在接收到更新存儲池106的存儲池配置602的請求時,存儲設備驅動器306可以確定存儲池116的存儲池配置606的集群參與指示符是否被設置。如果被設置,存儲設備驅動器306可以忍住并且該計算機不是存儲池116的存儲池管理器,禁止對存儲池116的存儲池配置606更新608,除非計算機108被選為存儲池116的存儲池管理器604。例如,基于存儲設備102是否參與集群206,以及節(jié)點208是否被選為存儲池116的存儲池管理器604,存 儲設備驅動器306可以在讀/寫狀態(tài)與只讀狀態(tài)之間觸發(fā)存儲池配置602在節(jié)點208上的表不。作為該第四方面的第二變型,存儲設備驅動器306可以促進集群206對存儲池116和存儲設備102的要求,其中在該集群206中計算機108被登記為節(jié)點208,存儲設備驅動器306安裝于該計算機108上。在這種情形中,會是有利的是,將對存儲設備102的訪問限制到集群206的節(jié)點;例如,通過訪問存儲設備102的集群206的節(jié)點208之間的可信任通信,可以實現(xiàn)和/或促進對存儲設備102的同時訪問。因此,相應存儲設備102可包括登記列表,在該登記列表中可以記錄被許可訪問存儲設備102的計算機108的登記,并且這種登記可以指定相應計算機108被授權對集群206的存儲池116中涉及的存儲區(qū)域304進行寫入。通過僅僅從登記列表中包括的計算機108接受寫請求(并且可選地,也接受讀請求和/或其它訪問請求),存儲設備102可以配置成實施此許可。因此,當集群206的節(jié)點208發(fā)起對存儲設備102的訪問時,節(jié)點208可以首先訪問在存儲設備102上存儲的登記列表,并且可以將自身添加到該登記列表。另外,集群206的節(jié)點208可以被選擇作為存儲設備102的存儲設備管理器,并且可以監(jiān)視登記列表(例如,通過頻繁調查或者通過發(fā)布/訂閱通知系統(tǒng))以確保僅僅在集群206中登記的節(jié)點208被包括在登記列表中。如果存儲設備管理器標識計算機108的登記列表上的登記未被登記為集群206的節(jié)點208 (例如,從集群206斷開或驅逐的節(jié)點208),則存儲設備管理器可以從用于計算機108的登記列表移除該登記。存儲設備管理器可以按照許多方式被選擇,例如,通過選擇或自選擇;可替換地,集群206的存儲池管理器602也可以作為由集群206使用的存儲設備102的存儲設備管理器操作。再者,存儲設備104可以通過下述來促進登記列表的維護包括用于被選為存儲設備管理器的節(jié)點208的保留;以及僅僅容許具有該保留的節(jié)點208更新登記列表。存儲設備驅動器306可以按照各種方式參與存儲設備102的這種保護機制,例如在計算機108訪問存儲設備102時通過自動地請求登記;通過發(fā)起、參與和/或監(jiān)視存儲設備管理器的選擇;和/或通過禁止計算機108訪問計算機108不具有針對其的登記的存儲設備102。圖7呈現(xiàn)示例性情形700的圖示,其特征在于通過實施登記列表702來保護存儲設備102。在此示例性情形700中,節(jié)點208的集群206 (每個節(jié)點安裝了根據此處給出的技術配置的存儲設備驅動器306)訪問存儲設備102,由此可以由存儲設備驅動器306生成邏輯表示318的集合。具體地,參與存儲池116的存儲設備102可以被保留以僅供集群206的節(jié)點208訪問,并且拒絕對當前在集群206中沒有登記的計算機108的訪問。因此,存儲設備102可包括登記列表702,該登記列表702包括指示對節(jié)點208授權以訪問存儲設備102的登記704。節(jié)點208可以通過簡單地更新登記列表702而為自己創(chuàng)建706登記704。然而,存儲設備102也可以被集群206外的計算機108訪問,例如被從集群206斷開或驅逐的計算機108訪問。再者,計算機108可能甚至不檢測斷開或驅逐,并且因此可能無法確定訪問存儲設備102不再是安全的。因此,集群206的節(jié)點208 (例如存儲池管理器606)可以被選擇作為用于存儲設備102的存儲設備管理器708。可以通過將保留710添加到標識被選為存儲設備管理器708的節(jié)點208的登記列表702來指示此選擇。存儲設備管理器708可以調查712登記列表702,并且可以將在存儲設備102上具有登記704的節(jié)點208與當前登記在集群206中的節(jié)點208列表比較。如果存儲設備管理器708標識計算機108具有登記704但是當前不是集群206的節(jié)點208,則存儲設備管理器708可以從登記列表702移除計算機108的登記704。由于缺少對計算機108的登記704原因,計算機108隨后對寫·存儲設備102的嘗試可以接著被存儲設備102自動否決。以此方式,存儲設備102可以利用登記列表702來限制僅僅由集群206的當前節(jié)點208訪問。登記列表702也可以為集群206呈現(xiàn)附加的使用,例如,作為共享機制以協(xié)商對存儲設備102上表示的存儲池116的訪問。作為一個示例,登記列表702可以使得高可用性集群206能夠避免簡單集群206碰到的關于同時訪問具有冗余計劃的存儲池116的類似問題,其中授權多個節(jié)點208同時訪問具有冗余計劃的存儲池116可能具有顯著且災難性效果。例如,如果兩個節(jié)點208對存儲池116的部分進行寫入,其導致校驗和與對應數(shù)據集合不匹配,則毫無關聯(lián)的數(shù)據集合的完整性可能受連累,并且實際上整個存儲池116的完整性可能受危害。為了避免這種同時訪問問題,相應節(jié)點208 (包括安裝在其上的存儲設備驅動器306)可以在從計算機108接收到訪問具有冗余計劃的存儲池116的請求時,讀取存儲設備102的登記列表702 ;對于在登記列表702上具有登記704的節(jié)點208,請求其它節(jié)點208卸載存儲池116,并且在從所有其它節(jié)點208接收到卸載確認之后,可以訪問存儲設備102的存儲池116。類似地,相應計算機108 (包括安裝在其上的存儲設備驅動器306)可以配置成,在從節(jié)點208接收到卸載存儲池116的請求時,卸載存儲池116(如果它當前被安裝),并且發(fā)送卸載確認到節(jié)點208。登記列表702可以因此促進存儲池116和存儲設備102在集群206的節(jié)點208之間的共享,同時避免對具有冗余計劃的存儲池116的同時訪問的一些問題。作為該第四方面的第四變型,集群206可包括可以被保留供特定節(jié)點208訪問的各種集群資源(例如一個或多個邏輯表示318)。例如,節(jié)點208可以被委派以提供集群206的特定服務(例如負載平衡服務器),并且為了完成此任務,節(jié)點208可以被許可訪問集群資源,諸如相應集群206的節(jié)點208的身份和工作負載記錄于其中或者負載平衡確定被記載在其中的邏輯卷。在這種情形下,集群206可以提供對所選擇的節(jié)點208的各種類型的訪問。作為第一示例,節(jié)點208可以被選擇作為集群資源所有者,并且可以授權對集群資源的排它性讀和寫訪問,同時其它節(jié)點208可以被禁止以任何方式訪問集群資源。作為第二示例,節(jié)點208可以被選擇作為集群資源寫裝置,并且可以被授權對集群資源的排它性讀和寫訪問,而其它節(jié)點208被授權對集群資源的只讀訪問(并且可以轉發(fā)對被選為集群資源寫裝置的節(jié)點208進行寫入的請求)。存儲設備驅動器306可以發(fā)起、參與和/或監(jiān)視集群資源所有者和/或相應集群資源的集群資源寫裝置的選擇,并且可以在每個存儲設備驅動器306安裝于其上的節(jié)點208上實施這種選擇。另外,在檢測到涉及被選擇作為集群資源所有者和/或集群資源寫裝置的集群206的節(jié)點208的替代事件(例如故障、斷開或者負載平衡確定)時,存儲設備驅動器306可以發(fā)起替代集群資源所有者和/或集群資源的替代集群資源寫裝置的選擇。通過選擇可以排它性寫訪問集群資源(例如存儲池配置602)的集群資源寫裝置(例如存儲池管理器606),同時授權對集群206的其它節(jié)點208的讀取訪問,這種機制可以特別地用于調節(jié)對存儲池116的存儲池配置602的訪問。圖7呈現(xiàn)示例性情形的圖示,其特征在于依據這些技術調節(jié)對集群資源714的訪問。在此示例性情形700中,集群資源714由存儲設備102提供,從而促進由集群206的節(jié)點208提供的服務。在集群206的節(jié)點208之間,特定節(jié)點208可以被選擇作為集群資源 寫裝置716,并且可以被授權對集群資源714的排它性寫訪問。集群資源寫裝置716可以因此將寫請求718直接發(fā)送到專用于存儲設備102的集群資源714。集群206的其它節(jié)點208可以將讀請求720直接發(fā)送到集群資源714,但是可以被引導將涉及集群資源714的寫請求718轉發(fā)到被選為集群資源寫裝置716的節(jié)點208,其可以確定是否將寫請求718應用到集群資源714。集群資源714的這些訪問限制可以例如通過存儲設備102和/或存儲在集群206的相應節(jié)點208上的存儲設備驅動器306來實施。按照此方式可以被訪問的特定類型的集群資源714為維護區(qū)域,有關集群206中涉及的各種存儲區(qū)域304的元數(shù)據可以記錄在該維護區(qū)域中。例如,維護區(qū)域可以記錄具有冗余計劃的存儲池116的健康;例如,當存儲設備102或存儲區(qū)域304故障時,集群206的節(jié)點208可以,在執(zhí)行存儲池116的修補時,在維護區(qū)域中記錄關于存儲池116的健康的健康信息。維護區(qū)域也可以包括關于相應存儲設備102的可用性的信息(例如存儲設備102是臨時還是永久分離)以及骯臟區(qū)域信息(例如,將被同步的存儲區(qū)域304的冗余數(shù)據集合,諸如將被更新的校驗和)。維護區(qū)域可以用于促進經受故障(諸如分離、數(shù)據崩潰、或者存儲該存儲區(qū)域304的存儲設備102損壞)的存儲區(qū)域304的修補。集群206的節(jié)點208 (特別是指定為用于維護區(qū)域的集群資源寫裝置716的節(jié)點208)可以配置成更新維護區(qū)域,從而記錄所檢測的健康更新。如果健康更新提示存儲區(qū)域304的修補操作,集群資源寫裝置716可以(可選地)首先等待簡短等待期以確定存儲區(qū)域304是否被恢復(例如,健康更新可包括由臨時網絡斷開造成的“分離”指示符)。然而,或者在檢測到健康更新時迅速地或者在等待期到期之后,集群資源寫裝置716可以確定該存儲區(qū)域304已經出故障,并且可以發(fā)起修補操作。一些修補操作可以通過重寫或重建存儲區(qū)域304中的數(shù)據來完成,例如從而修補通過使用存儲集合中其它位置中存儲的彈性數(shù)據的競爭狀態(tài)導致的數(shù)據崩潰。然而,其它修補可以涉及拋棄已經發(fā)生不可挽回的故障的存儲區(qū)域304和/或存儲設備102 ;以及為對應存儲池116重新分配空間,這可能不得不涉及存儲池管理器606以執(zhí)行該重新分配。因此,集群資源寫裝置716可以直接向存儲池管理器606通知存儲區(qū)域304的健康更新以及修補操作的不可挽回??商鎿Q地,集群資源寫裝置716可以利用健康更新簡單地更新維護區(qū)域,并且存儲池管理器606可以監(jiān)視維護區(qū)域,從而檢測可能提示存儲池配置602的重新配置的健康更新。在任一情形中,集群資源寫裝置716可能無法撤銷修補操作的發(fā)起(因為存儲池管理器606已經將受損壞的存儲區(qū)域304標記為不能使用和/或為存儲區(qū)域304分配新容量)。另外,集群資源寫裝置716可能無法采取修補操作中的另外動作,直至容量被分配。在接收到該通知和/或檢測到提示修補操作的維護區(qū)域的健康更新時,存儲池管理器606可以分配新存儲區(qū)域304,并且可以更新存儲池配置602以反映該分配。存儲池管理器606可以隨后通知集群資源寫裝置716新容量已經被分配。此通知可以是明確和直接的(例如,存儲池管理器606可以直接接觸集群資源寫裝置716以指示容量分配),或者可以是含蓄的(例如,存儲池配置602的更新的通知可以自動地被傳播到集群206的其它節(jié)點208,并且用于維護區(qū)域的集群資源寫裝置716可以檢測在存儲池配置602的更新中替代存儲區(qū)域304的分配)。在任一情形中,在接收到新容量已經被分配的通知時,集群資源寫裝置716可以發(fā)起將數(shù)據重建到替代存儲區(qū)域304中從而修補存儲區(qū)域304。以此方式,存儲池管理器606和用于維護區(qū)域的集群資源 寫裝置716可以隱含地協(xié)作以實現(xiàn)存儲區(qū)域304的修補。本領域技術人員可以設想到用于與此處給出的技術的高可用性集群206一起使用的許多調適。E.計算環(huán)境。圖8和下面的討論提供了適當計算環(huán)境的簡要、普通描述以實施這里闡述的一個或多個供應的實施例。圖8的操作環(huán)境僅是適當操作環(huán)境的一個示例并且不意圖建議對操作環(huán)境的使用或功能的范圍進行任何限制。示例計算設備包括但不限于個人計算機、服務器計算機、手持式或膝上型設備、移動設備(比如移動電話、個人數(shù)字助理(PDA)、媒體播放器等等)、多處理器系統(tǒng)、消費者電子裝置、小型計算機、大型計算機、包括任何前述系統(tǒng)或設備的分布式計算環(huán)境等等。盡管不要求如此,在“計算機可讀指令”由一個或多個計算設備執(zhí)行的一般上下文中描述了各實施例。計算機可讀指令可以通過計算機可讀介質分布(下文討論)。計算機可讀指令可以實施為執(zhí)行具體任務或者實施特定的抽象數(shù)據類型的程序模塊,諸如函數(shù)、對象、應用程序接口(API)、數(shù)據結構等。典型地,計算機可讀指令的功能可以在各種環(huán)境中根據需要組合或分布。圖8圖示了包括被配置成實施這里提供的一個或多個實施例的計算設備802的系統(tǒng)800的示例。在一種配置中,計算設備802包括至少一個處理單元806和存儲器808。取決于計算設備的確切配置和類型,存儲器808可以是易失性的(例如,諸如RAM)、非易失性的(諸如ROM、閃速存儲器等等)或者這二者的某種組合。這種配置在圖8中由虛線804圖
/Jn ο在其它實施例中,設備802可以包括附加的特征和/或功能。例如,設備802還可以包括附加的存儲裝置(例如可移除和/或不可移除),其包括(但不限于)磁性存儲裝置、光學存儲裝置等等。這樣的附加存儲裝置在圖8中由存儲裝置810圖示。在一個實施例中,實施這里提供的一個或多個實施例的計算機可讀指令可以在存儲裝置810中。存儲裝置810還可以存儲其它計算機可讀指令以實施操作系統(tǒng)、應用程序等等。計算機可讀指令可以被加載到存儲器808中例如用于由處理單元806執(zhí)行。這里所使用的術語“計算機可讀介質”包括計算機存儲介質。該計算機存儲介質包括以用于存儲諸如計算機可讀指令或其它數(shù)據的信息的任何方法或技術實施的易失性和非易失性、可移除和不可移除的介質。存儲器808和存儲裝置810是計算機存儲介質的示例。計算機存儲介質包括但不限于RAM、ROM、EEPR0M、閃速存儲器或其它存儲器技術、CD-ROM、數(shù)字多功能盤(DVD)或其它光學存儲裝置、磁帶盒、磁帶、磁盤存儲裝置或其它磁性存儲設備、或者可以被用來存儲期望信息并且可以被設備802訪問的任何其它介質。任何這樣的計算機存儲介質可以是設備802的一部分。設備802還可以包括(多個)通信連接816,其允許設備802與其它設備進行通信。所述(多個)通信連接816可以包括但不限于調制解調器、網絡接口卡(NIC)、集成網絡接口、射頻發(fā)送器/接收器、紅外端口、USB連接或者用于將計算設備802連接到其它計算設備的其它接口。(多個)通信連接816可以包括有線連接或無線連接。(多個)通信連接816可以發(fā)送和/或接收通信介質。術語“計算機可讀介質”可以包括通信介質。通信介質典型地具體化計算機可讀指令或者在諸如載波的“調制數(shù)據信號”或其它傳送機制中的其它數(shù)據,并且包括任何信息遞送介質。術語“調制數(shù)據信號”可以包括這樣的信號,該信號具有其特性集合中的一個或 多個或者以解碼該信號中的信息的方式來改變。設備802可以包括(多個)輸入設備814,比如鍵盤、鼠標、筆、語音輸入設備、觸摸輸入設備、紅外攝影機、視頻輸入設備和/或任何其它輸入設備。(多個)輸出設備812 (比如一個或多個顯不器、揚聲器、打印機和/或任何其它輸出設備)也可以被包括在設備802中。(多個)輸入設備814和/或(多個)輸出設備812可以通過有線連接、無線連接或其任意組合連接到設備802。在一個實施例中,來自另一個計算設備的輸入設備或輸出設備可以被用作用于計算設備802的(多個)輸入設備814或(多個)輸出設備812。計算設備802的部件可以通過各種互連(比如總線)連接。這樣的互連可以包括外圍部件互連(PCI)(比如PCI Express)、通用串行總線(USB)、火線(IEEE 1394)、光學總線結構等等。在另一個實施例中,計算設備802的部件可以通過網絡互連。舉例來說,存儲器808可以包括位于通過網絡互連的不同物理位置的多個物理存儲器單元。本領域技術人員將認識到,被用來存儲計算機可讀指令的存儲設備可以分布在網絡上。舉例來說,可通過網絡818訪問的計算設備820可以存儲計算機可讀指令以實施這里所提供的一個或多個實施例。計算設備802可以訪問計算設備820,并且下載所述計算機可讀指令的一部分或全部以便執(zhí)行。可替換地,計算設備802可以按照需要下載一部分計算機可讀指令,或者一些指令可以在計算設備802處執(zhí)行,并且一些指令可以在計算設備820處執(zhí)行。F.術語的使用。雖然用特定于結構特征和/或方法步驟的語言描述了本發(fā)明的主題內容,但是應當理解的是,在所附權利要求中限定的主題不必受限于上文描述的特定特征或步驟。相反,前面描述的特定特征和步驟是作為實施權利要求的示例性形式而公開的。如在本申請中使用的術語“部件”、“模塊”、“系統(tǒng)”、“接口”等等通常意圖指代與計算機有關的實體,或者是硬件、硬件與軟件的組合、軟件,或者是執(zhí)行中的軟件。舉例來說,部件可以是但不限于運行在處理器上的進程、處理器、對象、可執(zhí)行程序、執(zhí)行線程、程序和/或計算機。以說明的方式,運行在控制器上的應用和控制器都可以是部件。一個或多個部件可以駐留在執(zhí)行的進程和/或線程內,并且部件可以位于一臺計算機上和/或分布在兩臺或更多臺計算機之間。此外,所要求保護的主題可以被實施為一種利用標準編程和/或工程技術來產生軟件、固件、硬件或其任意組合以便控制計算機實施所公開的主題的方法、設備、或者制造品。這里使用的術語“制造品”意圖包含可以從任何計算機可讀設備、載體或介質訪問的計算機程序。當然,本領域技術人員將認識到,在不背離所要求保護的主題的范圍或精神的情況下,可以對這種配置做出許多修改。這里提供了實施例的各種操作。在一個實施例中,所描述的其中一項或多項操作可以構成存儲在一個或多個計算機可讀介質上的計算機可讀指令,在由計算設備執(zhí)行時,所述計算機可讀指令將使得所述計算設備執(zhí)行所描述的操作。描述其中一部分或全部操作的順序不應被理解為意味著這些操作必須依賴于順序。受益于本說明書,本領域技術人員將認識到替換的排序。此外還將理解的是,不一定所有操作都必須存在于這里提供的每一個實施例中。 此外,這里使用的“示例性” 一詞意味著充當一個示例、事例或說明。在這里被描述為“示例性”的任何方面或設計不必須被理解為比其它方面或設計有利。更確切地,使用“示例性”一詞是意圖以具體的方式呈現(xiàn)概念。本申請中所使用的術語“或者”意圖是指包含性的“或者”而不是排它性的“或者”。也就是說,除非另行指明或者可以從上下文明顯看出,否則“X采用A或B”意圖是指任何自然的包含性排列。也就是說,如果X采用A ;X采用B ;或者X采用A和B兩者,則“X采用A或B”在任何前述事例下都得以滿足。此外,除非另行指明或者從上下文中可以明顯看出是針對單數(shù)形式,否則用在本申請和所附權利要求書中的“一”(〃a〃或"an")通??梢员焕斫鉃槭侵浮耙粋€或多個”。此外,雖然關于一種或多種實現(xiàn)方式示出并描述了本公開內容,但是基于閱讀并理解本說明書和附圖,本領域技術人員將會想到等效的更改和修改。本公開內容包括所有這樣的修改和更改,并且僅由所附權利要求書的范圍限制。特別關于由前面描述的部件(例如元件、資源等等)所施行的各項功能,被用來描述這樣的部件的術語意圖對應于(除非另行表明)施行所述部件的指定功能的任何部件(例如功能上等效),盡管其在結構上不等效于在本公開內容的這里說明的示例性實現(xiàn)方式中施行所述功能的所公開的結構。此外,雖然本公開內容的具體特征可能是關于幾種實現(xiàn)方式當中的僅僅一種公開的,但是這樣的特征可以與其它實現(xiàn)方式的一項或多項其它特征組合,正如可能對于任何給定或特定應用所期望且有利的那樣。此外,就在詳細描述部分或權利要求書中使用的“包含”、“具有”、“帶有”等術語或其各種變體而言,這樣的術語與術語“包括”類似都意圖是包含性的。
權利要求
1.一種表示具有處理器(512)的計算機(510)可訪問的存儲設備(102)的方法(400),該方法(400)包括 在計算機(510)上安裝(404)包括指令(506)的存儲設備驅動器(306),該指令(506)配置成,當在處理器(512)上執(zhí)行時,使得計算機(510) 生成(406)存儲設備(102)的相應存儲區(qū)域(304)的存儲區(qū)域表示(310); 對于包括至少一個存儲設備(102)的至少一個存儲區(qū)域(304)的相應(408)存儲池(116) 要求(410)存儲池(116)中涉及的存儲設備(102)的存儲區(qū)域(304)的存儲區(qū)域表示(310); 應用(412)存儲設備關系(302)到存儲池(116);以及生成(414)存儲池(116)的合并的存儲區(qū)域表示(314);以及對于相應的合并的存儲區(qū)域表示(314),生成(416)存儲區(qū)域表示(310)的邏輯表示(318)。
2.如權利要求I所述的方法 該計算機配置成呈現(xiàn)該計算機可訪問的存儲設備的存儲設備列舉; 要求存儲池中涉及的存儲設備的存儲設備表示包括從存儲設備列舉移除存儲設備;以及 生成存儲池的存儲區(qū)域表示包括添加合并的存儲區(qū)域表示到存儲設備列舉。
3.如權利要求I所述的方法 包括可以訪問存儲設備的節(jié)點的集群中包括的計算機包括存儲池;以及 所述指令配置成,對于相應存儲池 在集群的節(jié)點中選擇可以排它性訪問存儲池的存儲池所有者; 在檢測到涉及存儲池所有者的替代事件時,在集群的可用節(jié)點中選擇替代存儲池所有者; 在節(jié)點被選為存儲池所有者時,指示該節(jié)點可訪問該存儲池; 在另一節(jié)點被選為存儲池所有者時,指示該節(jié)點不可訪問該存儲池。
4.如權利要求I所述的方法 相應存儲池在相應存儲設備被表示為存儲池配置; 包括可以訪問存儲設備的節(jié)點的集群中包括的計算機包括存儲池;以及 所述指令配置成,對于相應存儲池 在集群的節(jié)點中選擇配置成更新存儲池配置的存儲池管理器;以及 在檢測到涉及存儲池管理器的替代事件時,在集群的可用節(jié)點中選擇替代存儲池管理器。
5.如權利要求4所述的方法,從替代事件集合選擇的替代事件包括 負載重新平衡事件,其指示從集群的第一節(jié)點重新平衡到集群的第二節(jié)點; 斷開事件,其指示節(jié)點從集群斷開;以及 故障事件,其指示節(jié)點的故障。
6.如權利要求4所述的方法,所述指令配置成,在接收到更新存儲設備的存儲池配置的請求時確定該節(jié)點是否為包括該節(jié)點的存儲池的存儲池管理器; 在確定該節(jié)點不是存儲池管理器時,將該請求轉發(fā)到存儲池管理器;以及 在確定該節(jié)點為存儲池管理器時,更新存儲設備上的存儲池配置。
7.如權利要求4所述的方法,所述指令配置成,在接收到更新存儲池配置的通知時,讀取該存儲池配置。
8.如權利要求4所述的方法 相應存儲池的存儲池配置包括集群參與指示符;以及 所述指令配置成 在存儲池加入集群時,設置存儲池的存儲池配置的集群參與指示符; 在存儲池離開集群,清除存儲池的存儲池配置的集群參與指示符;以及在接收到更新存儲池的存儲池配置的請求時,如果存儲池的集群參與指示符被設置并且該計算機不是存儲池的存儲池管理器,則禁止更新該存儲池的存儲池配置。
9.如權利要求4所述的方法 存儲池的相應存儲設備包括登記列表,該登記列表包括至少零個登記,所述登記指定被授權對存儲設備上的存儲池的存儲區(qū)域進行寫入的節(jié)點;以及 所述指令配置成,在向存儲池的存儲至少一個存儲區(qū)域的存儲設備進行寫入之前,將該節(jié)點添加到存儲設備的登記列表。
10.如權利要求4所述的方法 至少一個存儲池包括至少一個集群資源;以及 所述指令配置成 對于相應集群資源,在集群的節(jié)點中選擇可以排它性讀和寫訪問該集群資源的集群資源所有者;以及 在檢測到涉及集群的節(jié)點的替代事件時 標識其節(jié)點包括該集群資源所有者的集群資源;以及 在可用的集群的節(jié)點中,對于相應集群資源,選擇替代集群資源所有者。
全文摘要
在計算機的存儲設備的表示,例如作為邏輯卷,可以涉及通過合并多個存儲設備從而應用諸如鏡像和校驗和的冗余計劃。此處給出一種存儲設備驅動器,其配置成作為生成存儲設備的存儲區(qū)域的表示的存儲設備接口操作;要求作為存儲控制器的那些區(qū)域;并且將合并的存儲區(qū)域暴露為邏輯盤。另外,該存儲設備驅動器可以支持在集群中包括存儲設備,該集群包括可以被指定為下述各項的節(jié)點存儲池配置的管理器;存儲設備的管理器;可以排它性讀/寫訪問該存儲池或集群資源的所有者;以及可以排它性寫訪問集群資源的集群資源寫裝置。集群的節(jié)點可以相互操作以共享該存儲設備,同時避免寫沖突。
文檔編號G06F3/06GK102945139SQ201210335850
公開日2013年2月27日 申請日期2012年9月12日 優(yōu)先權日2011年9月12日
發(fā)明者K.梅拉, R.納加, S.拉帕爾, D.摩斯, A.達馬托, A.瓦維克, V.庫斯內特索夫 申請人:微軟公司