欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

仿真操作系統(tǒng)元數(shù)據(jù)以提供對(duì)存儲(chǔ)卷的跨平臺(tái)訪問的系統(tǒng)和方法

文檔序號(hào):6505031閱讀:409來源:國知局
專利名稱:仿真操作系統(tǒng)元數(shù)據(jù)以提供對(duì)存儲(chǔ)卷的跨平臺(tái)訪問的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng),更具體地說,涉及存儲(chǔ)環(huán)境內(nèi)的無主機(jī)式虛擬化。
背景技術(shù)
對(duì)于緊要使命應(yīng)用來說,許多商業(yè)組織和政府實(shí)體依賴于訪問大量的數(shù)據(jù),通常超過千兆字節(jié)的數(shù)據(jù)的應(yīng)用程序。這樣的數(shù)據(jù)通常保存在本質(zhì)可能不同的許多不同存儲(chǔ)裝置上,包括來自許多不同制造商的許多不同類型的裝置。
隨著異質(zhì)存儲(chǔ)環(huán)境在規(guī)模和復(fù)雜性方面的放大,配置消耗數(shù)據(jù)的應(yīng)用程序,或者配置宿流(host)這種應(yīng)用程序的應(yīng)用程序服務(wù)器系統(tǒng),以便識(shí)別和直接與可能在該環(huán)境中遇到的每個(gè)不同的存儲(chǔ)裝置交互作用會(huì)越來越困難。于是,在一些存儲(chǔ)環(huán)境中,專用的存儲(chǔ)管理軟件和硬件可被用于向存儲(chǔ)空間消費(fèi)者提供更統(tǒng)一的存儲(chǔ)模型。這樣的軟件和硬件還可被配置成將物理存儲(chǔ)裝置作為虛擬存儲(chǔ)裝置(例如虛擬SCSI磁盤)提供給計(jì)算機(jī)主機(jī),和向存儲(chǔ)模型中增加單個(gè)存儲(chǔ)裝置中不存在的存儲(chǔ)特征。例如,借助硬件或軟件,可在存儲(chǔ)模型中實(shí)現(xiàn)增大故障容錯(cuò)的特征,例如數(shù)據(jù)鏡像,快照/固定圖像創(chuàng)建,或者數(shù)據(jù)奇偶校驗(yàn),以及提高數(shù)據(jù)訪問性能的特征,例如磁盤分條。增加的存儲(chǔ)特征可被稱為存儲(chǔ)虛擬化特征,提供虛擬存儲(chǔ)裝置和增加的存儲(chǔ)特征的軟件和/或硬件可被稱為“虛擬器”或者“虛擬化控制器”。虛擬化可在計(jì)算機(jī)主機(jī)內(nèi)進(jìn)行,例如在主機(jī)的存儲(chǔ)軟件棧的卷管理器層內(nèi)進(jìn)行,和/或在主機(jī)之外的裝置中,例如虛擬化交換機(jī)或者虛擬化設(shè)備中進(jìn)行。提供虛擬化的這種外部裝置可被稱為“無主機(jī)式”虛擬器,并且可被用于從主機(jī)卸下虛擬化所需的處理。無主機(jī)式虛擬器可通過各種互連,例如光纖通道鏈路,網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò)等,與它們向其提供虛擬化功能的外部物理存儲(chǔ)裝置連接。
傳統(tǒng)上,計(jì)算機(jī)主機(jī)內(nèi)的存儲(chǔ)軟件由許多層組成,例如文件系統(tǒng)層,磁盤驅(qū)動(dòng)器層等。一些存儲(chǔ)軟件層可形成在主機(jī)使用的操作系統(tǒng)的一部分,并且可因操作系統(tǒng)而異。當(dāng)訪問物理磁盤時(shí),指定操作系統(tǒng)的一層,例如磁盤驅(qū)動(dòng)器層可被配置成期待磁盤的某些類型的配置信息將按照特定格式布置,例如布置在包含磁盤分區(qū)布局信息的標(biāo)題(位于磁盤的前幾個(gè)存儲(chǔ)塊)中。用于訪問本地物理磁盤的存儲(chǔ)棧軟件層也可被用于訪問由無主機(jī)式虛擬器以虛擬存儲(chǔ)裝置的形式提供的外部存儲(chǔ)裝置。于是,對(duì)于無主機(jī)式虛擬器來說,最好按照可在存儲(chǔ)環(huán)境中的主機(jī)使用的不同操作系統(tǒng)期待的格式提供虛擬存儲(chǔ)裝置的配置信息。另外,對(duì)于無主機(jī)式虛擬器來說,最好實(shí)現(xiàn)一種靈活并且動(dòng)態(tài)地將外部物理存儲(chǔ)裝置內(nèi)的存儲(chǔ)空間映射到提供給主機(jī)存儲(chǔ)軟件層的虛擬存儲(chǔ)裝置,而不要求主機(jī)的重新啟動(dòng)的技術(shù)。

發(fā)明內(nèi)容
公開了仿真操作系統(tǒng)元數(shù)據(jù),從而提供對(duì)存儲(chǔ)卷(storagevolumes)的跨平臺(tái)訪問的系統(tǒng)和方法的各種實(shí)施例。根據(jù)第一實(shí)施例,系統(tǒng)可包括第一主機(jī)和一個(gè)無主機(jī)式虛擬器,例如虛擬化交換機(jī)或虛擬化設(shè)備。無主機(jī)式虛擬器可被配置成產(chǎn)生第一虛擬存儲(chǔ)裝置,例如虛擬LUN的操作系統(tǒng)元數(shù)據(jù),并使該操作系統(tǒng)元數(shù)據(jù)可被第一主機(jī)訪問。可按照在主機(jī)使用的操作系統(tǒng)的要求定制操作系統(tǒng)元數(shù)據(jù);即,無主機(jī)式虛擬器能夠提供為在不同主機(jī)使用的許多不同操作系統(tǒng)定制的元數(shù)據(jù)。第一主機(jī)可被配置成向無主機(jī)式虛擬器指定其操作系統(tǒng)的特定元數(shù)據(jù)要求。第一主機(jī)可包括存儲(chǔ)軟件棧,存儲(chǔ)軟件棧包括配置成使用無主機(jī)式虛擬器提供的操作系統(tǒng)元數(shù)據(jù)來檢測作為可尋址存儲(chǔ)裝置,比如分區(qū)的第一虛擬存儲(chǔ)裝置的存在的第一層,比如磁盤驅(qū)動(dòng)器層。在另一實(shí)施例中,無主機(jī)式虛擬器可被配置成將一個(gè)或多個(gè)物理存儲(chǔ)裝置內(nèi)的存儲(chǔ)空間聚合成一個(gè)邏輯卷,并將該邏輯卷映射到第一虛擬存儲(chǔ)裝置或虛擬LUN。在這樣的實(shí)施例中,無主機(jī)式虛擬器還可被配置成向存儲(chǔ)軟件棧的第二層(例如磁盤驅(qū)動(dòng)器層和文件系統(tǒng)層之間的中間驅(qū)動(dòng)器層)提供邏輯卷元數(shù)據(jù),允許第二層對(duì)邏輯卷進(jìn)行I/O操作。
在一個(gè)實(shí)施例中,第一虛擬存儲(chǔ)裝置最初未被映射到物理存儲(chǔ)空間??稍陂_始產(chǎn)生I/O操作之前的系統(tǒng)初始化階段期間,發(fā)生作為可尋址存儲(chǔ)裝置的無映射第一虛擬存儲(chǔ)裝置的識(shí)別。這樣,可為無主機(jī)式虛擬器進(jìn)行的后續(xù)動(dòng)態(tài)地映射準(zhǔn)備無映射的或者“空白的”虛擬LUN。無映射的LUN可被賦予和在主機(jī)上使用的操作系統(tǒng)所支持的最大許可LUN大小相等的初始大小,以致在初始化之后,虛擬LUN的大小不需要修改。在一些實(shí)施例中,可預(yù)先產(chǎn)生多個(gè)虛擬LUN供在單個(gè)主機(jī)上使用,以便隔離用于不同應(yīng)用程序的存儲(chǔ)空間,或者適應(yīng)對(duì)最大LUN大小的限制。
在另一實(shí)施例中,系統(tǒng)還可包括兩個(gè)或者更多的處理存儲(chǔ)裝置,無主機(jī)式虛擬器可被配置成將第一和第二物理存儲(chǔ)裝置的物理存儲(chǔ)空間動(dòng)態(tài)地映射到第一虛擬存儲(chǔ)裝置內(nèi)的相應(yīng)范圍的地址。例如,無主機(jī)式虛擬器可被配置成在物理存儲(chǔ)裝置(它可被稱為物理LUN)和虛擬LUN之間進(jìn)行N對(duì)1映射,允許通過預(yù)先產(chǎn)生的虛擬LUN從主機(jī)訪問物理存儲(chǔ)裝置中的存儲(chǔ)空間。利用各種不同的機(jī)構(gòu),關(guān)于虛擬LUN內(nèi)的第一和/或第二地址范圍(即,被映射到物理存儲(chǔ)裝置的虛擬LUN的區(qū)域)的位置的配置信息可從無主機(jī)式虛擬器傳送給在主機(jī)的存儲(chǔ)棧的第二層(例如,磁盤驅(qū)動(dòng)器層之上的中間驅(qū)動(dòng)器層)。這樣的機(jī)構(gòu)可包括,例如將配置信息寫入虛擬LUN內(nèi)的某些特殊塊的無主機(jī)式虛擬器,通過網(wǎng)絡(luò)向主機(jī)發(fā)送消息,或者特殊的擴(kuò)展SCSI模式頁。在一個(gè)實(shí)施例中,單個(gè)物理存儲(chǔ)裝置內(nèi)的兩個(gè)或者更多不同范圍的物理存儲(chǔ)空間可被映射到對(duì)應(yīng)的預(yù)先產(chǎn)生的虛擬存儲(chǔ)裝置,比如虛擬LUN,并被提供給對(duì)應(yīng)的主機(jī)。即,無主機(jī)式虛擬器允許多個(gè)主機(jī)中的每個(gè)主機(jī)通過相應(yīng)的虛擬LUN,訪問物理存儲(chǔ)裝置的一個(gè)相應(yīng)部分。在這樣的實(shí)施例中,無主機(jī)式虛擬器還可被配置成實(shí)現(xiàn)隔離在共享物理存儲(chǔ)裝置內(nèi)的多個(gè)范圍的物理存儲(chǔ)空間的安全策略,即,只允許一個(gè)主機(jī)訪問該主機(jī)已被準(zhǔn)許訪問的那些區(qū)域,以及防止擅自訪問。
在一個(gè)實(shí)施例中,無主機(jī)式虛擬器還可被配置成將一個(gè)物理存儲(chǔ)裝置內(nèi)的存儲(chǔ)空間聚合成一個(gè)邏輯卷,將該邏輯卷動(dòng)態(tài)地映射到預(yù)先產(chǎn)生的虛擬存儲(chǔ)裝置內(nèi)的一個(gè)地址范圍,并將邏輯卷元數(shù)據(jù)傳給存儲(chǔ)棧的第二層,允許對(duì)該邏輯卷進(jìn)行I/O操作。來自單個(gè)物理存儲(chǔ)裝置的存儲(chǔ)空間可被聚合成任意所需數(shù)目的不同邏輯卷,任何所需數(shù)目的邏輯卷可被映射到單個(gè)虛擬存儲(chǔ)裝置或者VLUN。無主機(jī)式虛擬器還可被配置成提供卷級(jí)安全性,即防止主機(jī)對(duì)邏輯卷的擅自訪問,即使當(dāng)對(duì)應(yīng)于邏輯卷的物理存儲(chǔ)空間是共享物理存儲(chǔ)裝置的一部分。另外,來自任何所需數(shù)目的物理存儲(chǔ)裝置的物理存儲(chǔ)空間可被聚合成一個(gè)邏輯卷,從而允許單個(gè)卷在比單個(gè)物理存儲(chǔ)裝置的最大許可大小更大的地址范圍內(nèi)延續(xù)。虛擬存儲(chǔ)裝置或者虛擬LUN可分布在許多獨(dú)立的前端存儲(chǔ)網(wǎng)絡(luò)中,例如光纖通道架構(gòu),支持邏輯卷的物理存儲(chǔ)裝置可分布在許多獨(dú)立的后端存儲(chǔ)網(wǎng)絡(luò)中。例如,第一主機(jī)可通過第一存儲(chǔ)網(wǎng)絡(luò)訪問其虛擬存儲(chǔ)裝置,第二主機(jī)可通過與第一存儲(chǔ)網(wǎng)絡(luò)無關(guān)的第二存儲(chǔ)網(wǎng)絡(luò)(即,第一存儲(chǔ)網(wǎng)絡(luò)中的重構(gòu)和/或故障不會(huì)影響第二存儲(chǔ)網(wǎng)絡(luò))訪問其虛擬存儲(chǔ)裝置。類似地,無主機(jī)式虛擬器可通過第三存儲(chǔ)網(wǎng)絡(luò)訪問第一物理存儲(chǔ)裝置,通過第四存儲(chǔ)網(wǎng)絡(luò)訪問第二物理存儲(chǔ)裝置。無主機(jī)式虛擬器的跨越分布在獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)之中的預(yù)先產(chǎn)生的虛擬存儲(chǔ)裝置,動(dòng)態(tài)地映射存儲(chǔ)空間的能力可支持穩(wěn)固并且靈活的存儲(chǔ)環(huán)境。


圖1a是圖解說明計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的方框圖。
圖1b是圖解說明配置成利用無主機(jī)式塊虛擬化的系統(tǒng)的一個(gè)實(shí)施例的方框圖。
圖2a是根據(jù)一個(gè)實(shí)施例,圖解說明將操作系統(tǒng)專有元數(shù)據(jù)加入封閉源卷的虛擬邏輯單元(LUN)的方框圖。
圖2b是圖解說明其中無主機(jī)式虛擬器被配置成將分區(qū)表包括在操作系統(tǒng)元數(shù)據(jù)內(nèi)的一個(gè)實(shí)施例的方框圖。
圖2c是圖解說明其中無主機(jī)式虛擬器被配置成將物理存儲(chǔ)裝置內(nèi)的存儲(chǔ)空間集合成一個(gè)邏輯卷,并將邏輯卷映射到虛擬LUN的一個(gè)實(shí)施例的方框圖。
圖3是圖解說明包括一個(gè)配置成創(chuàng)建多個(gè)虛擬LUN的無主機(jī)式虛擬器的實(shí)施例的方框圖。
圖4是圖解說明配置成產(chǎn)生操作系統(tǒng)元數(shù)據(jù)的主機(jī)和無主機(jī)式虛擬器的操作的各個(gè)方面的流程圖。
圖5是圖解說明其中無主機(jī)式虛擬器被配置成將一個(gè)或多個(gè)物理存儲(chǔ)裝置中的存儲(chǔ)空間集合成一個(gè)邏輯卷,并將該邏輯卷映射到一個(gè)虛擬LUN的一個(gè)實(shí)施例的流程圖。
圖6是根據(jù)一個(gè)實(shí)施例,圖解說明無映射虛擬LUN的一個(gè)例子的方框圖。
圖7是圖解說明包括一個(gè)配置成創(chuàng)建多個(gè)無映射虛擬LUN的無主機(jī)式虛擬器的一個(gè)實(shí)施例的方框圖。
圖8是圖解說明其中無主機(jī)式虛擬器被配置成動(dòng)態(tài)地將物理存儲(chǔ)空間從兩個(gè)不同的物理存儲(chǔ)裝置內(nèi)映射到單一虛擬LUN的一個(gè)實(shí)施例的方框圖。
圖9是圖解說明其中無主機(jī)式虛擬器被配置成動(dòng)態(tài)地將物理存儲(chǔ)空間從單個(gè)物理存儲(chǔ)裝置內(nèi)映射到分配給不同主機(jī)的兩個(gè)虛擬LUN的一個(gè)實(shí)施例的方框圖。
圖10是圖解說明其中無主機(jī)式虛擬器被配置成將一個(gè)物理存儲(chǔ)裝置的存儲(chǔ)空間集合成一個(gè)邏輯卷,并將該邏輯卷動(dòng)態(tài)地映射到虛擬LUN的一系列塊的一個(gè)實(shí)施例的方框圖。
圖11是圖解說明其中無主機(jī)式虛擬器被配置成動(dòng)態(tài)地將多個(gè)邏輯卷映射到單一虛擬LUN的一個(gè)實(shí)施例的方框圖。
圖12是圖解說明其中無主機(jī)式虛擬器被配置成將一個(gè)物理存儲(chǔ)裝置的存儲(chǔ)空間集合成兩個(gè)邏輯卷,并動(dòng)態(tài)地將這兩個(gè)邏輯卷中的每一個(gè)映射到一個(gè)不同的虛擬LUN的一個(gè)實(shí)施例的方框圖。
圖13是圖解說明采用多個(gè)存儲(chǔ)網(wǎng)絡(luò)的一個(gè)實(shí)施例的方框圖。
圖14是圖解說明其中無主機(jī)式虛擬器被配置成將兩個(gè)物理存儲(chǔ)裝置的存儲(chǔ)空間集合成單個(gè)邏輯卷的一個(gè)實(shí)施例的方框圖。
圖15是根據(jù)其中無主機(jī)式虛擬器被配置成支持動(dòng)態(tài)物理LUN隧穿的一個(gè)實(shí)施例,圖解說明主機(jī)和無主機(jī)式虛擬器的操作的各個(gè)方面的流程圖。
圖16是根據(jù)其中無主機(jī)式虛擬器180被配置成支持動(dòng)態(tài)卷隧穿的一個(gè)實(shí)施例,圖解說明主機(jī)和無主機(jī)式虛擬器的操作的各個(gè)方面的流程圖。
圖17是圖解說明其中無主機(jī)式虛擬器包含虛擬化交換機(jī)的一個(gè)實(shí)施例的方框圖。
圖18是圖解說明其中無主機(jī)式虛擬器包含虛擬化設(shè)備的一個(gè)實(shí)施例的方框圖。
圖19是根據(jù)一個(gè)實(shí)施例,圖解說明例證的主機(jī)的方框圖。
圖20是根據(jù)一個(gè)實(shí)施例,圖解說明計(jì)算機(jī)可訪問介質(zhì)的方框圖。
雖然本發(fā)明容許各種修改和備選形式,不過附圖中舉例表示了本發(fā)明的具體實(shí)施例,這里將具體描述這些實(shí)施例。但是,應(yīng)明白附圖及其詳細(xì)說明并不意圖將本發(fā)明局限于公開的特定形式,相反,目的是覆蓋落入由附加的權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的所有修改\等同物和替代物。
具體實(shí)施例方式
圖1a是根據(jù)一個(gè)實(shí)施例,圖解說明計(jì)算機(jī)系統(tǒng)100的方框圖。系統(tǒng)100包括通過互連130與物理分塊裝置120耦接的主機(jī)110。主機(jī)110包括傳統(tǒng)的軟件存儲(chǔ)棧140A,軟件存儲(chǔ)棧140A可被用于通過互連130對(duì)物理分塊裝置120進(jìn)行I/O操作。
一般來說,物理分塊裝置120可包含提供一批可被讀取或?qū)懭氲木€性尋址數(shù)據(jù)塊的任何硬件實(shí)體。例如,在一個(gè)實(shí)施例中,物理分塊裝置可以是配置成以一批被索引塊的形式提供其所有扇區(qū)的單個(gè)磁盤驅(qū)動(dòng)器。在另一實(shí)施例中,物理分塊裝置可以是磁盤陣列裝置,或者配置成磁盤陣列裝置的一部分的磁盤。預(yù)期任何適當(dāng)類型的存儲(chǔ)裝置可被配置成分塊裝置,例如固定的或可拆卸的磁性介質(zhì)驅(qū)動(dòng)器(例如,硬盤驅(qū)動(dòng)器,軟盤驅(qū)動(dòng)器或Zip驅(qū)動(dòng)器),可寫或者只讀光學(xué)介質(zhì)驅(qū)動(dòng)器(例如CD或DVD),磁帶驅(qū)動(dòng)器,固態(tài)大容量存儲(chǔ)裝置,或者任何其它類型的存儲(chǔ)裝置。互連130可利用任何所需的存儲(chǔ)連接技術(shù),例如小型計(jì)算機(jī)系統(tǒng)接口(SCSI)協(xié)議,光纖通道,網(wǎng)際協(xié)議(IP),因特網(wǎng)SCSI(iSCSI)的各種變形,或者這樣的存儲(chǔ)連網(wǎng)技術(shù)的組合。軟件存儲(chǔ)棧140A可包含在主機(jī)110的操作系統(tǒng)內(nèi)的多層軟件,并且可由客戶機(jī)應(yīng)用程序訪問,以便對(duì)所需的物理分塊裝置120進(jìn)行I/O(輸入/輸出)。
在用于分塊裝置訪問的傳統(tǒng)存儲(chǔ)軟件棧中,客戶機(jī)應(yīng)用程序可發(fā)起I/O請(qǐng)求,例如以讀取在文件內(nèi)的指定偏移量的一塊數(shù)據(jù)的請(qǐng)求的形式。該請(qǐng)求可在文件系統(tǒng)層112被接收(例如,以read()系統(tǒng)調(diào)用的形式),被轉(zhuǎn)換成讀取特定裝置對(duì)象(即,表示存儲(chǔ)裝置的軟件實(shí)體)內(nèi)的一塊,并被傳送給磁盤驅(qū)動(dòng)器層114。磁盤驅(qū)動(dòng)器層114隨后可選擇和磁盤裝置對(duì)象對(duì)應(yīng)的目標(biāo)物理分塊裝置120,隨后利用互連相關(guān)I/O驅(qū)動(dòng)器層116,通過互連130,向在目標(biāo)物理分塊裝置的一個(gè)地址發(fā)送請(qǐng)求。例如,主機(jī)總線適配器(HBA)(比如SCSI HBA)可被用于將按照適當(dāng)?shù)拇鎯?chǔ)協(xié)議(例如SCSI)格式化的I/O請(qǐng)求傳送給互連的特殊鏈路(例如SCSI總線)。在物理分塊裝置120,互連相關(guān)固件層122可接收該請(qǐng)求,在物理存儲(chǔ)層124進(jìn)行所需的物理I/O操作,并通過互連將結(jié)果回送給主機(jī)。隨后在被傳送給發(fā)生請(qǐng)求的客戶機(jī)應(yīng)用程序之前,結(jié)果(例如待讀取的文件的所需各塊)可按照相反的順序(即,從互連相關(guān)I/O驅(qū)動(dòng)器到文件系統(tǒng))經(jīng)過存儲(chǔ)棧140A的各層。
在一些操作系統(tǒng)中,分級(jí)方案可被用于對(duì)物理分塊裝置120內(nèi)的存儲(chǔ)空間尋址。例如,操作系統(tǒng)可將<″hba″,″bus″,″target″,″lun″>形式的四級(jí)分級(jí)尋址方案用于SCSI裝置,包括SCSI HBA標(biāo)識(shí)符(″hba″),SCSI總線標(biāo)識(shí)符(″bus″),SCSI目標(biāo)標(biāo)識(shí)符(″target″),和邏輯單元標(biāo)識(shí)符(″lun″),并且可被配置成在引導(dǎo)期間,用可用SCSI裝置的地址填充裝置數(shù)據(jù)庫。主機(jī)110可包括多個(gè)SCSI HBA,一個(gè)不同的SCSI適配器標(biāo)識(shí)符可被用于每個(gè)HBA。SCSI適配器標(biāo)識(shí)符可以是由操作系統(tǒng)內(nèi)核根據(jù)HBA卡相對(duì)于彼此的物理布置(即,根據(jù)用于適配器卡的插槽編號(hào))發(fā)出的數(shù)字。每個(gè)HBA可控制一個(gè)或多個(gè)SCSI總線,唯一的SCSI總線編號(hào)可被用于識(shí)別HBA內(nèi)的每個(gè)SCSI總線。在系統(tǒng)初始化期間,或者響應(yīng)特殊的配置命令,HBA可被配置成探查每條總線,以識(shí)別目前連接到總線上的SCSI裝置。根據(jù)使用的SCSI的版本,可在SCSI總線上連接的裝置(例如磁盤或磁盤陣列)的數(shù)目可能局限于15個(gè)裝置,不包括HBA本身。可發(fā)起I/O操作的SCSI裝置,例如HBA被稱為SCSI發(fā)起者,而在其進(jìn)行物理I/O的裝置被稱為SCSI目標(biāo)。SCSI總線上的每個(gè)目標(biāo)可響應(yīng)探查,向HBA識(shí)別它自己。另外,每個(gè)目標(biāo)裝置還可容納高達(dá)特定于協(xié)議的最大數(shù)目的“邏輯單元”(LUN),所述邏輯單元代表目標(biāo)裝置內(nèi)的物理存儲(chǔ)空間的可獨(dú)立尋址的單元,并且可將邏輯單元標(biāo)識(shí)符通知HBS。在一些實(shí)施例中,目標(biāo)裝置可包含單個(gè)LUN(例如,LUN可代表整個(gè)磁盤或者甚至磁盤陣列)。SCSI裝置配置信息,例如目標(biāo)裝置標(biāo)識(shí)符和LUN標(biāo)識(shí)符可由HBA傳給磁盤驅(qū)動(dòng)器層114。當(dāng)發(fā)出I/O請(qǐng)求時(shí),磁盤驅(qū)動(dòng)器層114可利用如上所述的分級(jí)SCSI地址。
當(dāng)訪問LUN時(shí),磁盤驅(qū)動(dòng)器層114預(yù)期在LUN內(nèi)的某些特定位置看到OS專有的元數(shù)據(jù)。例如,在許多操作系統(tǒng)中,磁盤驅(qū)動(dòng)器層114可負(fù)責(zé)實(shí)現(xiàn)邏輯分區(qū)(即,將物理磁盤內(nèi)的空間細(xì)分成分區(qū),每個(gè)分區(qū)可被用于較小的文件系統(tǒng))。描述分區(qū)的布局的元數(shù)據(jù)(例如LUN內(nèi)的分區(qū)的串塊偏移量,和分區(qū)的長度)可按照和操作系統(tǒng)相關(guān)的格式保存,并且保存在LUN內(nèi)的和操作系統(tǒng)相關(guān)的位置中,例如保存在標(biāo)題或尾標(biāo)中。在Sun Microsystems的SolarisTM操作系統(tǒng)中,內(nèi)容的虛擬表(VTOC)結(jié)構(gòu)可位于磁盤卷的第一分區(qū)中,VTOC的副本也可位于卷的最后兩個(gè)柱面中。另外,操作系統(tǒng)元數(shù)據(jù)可包括柱面對(duì)準(zhǔn)和/或柱面大小信息,以及引導(dǎo)代碼(如果卷是可引導(dǎo)的話)。各種版本的Microsoft WindowsTM的操作系統(tǒng)元數(shù)據(jù)可包括“幻數(shù)”(操作系統(tǒng)期望得到的一個(gè)或多個(gè)特殊數(shù)字,通常在磁盤的開始處或其附近),子磁盤布局信息等。如果磁盤驅(qū)動(dòng)器層114未在預(yù)期的位置并按預(yù)期的格式找到元數(shù)據(jù),那么磁盤驅(qū)動(dòng)器層不能在LUN進(jìn)行I/O操作。
隨著時(shí)間的過去,相對(duì)簡單的傳統(tǒng)的存儲(chǔ)軟件棧140A已被增強(qiáng),以幫助提供高級(jí)的存儲(chǔ)特征,主要是通過引入塊虛擬化層。一般來說,塊虛擬化指的是從一個(gè)或多個(gè)基礎(chǔ)的物理或邏輯分塊裝置中創(chuàng)建或聚集邏輯或虛擬分塊裝置,并使該虛擬分塊裝置可為分塊裝置消費(fèi)者訪問以便進(jìn)行存儲(chǔ)操作的過程。例如,在塊虛擬化的一個(gè)實(shí)施例中,例如光纖通道存儲(chǔ)區(qū)域網(wǎng)(SAN)中的多個(gè)物理分塊裝置內(nèi)的存儲(chǔ)空間可被聚集和提供給主機(jī),作為單一的虛擬存儲(chǔ)裝置,例如虛擬LUN(VLUN),如下更詳細(xì)所述。在另一實(shí)施例中,軟件的一層或多層可重新排列來自一個(gè)或多個(gè)分塊裝置,例如磁盤的塊,并增加各種功能。所得到的重新排列的一批塊隨后被提供給存儲(chǔ)消費(fèi)者,例如應(yīng)用程序或文件系統(tǒng),作為表現(xiàn)為一個(gè)或多個(gè)基本磁盤驅(qū)動(dòng)器的一個(gè)或多個(gè)聚合裝置。即,可提供由重新排列塊,和增加功能性而產(chǎn)生的更復(fù)雜的結(jié)構(gòu),好像它是塊,或者邏輯分塊裝置的一個(gè)或多個(gè)簡單陣列那樣。在一些實(shí)施例中,可實(shí)現(xiàn)多層虛擬化。在這樣的實(shí)施例中,一個(gè)或多個(gè)分塊裝置可被映射成特殊的虛擬化分塊裝置,所述特殊的虛擬化分塊裝置又可被映射成另一虛擬化分塊裝置,以允許利用簡單的分塊裝置實(shí)現(xiàn)復(fù)雜的存儲(chǔ)功能。這里使用的術(shù)語“邏輯卷”指的是可直接提供給不能直接使用分塊裝置的文件系統(tǒng),數(shù)據(jù)庫或者其它應(yīng)用程序使用的虛擬化分塊裝置。下面提供有關(guān)塊虛擬化,和塊虛擬化所支持的高級(jí)存儲(chǔ)特征的細(xì)節(jié)。
可用硬件和軟件在存儲(chǔ)棧和相關(guān)的存儲(chǔ)環(huán)境內(nèi)的各個(gè)地方實(shí)現(xiàn)塊虛擬化。例如,可在磁盤驅(qū)動(dòng)器層114和文件系統(tǒng)層112之間增加呈卷管理器,例如VERITAS Software Corporation的VERITASVolume ManagerTM形式的塊虛擬化層。在一些存儲(chǔ)環(huán)境中,虛擬化功能可被加入到主機(jī)總線適配器中,即加入介于互連相關(guān)I/O驅(qū)動(dòng)器層116和互連130之間的一層中。也可在主機(jī)110外,例如在構(gòu)成互連130的一部分的虛擬化設(shè)備或虛擬化交換機(jī)中實(shí)現(xiàn)塊虛擬化。提供塊虛擬化的這種外部裝置(即,未包含在主機(jī)110內(nèi)的裝置)可被稱為無主機(jī)式虛擬器或者無主機(jī)式虛擬化控制器。在一些存儲(chǔ)環(huán)境中,塊虛擬化功能可由和基于主機(jī)的虛擬器合作的無主機(jī)式虛擬器實(shí)現(xiàn)。即,一些塊虛擬化功能中脫離主機(jī)執(zhí)行,其它塊虛擬化特征可在主機(jī)上實(shí)現(xiàn)。在另一實(shí)施例中,在主機(jī)110之外的多個(gè)裝置,例如兩個(gè)或更多的虛擬化交換機(jī),兩個(gè)或更多的虛擬化設(shè)備,或者虛擬化交換機(jī)和虛擬化設(shè)備的組合可合作提供塊虛擬化功能;即,無主機(jī)式虛擬器可包括多個(gè)協(xié)同操作的裝置。
雖然可向存儲(chǔ)軟件棧140A中加入另外的層,不過一般難以除去或者完全繞過操作系統(tǒng)的現(xiàn)有存儲(chǔ)軟件層。于是,一般按照即使當(dāng)提供給操作系統(tǒng)的存儲(chǔ)裝置是虛擬的而不是物理的,是遠(yuǎn)程的而不是本地的,仍然允許現(xiàn)有的存儲(chǔ)軟件層繼續(xù)工作的方式實(shí)現(xiàn)無主機(jī)式虛擬器。例如,由于當(dāng)進(jìn)行I/O操作時(shí),磁盤驅(qū)動(dòng)器層114預(yù)期處理SCSILUN,因此無主機(jī)式虛擬器可以虛擬LUN的形式,將虛擬化存儲(chǔ)裝置提供給磁盤驅(qū)動(dòng)器層。即,如下更詳細(xì)所述,當(dāng)向主機(jī)110提供對(duì)虛擬化存儲(chǔ)裝置的訪問時(shí),無主機(jī)式虛擬器可封閉或者仿真LUN的元數(shù)據(jù)。另外,如下所述,一個(gè)或多個(gè)軟件模塊或?qū)涌杀患尤氲酱鎯?chǔ)棧140A中,以支持其它形式的利用虛擬LUN的虛擬化。
圖1b是圖解說明配置成利用無主機(jī)式塊虛擬化的系統(tǒng)100的一個(gè)實(shí)施例的方框圖。如圖所示,系統(tǒng)可包括無主機(jī)式虛擬器180,例如虛擬化交換機(jī)或虛擬化設(shè)備,它可包括在鏈接主機(jī)110和物理分塊裝置120的互連130內(nèi)。主機(jī)110可包含增強(qiáng)的存儲(chǔ)軟件棧140B,存儲(chǔ)軟件棧140B可包括介于磁盤驅(qū)動(dòng)器層114和文件系統(tǒng)層112之間的中間驅(qū)動(dòng)器層。在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可被配置成將物理分塊裝置120,或者多個(gè)物理分塊裝置120內(nèi)的存儲(chǔ)空間映射成一個(gè)虛擬存儲(chǔ)裝置(例如虛擬LUN或VLUN),并將虛擬存儲(chǔ)裝置提供給主機(jī)110。
在下面的描述中,映射到虛擬LUN的后端物理分塊裝置120可被稱為“物理LUN(PLUN)”。在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可被配置成將存儲(chǔ)空間直接從后端物理LUN映射到VLUN,而不存在任何另外的虛擬化(即,不創(chuàng)建邏輯卷)。在下面的說明中,將PLUN映射到VLUN的這種技術(shù)可被稱為“PLUN隧穿”。在另一實(shí)施例中,無主機(jī)式虛擬器180可被配置成將一個(gè)或多個(gè)物理分塊裝置120內(nèi)的存儲(chǔ)空間聚合成一個(gè)或多個(gè)邏輯卷,并在提供給主機(jī)110的VLUN的地址空間內(nèi)映射所述邏輯卷。這里,術(shù)語“卷隧穿”或“邏輯卷隧穿”可被用于表示通過VLUN映射邏輯卷的技術(shù)。無主機(jī)式虛擬器180還可被配置成向中間驅(qū)動(dòng)器層130提供和隧穿的邏輯卷有關(guān)的元數(shù)據(jù)或配置信息,允許中間驅(qū)動(dòng)器層130代表客戶機(jī),例如文件系統(tǒng)層112或者其它應(yīng)用程序,定位位于虛擬LUN內(nèi)的邏輯卷,并對(duì)其進(jìn)行I/O操作。在一些實(shí)施例中,諸如符號(hào)鏈接之類的別名使用技術(shù)可被用于使名稱和隧穿的邏輯卷相聯(lián)系,允許文件系統(tǒng)、應(yīng)用程序和系統(tǒng)管理員利用常規(guī)的或者推薦的命名方案表示隧穿的邏輯卷。在一個(gè)實(shí)施例中,還可在主機(jī)110和無主機(jī)式虛擬器180之間協(xié)調(diào)名稱的選擇,例如,使用擴(kuò)展的SCSI模式頁中的一個(gè)字段,或者通過包括一個(gè)或多個(gè)另外的裝置和/或主機(jī)的外部虛擬化管理基礎(chǔ)結(jié)構(gòu)。這里,配置成利用中間驅(qū)動(dòng)器層113和存儲(chǔ)棧140B的各個(gè)較下層的文件系統(tǒng)層112和應(yīng)用程序(例如數(shù)據(jù)庫管理系統(tǒng))可被稱為“虛擬存儲(chǔ)客戶機(jī)”或“虛擬存儲(chǔ)消費(fèi)者”。雖然在圖1b中描述的實(shí)施例中,無主機(jī)式虛擬器180被表示在互連130內(nèi),不過注意在其它實(shí)施例中,也可在物理分塊裝置120內(nèi)(例如,由物理存儲(chǔ)層124和固件層122之間的虛擬化層),或者在互連130之外的另一裝置處提供無主機(jī)式虛擬化。如下更詳細(xì)所述,在一些實(shí)施例中,許多可獨(dú)立配置的互連可被用于使無主機(jī)式虛擬器180和主機(jī)110及后端存儲(chǔ)裝置120鏈接;例如,一個(gè)或多個(gè)前端互連130或存儲(chǔ)區(qū)域網(wǎng)(SAN)架構(gòu)可連接無主機(jī)式虛擬器180和主機(jī)110,而一個(gè)或多個(gè)后端互連130可鏈接無主機(jī)式虛擬器和后端存儲(chǔ)裝置。
如上所述,在一些實(shí)施例中,磁盤驅(qū)動(dòng)器層114可預(yù)期某些操作系統(tǒng)專有元數(shù)據(jù)存在于LUN內(nèi)的操作系統(tǒng)專用位置或偏移量處。于是,當(dāng)向主機(jī)110提供虛擬LUN時(shí),在這樣的實(shí)施例,無主機(jī)式虛擬器180可在預(yù)期的位置合乎邏輯地插入預(yù)期的元數(shù)據(jù)。圖2a是根據(jù)一個(gè)實(shí)施例,圖解說明將操作系統(tǒng)專有元數(shù)據(jù)加入封閉源卷205的虛擬LUN中的方框圖。如圖所示,源卷205由編號(hào)0~(N-1)的N塊組成。虛擬LUN 210可包括兩個(gè)區(qū)域的插入元數(shù)據(jù)包含H塊元數(shù)據(jù)的標(biāo)題215,和包括T塊元數(shù)據(jù)的尾標(biāo)225。在標(biāo)題215和尾標(biāo)225之間,虛擬LUN 210的塊220可被映射到源卷205,從而使虛擬LUN 210總長為(H+N+T)塊(即,虛擬LUN可包含編號(hào)0~(H+N+T-1)的塊)。包含在標(biāo)題215和/或尾標(biāo)225中的操作系統(tǒng)專有元數(shù)據(jù)可被磁盤驅(qū)動(dòng)器層114用于將虛擬LUN 210識(shí)別成可尋址的存儲(chǔ)裝置。這里使用的“可尋址的存儲(chǔ)裝置”是通過利用包括裝置標(biāo)識(shí)符(例如邏輯單元標(biāo)識(shí)符)的地址和裝置內(nèi)的偏移量,可訪問其存儲(chǔ)塊(例如,從諸如磁盤驅(qū)動(dòng)器之類的裝置驅(qū)動(dòng)器)的存儲(chǔ)裝置。在一些實(shí)施例中,另外的配置信息或邏輯卷元數(shù)據(jù)也可被包括在標(biāo)題215和/或尾標(biāo)225內(nèi)。標(biāo)題215和尾標(biāo)225的長度,以及元數(shù)據(jù)的格式和內(nèi)容可隨著在主機(jī)110使用的操作系統(tǒng)而變化。注意在一些實(shí)施例中,元數(shù)據(jù)可能只需要標(biāo)題215,或者只需要尾標(biāo)225,而不是既需要標(biāo)題又需要尾標(biāo);在其它實(shí)施例中,元數(shù)據(jù)可被保存在LUN內(nèi)的任何偏移量處。
無主機(jī)式虛擬器180可被配置成根據(jù)在主機(jī)110使用的操作系統(tǒng)的具體要求,定制產(chǎn)生的操作系統(tǒng)元數(shù)據(jù)(例如,在標(biāo)題215和/或尾標(biāo)225中)。由不同的操作系統(tǒng)強(qiáng)加的要求可能在將包括在元數(shù)據(jù)內(nèi)的信息的類型(例如,元數(shù)據(jù)是否包括分區(qū)表),保存信息的格式(例如,指定分區(qū)大小或卷大小的單位,比如千字節(jié)或512字節(jié)存儲(chǔ)塊,偏移量是用十六進(jìn)制數(shù)字還是十進(jìn)制數(shù)字表示等),LUN內(nèi)將找到元數(shù)據(jù)的位置等方面不同。在一些實(shí)施例中,所述要求可從主機(jī)110發(fā)送給無主機(jī)式虛擬器180。例如,在一個(gè)實(shí)施例中,可利用一個(gè)或多個(gè)裝置和/或另外的主機(jī)(即,利用不同于主機(jī)110和無主機(jī)式虛擬器180的裝置和/或主機(jī))實(shí)現(xiàn)虛擬化管理基礎(chǔ)結(jié)構(gòu)。虛擬化管理基礎(chǔ)結(jié)構(gòu)的裝置或主機(jī)可被配置成與主機(jī)110通信,從主機(jī)110獲得操作系統(tǒng)的元數(shù)據(jù)要求,并將所述要求提供給無主機(jī)式虛擬器180。在另一實(shí)施例中,主機(jī)110可被配置成例如利用存儲(chǔ)命令的擴(kuò)展(例如擴(kuò)展的SCSI請(qǐng)求),將操作系統(tǒng)要求提供給無主機(jī)式虛擬器。在一些實(shí)施例中,存儲(chǔ)命令和/或所述擴(kuò)展可以是廠商唯一的(即,對(duì)于不同的硬件存儲(chǔ)器廠商,存儲(chǔ)命令需要按照不同的方式來擴(kuò)展)。在一個(gè)實(shí)施例中,只有在主機(jī)110使用的操作系統(tǒng)的身份(例如,操作系統(tǒng)名稱和版本號(hào))可被提供給無主機(jī)式虛擬器180,無主機(jī)式虛擬器可被配置成利用操作系統(tǒng)身份,獲得操作系統(tǒng)要求的細(xì)節(jié)(例如,從保存在無主機(jī)式虛擬器180的數(shù)據(jù)庫,或者從外部數(shù)據(jù)庫)。在一些實(shí)施例中,也可手動(dòng)地,例如系統(tǒng)管理員利用圖形用戶界面或命令行界面對(duì)無主機(jī)式虛擬器180指定主機(jī)110的操作系統(tǒng)身份和/或元數(shù)據(jù)要求。在一些實(shí)施例中,可以使用由多個(gè)操作系統(tǒng)共享的公共元數(shù)據(jù)格式。
在一些實(shí)施例中,插入虛擬LUN 210內(nèi)的元數(shù)據(jù)可被保存在持久存儲(chǔ)器中,例如保存在物理分塊裝置120的一些塊中,或者保存在無主機(jī)式虛擬器180內(nèi)的存儲(chǔ)器上,并且邏輯上與映射塊220連接。在其它實(shí)施例中,元數(shù)據(jù)可被保存在非持久存儲(chǔ)器中(例如,保存在位于無主機(jī)式虛擬器180的內(nèi)存內(nèi))和/或每當(dāng)主機(jī)110訪問虛擬LUN210時(shí)動(dòng)態(tài)產(chǎn)生。在一些實(shí)施例中,元數(shù)據(jù)可由不同于無主機(jī)式虛擬器180的外部代理產(chǎn)生。外部代理能夠按照不同操作系統(tǒng)(包括當(dāng)部署無主機(jī)式虛擬器180時(shí)還未知的操作系統(tǒng))的各種格式仿真元數(shù)據(jù)。在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可被配置成支持一個(gè)以上的操作系統(tǒng);即,當(dāng)將虛擬LUN提供給主機(jī)110時(shí),無主機(jī)式虛擬器可合乎邏輯地插入和許多不同操作系統(tǒng)中的任意之一對(duì)應(yīng)的元數(shù)據(jù)塊,從而允許具有不同操作系統(tǒng)的主機(jī)共享對(duì)特定存儲(chǔ)裝置120的訪問。
如前所述,在一些實(shí)施例中,無主機(jī)式虛擬器180可被配置成產(chǎn)生包括分區(qū)布局信息的操作系統(tǒng)元數(shù)據(jù)。圖2b是圖解說明其中無主機(jī)式虛擬器180被配置成將分區(qū)表255包括在產(chǎn)生的操作系統(tǒng)元數(shù)據(jù)標(biāo)題215內(nèi)的一個(gè)實(shí)施例的方框圖。分區(qū)表255可提供描述LUN 210內(nèi)的偏移量的布局或映射信息,映射到物理存儲(chǔ)裝置250的一個(gè)邏輯分區(qū)的塊可位于所述偏移量處。在圖解說明的實(shí)施例中,布局表可包含分別與物理存儲(chǔ)裝置250的分區(qū)1、分區(qū)2和分區(qū)3對(duì)應(yīng)的三個(gè)條目。
在一些實(shí)施例中,無主機(jī)式虛擬器還可被配置成將一個(gè)或多個(gè)邏輯卷映射到虛擬LUN的地址空間。圖2c是圖解說明其中無主機(jī)式虛擬器180被配置成將物理存儲(chǔ)裝置250A和250B內(nèi)的存儲(chǔ)空間集合成一個(gè)邏輯卷260,并將邏輯卷260映射到虛擬LUN 210的塊261的一個(gè)實(shí)施例的方框圖。在這樣的實(shí)施例中,除了如上所述產(chǎn)生操作系統(tǒng)元數(shù)據(jù)之外,無主機(jī)式虛擬器180還可被配置成產(chǎn)生邏輯卷特有的元數(shù)據(jù)。這樣的邏輯卷元數(shù)據(jù)263包括允許中間驅(qū)動(dòng)器層113對(duì)邏輯卷260進(jìn)行I/O操作的信息(例如起始偏移量,卷長度,諸如鏡像的數(shù)目之類的虛擬化層信息等)。注意在一個(gè)實(shí)施例中,邏輯卷元數(shù)據(jù)可包括在標(biāo)題215或尾標(biāo)225內(nèi),即,打算供中間驅(qū)動(dòng)器層113使用的邏輯卷元數(shù)據(jù)可和打算供磁盤驅(qū)動(dòng)器層114使用的操作系統(tǒng)元數(shù)據(jù)共處一地。雖然圖2c中圖解說明的邏輯卷260由兩個(gè)物理存儲(chǔ)裝置250A和250B支持,不過一般來說,來自許多物理存儲(chǔ)裝置250的存儲(chǔ)空間(包括來自單個(gè)物理存儲(chǔ)裝置的存儲(chǔ)空間)可被集合成一個(gè)邏輯卷260。
圖3是圖解說明包括一個(gè)配置成創(chuàng)建多個(gè)虛擬LUN(VLUN)210的無主機(jī)式虛擬器180的實(shí)施例的方框圖。在圖解說明的實(shí)施例中,主機(jī)110A、110B和110C(總稱為主機(jī)110)可通過互連130A與無主機(jī)式虛擬器180耦接,無主機(jī)式虛擬器180可通過互連130B與存儲(chǔ)裝置340A、340B和340C(總稱為存儲(chǔ)裝置340)耦接。存儲(chǔ)裝置340可包括物理分塊裝置120以及虛擬分塊裝置(例如,在采用多層虛擬化的實(shí)施例中,如下所述)。主機(jī)110A和110B可利用操作系統(tǒng)A,而主同110C利用操作系統(tǒng)B;即,一般來說,主機(jī)110中的每個(gè)主機(jī)可支持許多操作系統(tǒng)中的任意一種。如圖所示,無主機(jī)式虛擬器180可被配置成產(chǎn)生許多VLUN 210A-210E的元數(shù)據(jù)。VLUN 210A可被分配給主機(jī)110A(即,為VLUN 210A產(chǎn)生的操作系統(tǒng)元數(shù)據(jù)可供主機(jī)110A訪問,允許主機(jī)110A檢測作為可尋址存儲(chǔ)裝置的VLUN210A的存在)。VLUN 210B可被配置成給主機(jī)110B,而VLUN 210C、210D和210E可全部分配給主機(jī)110C。存儲(chǔ)裝置340A內(nèi)的存儲(chǔ)空間可被映射到VLUN 210A和VLUN 210E,如圖3中的虛箭頭所示。從而,在圖解說明的實(shí)施例中,兩個(gè)或更多的具有不同操作系統(tǒng)的主機(jī)(例如主機(jī)110A和主機(jī)110C)中的每個(gè)主機(jī)可利用不同的VLUN(例如210A和210E)訪問相同的存儲(chǔ)裝置(例如340A)。一般來說,無主機(jī)式虛擬器180可被配置成支持任意所需數(shù)目的VLUN 210,將任何所需VLUN分配給指定主機(jī),和將存儲(chǔ)空間從存儲(chǔ)裝置340的任何所需組合映射到指定VLUN。注意在一些實(shí)施例中,某些操作系統(tǒng)可對(duì)主機(jī)110可看到的LUN(或VLUN)的總數(shù),和/或指定LUN或VLUN的大小加以限制,并且無主機(jī)式虛擬器可被配置成遵守這樣的限制。
圖4是圖解說明配置成如上所述產(chǎn)生操作系統(tǒng)元數(shù)據(jù)的主機(jī)110和無主機(jī)式虛擬器180的操作的各個(gè)方面的流程圖。無主機(jī)式虛擬器180可被配置成利用上述技術(shù)之一,例如擴(kuò)展的SCSI命令,從主機(jī)110接收操作系統(tǒng)元數(shù)據(jù)要求(方框410)。無主機(jī)式虛擬器180隨后根據(jù)所述要求,產(chǎn)生虛擬存儲(chǔ)裝置,比如VLUN 210的操作系統(tǒng)元數(shù)據(jù)(方框420),并使該操作系統(tǒng)元數(shù)據(jù)可供主機(jī)110訪問(方框430)。在一些實(shí)施例中,借助無主機(jī)式虛擬器180通過互連130A發(fā)送的消息,使所述元數(shù)據(jù)可供主機(jī)110訪問。在其它實(shí)施例中,主機(jī)110A可被配置成向無主機(jī)式虛擬器180發(fā)送查詢,請(qǐng)求和分配給主機(jī)110的VLUN有關(guān)的信息,響應(yīng)所述查詢可提供元數(shù)據(jù)。位于主機(jī)110的存儲(chǔ)軟件棧的第一層(例如磁盤驅(qū)動(dòng)器層114)可被配置成使用該元數(shù)據(jù)檢測作為可尋址存儲(chǔ)裝置的虛擬存儲(chǔ)裝置的存在(方框440)。注意在其中存儲(chǔ)環(huán)境中的所有主機(jī)110被配置成使用相同操作系統(tǒng)的一些實(shí)施例中,對(duì)應(yīng)于方框410的操作可被省略,即,在所有主機(jī)110上使用單一操作系統(tǒng)的均質(zhì)環(huán)境中,不需要向無主機(jī)式虛擬器180提供操作系統(tǒng)特有的要求。
圖5是圖解說明其中無主機(jī)式虛擬器180被配置成將一個(gè)或多個(gè)物理存儲(chǔ)裝置中的存儲(chǔ)空間集合成一個(gè)邏輯卷260,并將該邏輯卷映射到VLUN 210的一個(gè)實(shí)施例的流程圖。如圖4中一樣,操作系統(tǒng)元數(shù)據(jù)要求可被無主機(jī)式虛擬器180接收(方框510),根據(jù)所述要求,無主機(jī)式虛擬器可產(chǎn)生虛擬存儲(chǔ)裝置或VLUN 210的操作系統(tǒng)元數(shù)據(jù)(方框520)。無主機(jī)式虛擬器可被配置成將一個(gè)或多個(gè)物理存儲(chǔ)裝置340內(nèi)的存儲(chǔ)空間集合成一個(gè)邏輯卷260(方框530),并將該邏輯卷映射成虛擬存儲(chǔ)裝置或VLUN的地址空間(方框540)。操作系統(tǒng)元數(shù)據(jù),以及邏輯卷特有的其它元數(shù)據(jù)可被提供給主機(jī)110(方框550)。位于主機(jī)的存儲(chǔ)軟件棧的第一層(例如磁盤驅(qū)動(dòng)器層114)可被配置成使用操作系統(tǒng)元數(shù)據(jù)檢測虛擬存儲(chǔ)裝置的存在(方框560),而第二層(例如中間驅(qū)動(dòng)器層113)可被配置成使用邏輯卷元數(shù)據(jù)來訪問和發(fā)起對(duì)邏輯卷260的I/O操作(方框570)。
在一些實(shí)施例中,上面說明的PLUN隧穿和卷隧穿的基本技術(shù)可被擴(kuò)展,以允許PLUN和/或邏輯卷與VLUN的動(dòng)態(tài)聯(lián)系。雖然一般可高效地創(chuàng)建和動(dòng)態(tài)重構(gòu)(例如生長或收縮,輸入主機(jī)110或者從主機(jī)110輸出)諸如邏輯卷260之類的邏輯卷,不過對(duì)LUN(即,物理和/或虛擬LUN)的類似配置操作一般相當(dāng)慢。一些LUN配置操作可能至少部分異步,可能具有極大的完成時(shí)間和/或不明確的故障狀態(tài)。在許多操作系統(tǒng)上,只在系統(tǒng)重新啟動(dòng)之后才完成LUN重構(gòu);例如,如果不重新啟動(dòng),那么操作系統(tǒng)檢測不到新創(chuàng)建的物理或虛擬LUN。于是為了能夠靈活地將邏輯卷映射到虛擬LUN,同時(shí)避免與LUN重構(gòu)相關(guān)的延遲和問題,可取的是產(chǎn)生無映射的虛擬LUN(即,為一開始不被映射到任何物理LUN或者映射到邏輯卷的虛擬LUN創(chuàng)建操作系統(tǒng)元數(shù)據(jù)),并且將無映射的虛擬LUN預(yù)先分配給主機(jī)110,作為初始化過程的一部分??稍诖響?yīng)用程序?qū)μ摂MLUN進(jìn)行存儲(chǔ)操作之前完成所述初始化過程。在初始化過程中(在一些實(shí)施例中,它可包括系統(tǒng)的重新啟動(dòng)),軟件存儲(chǔ)棧140B的各層可被配置成檢測作為可尋址存儲(chǔ)裝置的虛擬LUN的存在。在初始化之后,無主機(jī)式虛擬器180可動(dòng)態(tài)地將物理LUN和/或邏輯卷映射到虛擬LUN(例如,通過修改操作系統(tǒng)元數(shù)據(jù)的多個(gè)部分),如下更詳細(xì)所述。這里使用的術(shù)語“動(dòng)態(tài)地映射”指的是通過修改一塊或多塊元數(shù)據(jù),和/或通過借助一個(gè)或多個(gè)消息傳送給主機(jī)進(jìn)行的虛擬存儲(chǔ)裝置(例如VLUN)的映射,而不要求向其提供虛擬存儲(chǔ)裝置的主機(jī)110的重新啟動(dòng)。
圖6是根據(jù)一個(gè)實(shí)施例,圖解說明無映射虛擬LUN 230的一個(gè)例子的方框圖。如圖所示,無映射虛擬LAN 230可包括操作系統(tǒng)元數(shù)據(jù)標(biāo)題215和操作系統(tǒng)元數(shù)據(jù)尾標(biāo)225,以及無映射塊235的區(qū)域。在一些實(shí)施例中,無映射塊(在所描述的例子中的X塊)的區(qū)域的大小可被設(shè)置成操作系統(tǒng)支持的最大可容許LUN或者最大邏輯卷大小,以致邏輯卷或物理LUN到虛擬LUN的任何后續(xù)映射不要求虛擬LUN的大小的擴(kuò)大。在一個(gè)備選實(shí)施例中,無映射的虛擬LUN只由仿真的元數(shù)據(jù)(例如標(biāo)題215和/或尾標(biāo)225)組成,當(dāng)動(dòng)態(tài)地映射卷或物理LUN時(shí),虛擬LUN的大小可被增大。在這樣的實(shí)施例中,當(dāng)虛擬LUN被擴(kuò)展時(shí),磁盤驅(qū)動(dòng)器層114不得不修改其一些內(nèi)部數(shù)據(jù)結(jié)構(gòu),為了修改其一些內(nèi)部數(shù)據(jù)結(jié)構(gòu),不得不重新讀取仿真的元數(shù)據(jù)。無主機(jī)式虛擬器180可被配置成將元數(shù)據(jù)變化通知消息發(fā)送給磁盤驅(qū)動(dòng)器層114,以便觸發(fā)元數(shù)據(jù)的重新讀取。
圖7是圖解說明包括配置成創(chuàng)建多個(gè)無映射虛擬LUN(VLUN)230的無主機(jī)式虛擬器180的一個(gè)實(shí)施例的方框圖。如圖所示,一個(gè)以上的無映射VLUN可以和單一主機(jī)110相聯(lián)系。例如,無主機(jī)式虛擬器180可將無映射VLUN 230A和230B分配給主機(jī)110A,將無映射VLUN 230C、230D和230E分配給主機(jī)110B。在一些實(shí)施例中,多個(gè)VLUN可與指定主機(jī)相聯(lián)系,以便隔離用于不同應(yīng)用程序的存儲(chǔ)空間,或者允許訪問超過系統(tǒng)中所支持的最大可容許LUN大小的存儲(chǔ)空間。無主機(jī)式虛擬器180可被配置成動(dòng)態(tài)地將存儲(chǔ)裝置340的物理和/或虛擬存儲(chǔ)空間映射到無映射的虛擬LUN 230。主機(jī)110A和110B可被配置成在一些實(shí)施例中使用不同的操作系統(tǒng),在其它實(shí)施例中使用相同的操作系統(tǒng)。在物理或虛擬存儲(chǔ)空間已被動(dòng)態(tài)地映射之后,先前無映射的VLUN 230可提供和前面關(guān)于在基本(即非動(dòng)態(tài))PLUN隧穿和基本卷隧穿中提供的VLUN 210描述的功能相同的常規(guī)功能。下面說明動(dòng)態(tài)地將物理存儲(chǔ)裝置和邏輯卷映射到VLUN的許多不同的技術(shù)。注意在一些實(shí)施例中,也可利用基本PLUN隧穿或者基本卷隧穿來實(shí)現(xiàn)每種這樣的技術(shù)(例如,從兩個(gè)PLUN到單個(gè)VLUN的映射),即,不從預(yù)先分配給主機(jī)110的無映射VLUN開始。
如前所述,無主機(jī)式虛擬器180產(chǎn)生的操作系統(tǒng)專有元數(shù)據(jù)(例如在圖2b的標(biāo)題215和/或尾標(biāo)225中)可允許在主機(jī)110的磁盤驅(qū)動(dòng)器層114檢測作為可尋址存儲(chǔ)裝置的無映射虛擬LUN 230的存在。在VLUN 230已被磁盤驅(qū)動(dòng)器層114識(shí)別之后,在VLUN地址空間內(nèi)的任何偏移量處的塊可被磁盤驅(qū)動(dòng)器層114訪問,從而被磁盤驅(qū)動(dòng)器層之上的任何其它層訪問。例如,中間驅(qū)動(dòng)器層113可被配置成通過從在VLUN 230內(nèi)仿真的指定一組存儲(chǔ)塊讀取,和/或?qū)ζ鋵懭?,與無主機(jī)式虛擬器180通信。在一個(gè)實(shí)施例中,這樣的指定存儲(chǔ)塊可向無主機(jī)式虛擬器180提供一種機(jī)構(gòu),從而向中間驅(qū)動(dòng)器層113提供和映射到VLUN 230的邏輯卷或物理LUN相關(guān)的配置信息。
在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可被配置成動(dòng)態(tài)地直接將存儲(chǔ)空間從后端物理LUN映射到無映射的VLUN 230,而不存在任何另外的虛擬化(即,不創(chuàng)建邏輯卷)。這樣的將PLUN動(dòng)態(tài)地映射到VLUN 230的技術(shù)可被稱為“動(dòng)態(tài)PLUN隧穿”(與上面描述的不使用無映射的VLUN的基本PLUN隧穿相反)。在一些實(shí)施例中,每個(gè)PLUN可被映射到對(duì)應(yīng)的VLUN 230(即,無主機(jī)式虛擬器180可實(shí)現(xiàn)PLUN到VLUN的1對(duì)1映射)。在其它實(shí)施例中,如下結(jié)合圖8的說明所述,來自多個(gè)PLUN的存儲(chǔ)空間可被映射到指定VLUN 230的子范圍中。一般來說,基本PLUN隧穿和動(dòng)態(tài)PLUN隧穿允許無主機(jī)式虛擬器180充當(dāng)VLUN 230(主機(jī)110可直接訪問的存儲(chǔ)實(shí)體)和后端PLUN之間的隔離層,允許無主機(jī)式虛擬器對(duì)主機(jī)隱瞞和物理存儲(chǔ)協(xié)議實(shí)現(xiàn)相關(guān)的細(xì)節(jié)。例如在一種實(shí)現(xiàn)中,后端PLUN可實(shí)現(xiàn)和主機(jī)100看到的版本(例如SCSI-2)不同版本的存儲(chǔ)協(xié)議(例如SCSI-3),并且無主機(jī)式虛擬器可提供這兩種版本之間的所需的任何轉(zhuǎn)換。在另一種實(shí)現(xiàn)中,無主機(jī)式虛擬器180可被配置成實(shí)現(xiàn)后端PLUN的協(xié)作訪問控制機(jī)制,該機(jī)制的細(xì)節(jié)仍然對(duì)主機(jī)110隱瞞。
另外,無主機(jī)式虛擬器180還可被配置成利用PLUN隧穿(即,基本PLUN隧穿或動(dòng)態(tài)PLUN隧穿),提高數(shù)據(jù)共享的級(jí)別。磁盤陣列裝置通常對(duì)同時(shí)發(fā)生的“登錄”的總數(shù),即,可訪問指定磁盤陣列裝置的實(shí)體的總數(shù)加以限制。在將PLUN隧穿用于磁盤陣列(即,PLUN是磁盤陣列裝置)的存儲(chǔ)環(huán)境中,無主機(jī)式虛擬器180可允許多個(gè)主機(jī)通過單一登錄訪問磁盤陣列。即,多個(gè)主機(jī)110可登錄到無主機(jī)式虛擬器180,而無主機(jī)式虛擬器可代表多個(gè)主機(jī)一次登錄到磁盤陣列PLUN。無主機(jī)式虛擬器180隨后利用單一登錄,將I/O請(qǐng)求從多個(gè)主機(jī)傳送給磁盤陣列PLUN。從而通過隧穿可降低磁盤陣列PLUN看到的登錄(即登錄的不同實(shí)體)的數(shù)目,而不減少從其可發(fā)起以磁盤陣列PLUN為目標(biāo)的I/O操作的主機(jī)110的數(shù)目。從而可增大可訪問位于具有登錄計(jì)數(shù)限制的單一磁盤陣列PLUN的存儲(chǔ)空間的主機(jī)110的總數(shù),從而提高數(shù)據(jù)共享的總體水平。
圖8是圖解說明其中無主機(jī)式虛擬器180被配置成動(dòng)態(tài)地將物理存儲(chǔ)空間從兩個(gè)不同的物理存儲(chǔ)裝置340A和340B內(nèi)映射到單一VLUN 230B的一個(gè)實(shí)施例的方框圖。即,無主機(jī)式虛擬器180可被配置成將第一范圍的物理存儲(chǔ)空間從裝置340A映射到VLUN 230B內(nèi)的映射塊的第一區(qū)域,將第二范圍的物理存儲(chǔ)空間從裝置340B映射到VLUN 230B內(nèi)的映射塊的第二區(qū)域。第一范圍和第二范圍的物理存儲(chǔ)空間均可代表相應(yīng)的PLUN,例如磁盤陣列,或者PLUN的相應(yīng)子集。在不同的實(shí)施例中,利用各種機(jī)制,指示映射塊821A和821B所位于的VLUN 230B內(nèi)的偏移量的配置信息可由無主機(jī)式虛擬器180提供給中間驅(qū)動(dòng)器層113。例如,在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可將配置信息寫入VLUN 230內(nèi)的指定一組存儲(chǔ)塊,中間驅(qū)動(dòng)器層113可被配置成讀取所述指定一組存儲(chǔ)塊,如上所述。在另一實(shí)施例中,無主機(jī)式虛擬器180可直接地(通過互連350A或另一網(wǎng)絡(luò))或者通過中間協(xié)調(diào)服務(wù)器,將包含配置信息的消息發(fā)送給主機(jī)110A。在又一實(shí)施例中,可在特殊的SCSI模式頁內(nèi)提供配置信息(即,中間驅(qū)動(dòng)器層113可被配置成讀取包含由無主機(jī)式虛擬器180更新的配置信息的特殊SCSI模式頁)。在一些實(shí)施例中可以使用這些技術(shù)的組合例如,在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可向中間驅(qū)動(dòng)器層113發(fā)送請(qǐng)求中間驅(qū)動(dòng)器層讀取包含配置信息的特殊SCSI模式頁的消息。
圖9是圖解說明其中無主機(jī)式虛擬器180被配置成動(dòng)態(tài)地將物理存儲(chǔ)空間從單個(gè)物理存儲(chǔ)裝置340A內(nèi)映射到分配給不同主機(jī)110A和110B的兩個(gè)VLUN 230的一個(gè)實(shí)施例的方框圖。如圖所示,物理存儲(chǔ)裝置340A的第一范圍的物理存儲(chǔ)空間955A可被映射到分配給主機(jī)110A的VLUN 230B內(nèi)的第一范圍的映射塊821A。同一物理存儲(chǔ)裝置340A的第二范圍的物理存儲(chǔ)空間955B可被映射到分配給主機(jī)110B的VLUN 230E的第二范圍的映射塊821C。另外,在一些實(shí)施例中,無主機(jī)式虛擬器180可被配置成防止主機(jī)110B擅自訪問物理存儲(chǔ)范圍955A,和防止主機(jī)110A擅自訪問物理存儲(chǔ)空間955B。從而,除了允許從多個(gè)主機(jī)110訪問單一的物理存儲(chǔ)裝置340A之外,無主機(jī)式虛擬器180還可被配置成根據(jù)指定的安全協(xié)議,為每個(gè)范圍的物理存儲(chǔ)空間955A和955B提供安全性。例如,在一個(gè)實(shí)施例中,安全協(xié)議只允許來自單一主機(jī)110的對(duì)指定VLUN 230(及對(duì)其后備物理存儲(chǔ)空間)的I/O操作。在一些實(shí)施例中,無主機(jī)式虛擬器180可被配置成保持關(guān)于主機(jī)110和VLUN 230的訪問權(quán)信息,而在其它實(shí)施例中,可向每個(gè)主機(jī)110提供安全權(quán)標(biāo),指示允許從主機(jī)對(duì)其訪問的特定VLUN,安全權(quán)標(biāo)可包含在I/O請(qǐng)求內(nèi)。
在一些實(shí)施例中,無主機(jī)式虛擬器180可被配置成將物理存儲(chǔ)空間集合成一個(gè)邏輯卷,并動(dòng)態(tài)地將該邏輯卷映射到VLUN 230內(nèi)的一個(gè)地址范圍。將邏輯卷動(dòng)態(tài)地映射到VLUN 230的這種技術(shù)可被稱為“動(dòng)態(tài)卷隧穿”(與上面描述的不使用無映射VLUN的基本卷隧穿相反)。圖10是圖解說明其中無主機(jī)式虛擬器180被配置成將物理存儲(chǔ)裝置340A的存儲(chǔ)空間1055A集合成一個(gè)邏輯卷1060A,并將邏輯卷1060A動(dòng)態(tài)地映射到VLUN 230B的一系列塊(被指定為圖10中的映射卷1065A)的一個(gè)實(shí)施例的方框圖。和PLUN隧穿的情況一樣,利用各種機(jī)制中的任何一種,例如擴(kuò)展的SCSI模式頁,VLUN 230A內(nèi)仿真的虛擬塊,和/或從無主機(jī)式虛擬器180送給主機(jī)110A的直接或間接消息,與隧穿的邏輯卷1060A相關(guān)的配置信息或元數(shù)據(jù)可被提供給中間驅(qū)動(dòng)器層113。雖然在描述的實(shí)施例中,邏輯卷1060A被表示成由單一物理存儲(chǔ)裝置340A的一部分支持,不過在其它實(shí)施例中,邏輯卷1060A可聚合自單一物理存儲(chǔ)裝置內(nèi)的所有存儲(chǔ)空間,或者聚合自兩個(gè)或更多物理裝置的存儲(chǔ)空間。在采用多層虛擬化的一些實(shí)施例中,邏輯卷1060A本身可聚合自其它邏輯存儲(chǔ)裝置,而不是直接聚合自物理存儲(chǔ)裝置。在一個(gè)實(shí)施例中,可向每個(gè)主機(jī)110(即,除主機(jī)110A外還有主機(jī)110B)提供通過獨(dú)立VLUN對(duì)邏輯卷1060A的訪問,而在另一實(shí)施例中,不同的一組邏輯卷可被提供給不同的主機(jī)110。
圖11是圖解說明其中無主機(jī)式虛擬器180被配置成將多個(gè)邏輯卷動(dòng)態(tài)地映射到單一VLUN 230的一個(gè)實(shí)施例的方框圖。如圖所示,無主機(jī)式虛擬器180可被配置成將物理存儲(chǔ)裝置340A的存儲(chǔ)范圍1155C和物理存儲(chǔ)裝置340B的物理存儲(chǔ)范圍1155B聚合成一個(gè)邏輯卷1160A,并將邏輯卷1160A映射到VLUN 230B的第一映射卷區(qū)域1165A。另外,無主機(jī)式虛擬器180還可將物理存儲(chǔ)裝置340A的物理存儲(chǔ)范圍1155B聚合成第二邏輯卷1160B,并將邏輯卷760B映射到VLUN 230B的第二映射卷區(qū)域116B。一般來說,無主機(jī)式虛擬器180可將來自一個(gè)或多個(gè)物理存儲(chǔ)裝置340的物理存儲(chǔ)塊的任何適當(dāng)選擇聚合成一個(gè)或多個(gè)邏輯卷,并將所述邏輯卷映射到一個(gè)或多個(gè)預(yù)先產(chǎn)生的無映射VLUN 230。
圖12是圖解說明其中無主機(jī)式虛擬器180被配置成將物理存儲(chǔ)裝置340A的存儲(chǔ)空間集合成邏輯卷1260A和1260B,并將這兩個(gè)邏輯卷中的每一個(gè)動(dòng)態(tài)地映射到一個(gè)不同的VLUN 230的一個(gè)實(shí)施例的方框圖。例如,如圖所示,邏輯卷1260A可被映射到可從主機(jī)110A訪問的VLUN 230B內(nèi)的第一地址范圍,而邏輯卷1260B可被映射到可從主機(jī)110B訪問的VLUN 230E內(nèi)的第二地址范圍。類似于上面關(guān)于PLUN隧穿說明的安全協(xié)議,無主機(jī)式虛擬器180還可被配置成實(shí)現(xiàn)防止擅自訪問和/或數(shù)據(jù)破壞的安全協(xié)議。無主機(jī)式虛擬器180可在邏輯卷級(jí)別實(shí)現(xiàn)所述安全協(xié)議即,無主機(jī)式虛擬器180可防止對(duì)其數(shù)據(jù)可被保存在單一物理存儲(chǔ)裝置340A內(nèi)的邏輯卷1260A的訪問(例如從主機(jī)110B)和邏輯卷1260B的訪問(例如從主機(jī)110A)。在一個(gè)實(shí)施例中,無主機(jī)式虛擬器180可被配置成保持每個(gè)主機(jī)110已被準(zhǔn)許訪問的邏輯卷1260的訪問權(quán)信息。在其它實(shí)施例中,可向每個(gè)主機(jī)110提供安全權(quán)標(biāo)(例如由無主機(jī)式虛擬器180,或者由外部安全服務(wù)器),所述安全權(quán)標(biāo)指示允許主機(jī)訪問的特定邏輯卷1260,所述安全權(quán)標(biāo)包括在I/O請(qǐng)求內(nèi)。
許多存儲(chǔ)環(huán)境利用存儲(chǔ)區(qū)域網(wǎng)(SAN),例如光纖通道架構(gòu)來訪問物理存儲(chǔ)裝置??赡苄枰粨Q機(jī)重構(gòu),重新布線,重新啟動(dòng)等的SAN架構(gòu)重構(gòu)(例如,提供從先前不可以訪問所需PLUN或邏輯卷的特定主機(jī)對(duì)特定PLUN或邏輯卷的訪問)一般相當(dāng)復(fù)雜,并且易于出錯(cuò)。上面所述的動(dòng)態(tài)PLUN隧穿和動(dòng)態(tài)卷隧穿的技術(shù)允許SAN重構(gòu)操作的簡化。通過使預(yù)先產(chǎn)生的無映射的VLUN和主機(jī)相聯(lián)系,并根據(jù)需要將PLUN和邏輯卷動(dòng)態(tài)地映射到VLUN,許多重構(gòu)操作只要求在交換機(jī)的映射表的改變,和中間驅(qū)動(dòng)器層113對(duì)新的元數(shù)據(jù)的識(shí)別。通過利用PLUN隧穿和/或卷隧穿,存儲(chǔ)裝置更易于在多個(gè)主機(jī)110間共享,或者邏輯上從一個(gè)主機(jī)傳給另一主機(jī)。還可簡化從協(xié)調(diào)存儲(chǔ)分配器保持的存儲(chǔ)池的存儲(chǔ)空間的分配和/或供給。
除了簡化SAN配置變化外,PLUN隧穿和卷隧穿還可支持跨越獨(dú)立配置的存儲(chǔ)網(wǎng)絡(luò)的存儲(chǔ)互連(例如,跨越多個(gè)光纖通道架構(gòu)的互連)。圖13是圖解說明采用多個(gè)存儲(chǔ)網(wǎng)絡(luò)的一個(gè)實(shí)施例的方框圖。如圖所示,無主機(jī)式虛擬器180可被配置成通過第一存儲(chǔ)網(wǎng)絡(luò)1310A訪問物理存儲(chǔ)裝置340A,通過第二存儲(chǔ)網(wǎng)絡(luò)1310B訪問物理存儲(chǔ)裝置340B。無主機(jī)式虛擬器180可將來自物理存儲(chǔ)裝置340A的存儲(chǔ)空間聚合成邏輯卷136A,并將邏輯卷1360A映射到VLUN 230B。類似地,無主機(jī)式虛擬器180可將來自物理存儲(chǔ)裝置340B的存儲(chǔ)空間聚合成邏輯卷1360B,并將邏輯卷1360B映射到VLUN 230E。主機(jī)110A可被配置成通過第三存儲(chǔ)網(wǎng)絡(luò)1310C訪問VLUN 230A,通過第四存儲(chǔ)網(wǎng)絡(luò)1310D訪問VLUN 230B。
每個(gè)存儲(chǔ)網(wǎng)絡(luò)1310(即,存儲(chǔ)網(wǎng)絡(luò)1310A、1310B、1310C或1310D)是可以獨(dú)立配置的即,在指定存儲(chǔ)網(wǎng)絡(luò)1310內(nèi)進(jìn)行的重構(gòu)操作不會(huì)影響任何其它的存儲(chǔ)網(wǎng)絡(luò)1310。指定存儲(chǔ)網(wǎng)絡(luò)1310內(nèi)的故障或誤配置也不會(huì)影響任何其它獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)1310。在一些實(shí)施例中,主機(jī)110可包括多個(gè)HBA,允許每個(gè)主機(jī)訪問多個(gè)獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)。例如,在圖13中描述的實(shí)施例中,主機(jī)110A可包括兩個(gè)HBA,第一個(gè)HBA允許訪問存儲(chǔ)網(wǎng)絡(luò)1310C,第二個(gè)HBA允許訪問存儲(chǔ)網(wǎng)絡(luò)1310D。在這樣的實(shí)施例中,主機(jī)110可被提供與后端物理存儲(chǔ)裝置340的完全連接性,同時(shí)仍然保持配置隔離的優(yōu)點(diǎn)。雖然圖13描述和卷隧穿一起的多個(gè)獨(dú)立存儲(chǔ)網(wǎng)絡(luò)的使用,不過在其它實(shí)施例中,多個(gè)獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)也可和PLUN隧穿,或者與PLUN隧穿和卷隧穿的組合一起使用。另外,注意在一些實(shí)施例中,獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)1310的使用可以是不對(duì)稱的例如,在一個(gè)實(shí)施例中,多個(gè)獨(dú)立的存儲(chǔ)網(wǎng)絡(luò)1310可被用于前端連接(即,介于無主機(jī)式虛擬器180和主機(jī)110之間),而只有一個(gè)存儲(chǔ)網(wǎng)絡(luò)被用于后端連接(即,介于無主機(jī)式虛擬器180和物理存儲(chǔ)裝置340之間)。任何所需的互連技術(shù)和/或協(xié)議可被用于實(shí)現(xiàn)存儲(chǔ)網(wǎng)絡(luò)1310,例如光纖通道,基于IP的協(xié)議等。例如,在一個(gè)實(shí)施例中,每個(gè)存儲(chǔ)網(wǎng)絡(luò)1310可以是光纖通道架構(gòu)。在另一實(shí)施例中,在第一存儲(chǔ)網(wǎng)絡(luò)1310內(nèi)使用的互連技術(shù)或協(xié)議可不同于在第二存儲(chǔ)網(wǎng)絡(luò)130內(nèi)使用的互連技術(shù)或協(xié)議。
在一個(gè)實(shí)施例中,卷隧穿還允許克服最大LUN大小限制。例如,SCSI協(xié)議可被配置成使用32位無符號(hào)整數(shù)作為LUN塊地址,從而將可在單一LUN訪問的存儲(chǔ)空間的最大量限制為2千兆字節(jié)(對(duì)于512字節(jié)塊來說)或者32千兆字節(jié)(對(duì)于8千字節(jié)塊來說)。卷隧穿允許中間驅(qū)動(dòng)器層113訪問作為映射到單一VLUN的多個(gè)物理LUN的存儲(chǔ)空間,從而克服最大LUN大小限制。圖14是圖解說明其中無主機(jī)式虛擬器180被配置成將兩個(gè)物理存儲(chǔ)裝置340A和340B的存儲(chǔ)空間集合成單個(gè)邏輯卷1460A的一個(gè)實(shí)施例的方框圖,其中卷1460A的大小超過在存儲(chǔ)裝置340使用的存儲(chǔ)協(xié)議所支持的許可的最大LUN大小。無主機(jī)式虛擬器180還可被配置成將邏輯卷1460A動(dòng)態(tài)地映射到VLUN 230B,并將邏輯卷元數(shù)據(jù)提供給在主機(jī)110A的中間驅(qū)動(dòng)器層113。邏輯卷元數(shù)據(jù)可包括足以滿足中間驅(qū)動(dòng)器層113訪問VLUN 230B內(nèi)比許可的最大LUN大小更大的地址空間的信息。
圖15是根據(jù)其中無主機(jī)式虛擬器180被配置成支持動(dòng)態(tài)物理LUN隧穿的一個(gè)實(shí)施例,圖解說明主機(jī)110和無主機(jī)式虛擬器180的操作的各個(gè)方面的流程圖。在收到操作系統(tǒng)元數(shù)據(jù)要求之后(方框1505),無主機(jī)式虛擬器180可被配置成產(chǎn)生無映射虛擬存儲(chǔ)裝置(例如VLUN)的操作系統(tǒng)元數(shù)據(jù)(方框1510),并使該元數(shù)據(jù)可被主機(jī)110訪問(方框1515)。位于主機(jī)110的存儲(chǔ)軟件棧的第一層,例如圖1b的磁盤驅(qū)動(dòng)器層114可被配置成在系統(tǒng)初始化或引導(dǎo)期間,使用O.S.元數(shù)據(jù)來檢測作為可尋址存儲(chǔ)裝置(例如作為LUN)的虛擬存儲(chǔ)裝置的存在(方框1520)。在檢測到無映射虛擬存儲(chǔ)裝置之后,無主機(jī)式虛擬器180可被配置成將一個(gè)或多個(gè)后端物理存儲(chǔ)裝置340(例如PLUN)的物理存儲(chǔ)空間動(dòng)態(tài)地映射到虛擬存儲(chǔ)裝置內(nèi)的一個(gè)地址范圍(方框1525)。
圖16是根據(jù)其中無主機(jī)式虛擬器180被配置成支持動(dòng)態(tài)卷隧穿的一個(gè)實(shí)施例,圖解說明主機(jī)110和無主機(jī)式虛擬器180的操作的各個(gè)方面的流程圖。圖16中描述的前三個(gè)方框表示和圖15中所示的前三個(gè)方框類似的功能。即,無主機(jī)式虛擬器180可被配置成接收操作系統(tǒng)元數(shù)據(jù)要求(方框1605),產(chǎn)生無映射虛擬存儲(chǔ)裝置(例如VLUN)的操作系統(tǒng)元數(shù)據(jù)(方框1610),并使該元數(shù)據(jù)可被主機(jī)110訪問(方框1615)。存儲(chǔ)軟件棧的第一層,例如圖1b的磁盤驅(qū)動(dòng)器層114可被配置成在系統(tǒng)初始化或引導(dǎo)期間,使用O.S.元數(shù)據(jù)來檢測作為可尋址存儲(chǔ)裝置(例如作為LUN)的虛擬存儲(chǔ)裝置的存在(方框1620)。另外,無主機(jī)式虛擬器180可被配置成將位于一個(gè)或多個(gè)物理存儲(chǔ)裝置340的存儲(chǔ)空間聚合成一個(gè)邏輯卷(方框1625),并將該邏輯卷動(dòng)態(tài)地映射到在先前無映射的虛擬存儲(chǔ)裝置內(nèi)的一個(gè)地址范圍(方框1630)。無主機(jī)式虛擬器180還可被配置成將邏輯卷元數(shù)據(jù)提供給位于主機(jī)110的存儲(chǔ)軟件棧的第二層(例如中間驅(qū)動(dòng)器層113)(方框1635),允許所述第二層查找邏輯卷的塊的位置,并對(duì)邏輯卷進(jìn)行所需的I/O操作(方框1640)。
在各個(gè)實(shí)施例中,無主機(jī)式虛擬器180利用塊虛擬化實(shí)現(xiàn)眾多不同類型的存儲(chǔ)功能。例如,在一個(gè)實(shí)施例中,諸如邏輯卷之類的虛擬分塊裝置可實(shí)現(xiàn)裝置分條(數(shù)據(jù)塊要分布在多個(gè)物理或邏輯分塊裝置間),和/或裝置跨越(其中多個(gè)物理或邏輯分塊裝置可被結(jié)合成表現(xiàn)為單一的大型邏輯分塊裝置)。在一些實(shí)施例中,虛擬化分塊裝置中提供鏡像和其它形式的冗余數(shù)據(jù)存儲(chǔ),創(chuàng)建某一時(shí)刻的特定分塊裝置的快照或靜態(tài)圖像的能力,和/或在通過諸如局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)之類網(wǎng)絡(luò)連接的存儲(chǔ)系統(tǒng)是復(fù)制數(shù)據(jù)塊的能力。另外,在一些實(shí)施例中,虛擬化分塊裝置可實(shí)現(xiàn)某些性能優(yōu)化,例如負(fù)載分布,和/或虛擬裝置結(jié)構(gòu)的在線重組的各種能力,例如裝置間的在線數(shù)據(jù)遷移。在其它實(shí)施例中,一個(gè)或多個(gè)分塊裝置可被映射到特定的虛擬化分塊裝置,所述特定的虛擬化分塊裝置又可被映射到另一虛擬化分塊裝置,允許利用簡單的分塊裝置實(shí)現(xiàn)復(fù)雜的存儲(chǔ)功能。從而在一些實(shí)施例中,一個(gè)以上的虛擬化特征,例如分條和鏡像可在單一的虛擬分塊裝置內(nèi)被組合,創(chuàng)建一個(gè)邏輯分層的虛擬存儲(chǔ)裝置。
無主機(jī)式虛擬器180可單獨(dú)地,或者與一個(gè)或多個(gè)其它虛擬器,比如位于主機(jī)110的卷管理器或者其它無主機(jī)式虛擬器合作提供諸如虛擬化分塊裝置的配置管理和分塊裝置虛擬化的分布式協(xié)調(diào)之類的功能。例如,在兩個(gè)主機(jī)110共享的邏輯卷的重構(gòu)之后(例如,當(dāng)邏輯卷被擴(kuò)展時(shí),或者當(dāng)邏輯卷中加入新的鏡像時(shí)),無主機(jī)式虛擬器180可被配置成將指示所述重構(gòu)的元數(shù)據(jù)或卷描述分發(fā)給這兩個(gè)主機(jī)110。在一個(gè)實(shí)施例中,一旦所述卷描述已被提供給主機(jī),那么位于主機(jī)的存儲(chǔ)棧可被配置成按照卷描述,直接與各個(gè)存儲(chǔ)裝置34交互作用(即,利用卷描述將邏輯I/O請(qǐng)求變換成物理I/O請(qǐng)求)。對(duì)一個(gè)或多個(gè)虛擬裝置客戶機(jī),例如主機(jī)110分發(fā)作為卷的虛擬化分塊裝置可被稱為分布式塊虛擬化。
如前所述,在一些實(shí)施例中,例如可以在主機(jī)級(jí)別以及在脫離主機(jī)級(jí)別,比如在虛擬化交換機(jī)或者在虛擬化設(shè)備采用多層虛擬化。在這樣的實(shí)施例中,對(duì)于虛擬裝置消費(fèi)者,比如文件系統(tǒng)層112來說,虛擬化的一些方面是可見的,而其它方面可由脫離主機(jī)級(jí)別透明實(shí)現(xiàn)。此外,在一些多層實(shí)施例中,對(duì)于虛擬裝置消費(fèi)者來說,一個(gè)分塊裝置(例如一個(gè)卷)的虛假化細(xì)節(jié)是完全明確的(即,沒有在脫離主機(jī)級(jí)別的另外的虛擬化),而對(duì)于虛擬裝置消費(fèi)者來說,另一分塊裝置(例如另一卷)的虛擬化細(xì)節(jié)是部分或者完全透明的。
在一些實(shí)施例中,虛擬器,比如無主機(jī)式虛擬器180可被配置成將所有定義的邏輯卷分發(fā)給存在于系統(tǒng)內(nèi)的每個(gè)虛擬裝置客戶機(jī),例如主機(jī)110。這樣的實(shí)施例可被稱為對(duì)稱分布式塊虛擬化系統(tǒng)。在其它實(shí)施例中,特定的卷只可被分發(fā)給相應(yīng)的虛擬裝置消費(fèi)者或主機(jī),以致至少一個(gè)卷不為兩個(gè)虛擬裝置消費(fèi)者所共有。這樣的實(shí)施例可被稱為不對(duì)稱分布式塊虛擬化系統(tǒng)。
注意無主機(jī)式虛擬器180可以是在主機(jī)110外的能夠提供虛擬化功能,包括上面說明的PLUN隧穿和卷隧穿的任何類型的裝置。例如,無主機(jī)式虛擬器180可包括虛擬化交換機(jī),虛擬化設(shè)備,專用于提供塊虛擬化的特殊的附加主機(jī),或者配置成使用專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)技術(shù)來執(zhí)行提供塊虛擬化功能的嵌入式系統(tǒng)。圖17是圖解說明其中無主機(jī)式虛擬器180包含虛擬化交換機(jī)1710的一個(gè)實(shí)施例的方框圖,圖18是圖解說明其中無主機(jī)式虛擬器180包含虛擬化設(shè)備1810的另一實(shí)施例的方框圖。虛擬化交換機(jī)1710可以是除了提供光纖通道連接之外,還配置有足以進(jìn)行虛擬化功能的處理容量的智能光纖通道交換機(jī)。虛擬化設(shè)備1810是程控提供虛擬化功能,比如鏡像、分條、快照等的智能裝置。設(shè)備不同于通用計(jì)算機(jī),因?yàn)樵O(shè)備軟件通常是關(guān)于該設(shè)備專用于的功能(例如虛擬化)而定制的,由廠商預(yù)先安裝,并且用戶不易于修改。在一些實(shí)施例中,無主機(jī)式塊虛擬化可由一批協(xié)作裝置,比如兩個(gè)或更多的虛擬化交換機(jī),而不是由單個(gè)裝置提供??膳渲眠@樣的一批協(xié)作裝置,以便實(shí)現(xiàn)失效恢復(fù),即,備用的協(xié)作裝置可被配置成接管由發(fā)生故障的協(xié)作裝置支持的虛擬化功能。無主機(jī)式虛擬器180可包含一個(gè)或多個(gè)處理器,以及易失性和/或非易失性存儲(chǔ)器。在一些實(shí)施例中,與虛擬化相關(guān)的配置信息可被保存在與無主機(jī)式虛擬器180分離的數(shù)據(jù)庫中,并可由無主機(jī)式虛擬器通過網(wǎng)絡(luò)訪問。在一個(gè)實(shí)施例中,無主機(jī)式虛擬器是可編程和/或可配置的。無主機(jī)式虛擬器180的眾多其它配置也是可能的。
圖19是根據(jù)一個(gè)實(shí)施例,圖解說明例證的主機(jī)110的方框圖。主機(jī)110可以是能夠支持上面說明的存儲(chǔ)軟件棧140B的任何計(jì)算機(jī)系統(tǒng),例如包含一個(gè)或多個(gè)處理器1910和一個(gè)或多個(gè)內(nèi)存1920的服務(wù)器。如圖所示,主機(jī)110可包括一個(gè)或多個(gè)本地存儲(chǔ)裝置1930(例如磁盤),以及提供到互連130的接口的一個(gè)或多個(gè)網(wǎng)絡(luò)接口1940。存儲(chǔ)軟件棧140B的多個(gè)部分可駐留在內(nèi)存1920中,并可根據(jù)需要從存儲(chǔ)裝置1930裝入內(nèi)存1920中。在一些實(shí)施例中,主機(jī)110還可以是無磁盤的計(jì)算機(jī),所述無磁盤的計(jì)算機(jī)被配置成從遠(yuǎn)程位置訪問存儲(chǔ)器,而不是利用本地存儲(chǔ)裝置1930。在不同的實(shí)施例中,各種其它組件,比如視頻卡、監(jiān)視器、鼠標(biāo)等也可被包含在主機(jī)110內(nèi)。在主機(jī)110上可使用任何所需的操作系統(tǒng),包括各種版本的MicrosoftWindowsTM,Sun Microsystems的SolarisTM,各種版本的Linux,基于UNIX的其它操作系統(tǒng)等。在一些實(shí)施例中,中間驅(qū)動(dòng)器層113可被包含在卷管理器內(nèi)。
圖20是圖解說明計(jì)算機(jī)可訪問介質(zhì)2000的方框圖,所述計(jì)算機(jī)可訪問介質(zhì)2000包含能夠提供上面所述的無主機(jī)式虛擬器180和塊存儲(chǔ)軟件棧140B的功能的虛擬化軟件2010??衫酶鞣N計(jì)算機(jī)可訪問介質(zhì),包括電介質(zhì)(例如快擦寫存儲(chǔ)器),磁介質(zhì),比如RAM(例如SDRAM、RDRAM、SRAM等),光學(xué)存儲(chǔ)介質(zhì),比如CD-ROM等,以及通過通信介質(zhì),比如網(wǎng)絡(luò)和/或無線鏈路傳送的傳輸介質(zhì)或信號(hào),比如電信號(hào)、電磁信號(hào)或數(shù)字信號(hào)將虛擬化軟件2010提供給計(jì)算機(jī)系統(tǒng)。
雖然相當(dāng)詳細(xì)地說明了上面的實(shí)施例,不過一旦充分理解上面的公開內(nèi)容,那么對(duì)本領(lǐng)域的技術(shù)人員來說,各種變化和修改將變得明顯。下面的權(quán)利要求意圖包含所有這樣的變化和修改。
權(quán)利要求
1.一種系統(tǒng)包括第一主機(jī);和無主機(jī)式虛擬器;其中所述無主機(jī)式虛擬器被配置成為第一虛擬存儲(chǔ)裝置產(chǎn)生第一操作系統(tǒng)元數(shù)據(jù);使所述第一操作系統(tǒng)元數(shù)據(jù)可被所述第一主機(jī)訪問;其中所述第一主機(jī)包括存儲(chǔ)軟件棧,所述存儲(chǔ)軟件棧包括第一層;其中所述第一層被配置成使用所述第一操作系統(tǒng)元數(shù)據(jù),檢測作為第一可尋址存儲(chǔ)裝置的第一虛擬存儲(chǔ)裝置的存在。
2.按照權(quán)利要求1所述的系統(tǒng),其中所述無主機(jī)式虛擬器還被配置成響應(yīng)在所述第一主機(jī)中使用的特定操作系統(tǒng)的要求,定制操作系統(tǒng)元數(shù)據(jù)。
3.按照權(quán)利要求2所述的系統(tǒng),其中所述第一主機(jī)被配置成將特定操作系統(tǒng)的要求提供給所述無主機(jī)式虛擬器。
4.按照權(quán)利要求1所述的系統(tǒng),還包括存儲(chǔ)裝置,其中所述第一可尋址存儲(chǔ)裝置是所述存儲(chǔ)裝置的一個(gè)分區(qū)。
5.按照權(quán)利要求1所述的系統(tǒng),還包括一個(gè)或多個(gè)物理存儲(chǔ)裝置,其中所述存儲(chǔ)軟件棧包括第二層,其中所述無主機(jī)式虛擬器還被配置成將一個(gè)或多個(gè)物理存儲(chǔ)裝置內(nèi)的存儲(chǔ)空間聚合成一個(gè)邏輯卷;將所述邏輯卷映射到第一虛擬存儲(chǔ)裝置的地址空間;向所述存儲(chǔ)軟件棧的第二層提供邏輯卷的邏輯卷元數(shù)據(jù);其中所述存儲(chǔ)軟件棧的第二層被配置成使用邏輯卷元數(shù)據(jù)來訪問所述邏輯卷,以便進(jìn)行I/O操作。
6.按照權(quán)利要求1所述的系統(tǒng),其中所述第一虛擬存儲(chǔ)裝置是虛擬邏輯單元(LUN)。
7.按照權(quán)利要求1所述的系統(tǒng),其中所述無主機(jī)式虛擬器包括虛擬化交換機(jī)。
8.按照權(quán)利要求1所述的系統(tǒng),其中所述無主機(jī)式虛擬器包括虛擬化設(shè)備。
9.按照權(quán)利要求1所述的系統(tǒng),其中所述第一虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間。
10.按照權(quán)利要求9所述的系統(tǒng),還包括兩個(gè)或更多的物理存儲(chǔ)裝置,其中所述無主機(jī)式虛擬器還被配置成將兩個(gè)或者更多的物理存儲(chǔ)裝置中的每個(gè)物理存儲(chǔ)裝置動(dòng)態(tài)地映射到所述第一虛擬存儲(chǔ)裝置內(nèi)的相應(yīng)地址范圍。
11.按照權(quán)利要求9所述的系統(tǒng),還包括物理存儲(chǔ)裝置和第二主機(jī),其中所述無主機(jī)式虛擬器還被配置成為第二虛擬存儲(chǔ)裝置產(chǎn)生第二操作系統(tǒng)元數(shù)據(jù),其中所述第二虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間;和使所述第二操作系統(tǒng)元數(shù)據(jù)可被所述第二主機(jī)訪問;其中所述第二主機(jī)包括第二存儲(chǔ)軟件棧,所述第二存儲(chǔ)軟件棧包括第一層;其中所述第二存儲(chǔ)軟件棧的第一層被配置成使用第二操作系統(tǒng)元數(shù)據(jù),檢測作為第二可尋址存儲(chǔ)裝置的第二虛擬存儲(chǔ)裝置的存在;其中所述無主機(jī)式虛擬器還被配置成將所述物理存儲(chǔ)裝置的第一物理地址范圍動(dòng)態(tài)地映射到所述第一虛擬存儲(chǔ)裝置內(nèi)的第一虛擬地址范圍;將所述物理存儲(chǔ)裝置的第二物理地址范圍動(dòng)態(tài)地映射到所述第二虛擬存儲(chǔ)裝置內(nèi)的第二虛擬地址范圍;和阻止所述第一主機(jī)對(duì)所述第二物理地址范圍的訪問。
12.按照權(quán)利要求9所述的系統(tǒng),還包括第一物理存儲(chǔ)裝置,其中所述存儲(chǔ)軟件棧包括第二層,其中所述無主機(jī)式虛擬器還被配置成將所述第一物理存儲(chǔ)裝置內(nèi)的第一范圍的物理存儲(chǔ)空間聚合成第一邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第一范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第一邏輯卷;和將所述第一邏輯卷的第一邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;其中所述存儲(chǔ)軟件棧的第二層被配置成使用所述第一邏輯卷元數(shù)據(jù)來訪問所述第一邏輯卷,以便進(jìn)行I/O操作。
13.按照權(quán)利要求12所述的系統(tǒng),其中所述無主機(jī)式虛擬器還被配置成將所述第一物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第二范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第二邏輯卷;和將所述第二邏輯卷的另外的邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;其中所述存儲(chǔ)軟件棧的第二層被配置成使用所述另外的邏輯卷元數(shù)據(jù)來訪問所述第二邏輯卷,以便進(jìn)行I/O操作。
14.按照權(quán)利要求12所述的系統(tǒng),還包括第二主機(jī),其中所述無主機(jī)式虛擬器還被配置成為第二虛擬存儲(chǔ)裝置產(chǎn)生第二操作系統(tǒng)元數(shù)據(jù),其中所述第二虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間;使所述第二操作系統(tǒng)元數(shù)據(jù)可被所述第二主機(jī)訪問;將所述第一物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;和將所述第二邏輯卷的第二邏輯卷元數(shù)據(jù)提供給所述第二主機(jī);其中所述第二主機(jī)包括第二存儲(chǔ)軟件棧,所述第二存儲(chǔ)軟件棧包括第一層和第二層,其中所述第二軟件棧的第一層被配置成使用所述第二操作系統(tǒng)元數(shù)據(jù),檢測作為第二可尋址存儲(chǔ)裝置的所述第二虛擬存儲(chǔ)裝置的存在,和其中所述第二軟件棧的第二層被配置成使用所述第二邏輯卷元數(shù)據(jù)來訪問所述第二邏輯卷,以便進(jìn)行I/O操作。
15.按照權(quán)利要求14所述的系統(tǒng),其中所述無主機(jī)式虛擬器還被配置成防止所述第二主機(jī)對(duì)所述第一邏輯卷進(jìn)行I/O操作。
16.按照權(quán)利要求14所述的系統(tǒng),其中所述第一主機(jī)可通過第一存儲(chǔ)網(wǎng)絡(luò)訪問所述第一可尋址存儲(chǔ)裝置,所述第二主機(jī)可通過第二存儲(chǔ)網(wǎng)絡(luò)訪問所述第二可尋址存儲(chǔ)裝置。
17.按照權(quán)利要求12所述的系統(tǒng),還包括第二主機(jī)和第二物理存儲(chǔ)裝置,其中所述無主機(jī)式虛擬器還被配置成為第二虛擬存儲(chǔ)裝置產(chǎn)生第二操作系統(tǒng)元數(shù)據(jù),其中所述第二虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間;使所述第二操作系統(tǒng)元數(shù)據(jù)可被所述第二主機(jī)訪問;將所述第二物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第二范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第二邏輯卷;和將所述第二邏輯卷的第二邏輯卷元數(shù)據(jù)提供給所述第二主機(jī);其中所述第二主機(jī)包括第二存儲(chǔ)軟件棧,所述第二存儲(chǔ)軟件棧包括第一層和第二層,其中所述第二軟件棧的第一層被配置成使用第二操作系統(tǒng)元數(shù)據(jù),檢測作為第二可尋址存儲(chǔ)裝置的所述第二虛擬存儲(chǔ)裝置的存在,和其中所述第二軟件棧的第二層被配置成使用所述第二邏輯卷元數(shù)據(jù)來訪問所述第二邏輯卷,以便進(jìn)行I/O操作;其中所述第一主機(jī)可通過第一存儲(chǔ)網(wǎng)絡(luò)訪問所述第一可尋址存儲(chǔ)裝置,所述第二主機(jī)可通過第二存儲(chǔ)網(wǎng)絡(luò)訪問所述第二可尋址存儲(chǔ)裝置,所述無主機(jī)式虛擬器可通過第三存儲(chǔ)網(wǎng)絡(luò)訪問所述第一物理存儲(chǔ)裝置,所述無主機(jī)式虛擬器可通過第四存儲(chǔ)網(wǎng)絡(luò)訪問所述第二物理存儲(chǔ)裝置。
18.按照權(quán)利要求17所述的系統(tǒng),其中所述第一、第二、第三和第四存儲(chǔ)網(wǎng)絡(luò)均包括可獨(dú)立配置的光纖通道架構(gòu)。
19.按照權(quán)利要求1所述的系統(tǒng),其中所述存儲(chǔ)軟件棧包括第二層,還包括第一和第二物理存儲(chǔ)裝置,其中所述無主機(jī)式虛擬器還被配置成將所述第一物理存儲(chǔ)裝置內(nèi)的第一范圍的存儲(chǔ)空間和所述第二物理存儲(chǔ)裝置內(nèi)的第二范圍的存儲(chǔ)空間聚合成單個(gè)邏輯卷;和將所述單個(gè)邏輯卷的邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;其中所述存儲(chǔ)軟件棧的第二層被配置成使用所述邏輯卷元數(shù)據(jù)來訪問所述單個(gè)邏輯卷,以便進(jìn)行I/O操作。
20.一種可為存儲(chǔ)裝置產(chǎn)生操作系統(tǒng)元數(shù)據(jù)的虛擬器,其中所述操作系統(tǒng)元數(shù)據(jù)仿真宿流在特定操作系統(tǒng)下的存儲(chǔ)卷。
21.一種方法,包括為第一虛擬存儲(chǔ)裝置產(chǎn)生第一操作系統(tǒng)元數(shù)據(jù);使所述第一虛擬存儲(chǔ)裝置的第一操作系統(tǒng)元數(shù)據(jù)可被第一主機(jī)訪問;在所述第一主機(jī)的存儲(chǔ)軟件棧的第一層中使用第一操作系統(tǒng)元數(shù)據(jù),檢測作為第一可尋址存儲(chǔ)裝置的所述第一虛擬存儲(chǔ)裝置的存在。
22.按照權(quán)利要求21所述的方法,還包括響應(yīng)在所述第一主機(jī)使用的特定操作系統(tǒng)的要求,定制操作系統(tǒng)元數(shù)據(jù)。
23.按照權(quán)利要求21所述的方法,其中所述第一虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間。
24.按照權(quán)利要求23所述的方法,還包括將第一和第二物理存儲(chǔ)裝置動(dòng)態(tài)地映射到第一虛擬存儲(chǔ)裝置內(nèi)的相應(yīng)地址范圍。
25.按照權(quán)利要求23所述的方法,還包括將所述第一物理存儲(chǔ)裝置內(nèi)的第一范圍的物理存儲(chǔ)空間聚合成第一邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第一范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第一邏輯卷;將所述第一邏輯卷的第一邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;和從所述存儲(chǔ)軟件棧的第二層使用第一邏輯卷元數(shù)據(jù)來訪問所述第一邏輯卷,以便進(jìn)行I/O操作。
26.按照權(quán)利要求25所述的方法,還包括將所述第一物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第二范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第二邏輯卷;將所述第二邏輯卷的另外的邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;和在所述存儲(chǔ)軟件棧的第二層使用所述另外的邏輯卷元數(shù)據(jù)來訪問第二邏輯卷,以便進(jìn)行I/O操作。
27.按照權(quán)利要求25所述的方法,還包括為第二虛擬存儲(chǔ)裝置產(chǎn)生第二操作系統(tǒng)元數(shù)據(jù),其中所述第二虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間;使所述第二操作系統(tǒng)元數(shù)據(jù)可被第二主機(jī)訪問;在所述第二主機(jī)的存儲(chǔ)軟件棧的第一層中使用所述第二操作系統(tǒng)元數(shù)據(jù),檢測作為第二可尋址存儲(chǔ)裝置的所述第二虛擬存儲(chǔ)裝置的存在,將所述第一物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;將所述第二虛擬存儲(chǔ)裝置內(nèi)的第二范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第二邏輯卷;將所述第二邏輯卷的第二邏輯卷元數(shù)據(jù)提供給在所述第二主機(jī)的存儲(chǔ)軟件棧的第二層;和從在所述第二主機(jī)上的存儲(chǔ)軟件棧的第二層使用所述第二邏輯卷元數(shù)據(jù)來訪問所述第二邏輯卷,以便進(jìn)行I/O操作。
28.按照權(quán)利要求27所述的方法,還包括阻止所述第二主機(jī)對(duì)所述第一邏輯卷進(jìn)行I/O操作。
29.按照權(quán)利要求25所述的方法,還包括為第二虛擬存儲(chǔ)裝置產(chǎn)生第二操作系統(tǒng)元數(shù)據(jù),其中所述第二虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間;使所述第二操作系統(tǒng)元數(shù)據(jù)可被第二主機(jī)訪問;在所述第二主機(jī)的存儲(chǔ)軟件棧的第一層中使用第二操作系統(tǒng)元數(shù)據(jù),檢測作為第二可尋址存儲(chǔ)裝置的所述第二虛擬存儲(chǔ)裝置的存在,在無主機(jī)式虛擬器中,將第二物理存儲(chǔ)裝置內(nèi)的第二范圍的物理存儲(chǔ)空間聚合成第二邏輯卷;將所述第二虛擬存儲(chǔ)裝置內(nèi)的第二范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第二邏輯卷;將所述第二邏輯卷的第二邏輯卷元數(shù)據(jù)提供給在所述第二主機(jī)中的存儲(chǔ)軟件棧的第二層;和從在所述第二主機(jī)中的存儲(chǔ)軟件棧的第二層,使用所述第二邏輯卷元數(shù)據(jù)來訪問第二邏輯卷,以便進(jìn)行I/O操作;其中第一范圍的物理存儲(chǔ)空間被無主機(jī)式虛擬器聚合成第一邏輯卷;和其中所述第一主機(jī)可通過第一存儲(chǔ)網(wǎng)絡(luò)訪問所述第一可尋址存儲(chǔ)裝置,所述第二主機(jī)可通過第二存儲(chǔ)網(wǎng)絡(luò)訪問所述第二可尋址存儲(chǔ)裝置,無主機(jī)式虛擬器可通過第三存儲(chǔ)網(wǎng)絡(luò)訪問所述第一物理存儲(chǔ)裝置,所述無主機(jī)式虛擬器可通過第四存儲(chǔ)網(wǎng)絡(luò)訪問所述第二物理存儲(chǔ)裝置。
30.按照權(quán)利要求29所述的方法,其中所述第一、第二、第三和第四存儲(chǔ)網(wǎng)絡(luò)均包括可獨(dú)立配置的光纖通道架構(gòu)。
31.按照權(quán)利要求23所述的方法,還包括將第一物理存儲(chǔ)裝置內(nèi)的第一范圍的存儲(chǔ)空間和第二物理存儲(chǔ)裝置內(nèi)的第二范圍的存儲(chǔ)空間聚合成單個(gè)邏輯卷;將所述虛擬存儲(chǔ)裝置內(nèi)的一段虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到第二邏輯卷;將所述單個(gè)邏輯卷的邏輯卷元數(shù)據(jù)提供給所述存儲(chǔ)軟件棧的第二層;和從所述存儲(chǔ)軟件棧的第二層使用所述邏輯卷元數(shù)據(jù)來訪問所述單個(gè)邏輯卷,以便進(jìn)行I/O操作。
32.一種包括程序指令的計(jì)算機(jī)可訪問介質(zhì),其中所述指令可被執(zhí)行,從而為第一虛擬存儲(chǔ)裝置產(chǎn)生第一操作系統(tǒng)元數(shù)據(jù);使所述第一虛擬存儲(chǔ)裝置的第一操作系統(tǒng)元數(shù)據(jù)可被第一主機(jī)訪問;在所述第一主機(jī)的存儲(chǔ)軟件棧的第一層中使用所述第一操作系統(tǒng)元數(shù)據(jù),檢測作為第一可尋址存儲(chǔ)裝置的所述第一虛擬存儲(chǔ)裝置的存在。
33.按照權(quán)利要求32所述的計(jì)算機(jī)可訪問介質(zhì),其中所述指令還可被執(zhí)行,從而響應(yīng)在所述第一主機(jī)使用的特定操作系統(tǒng)的要求,定制操作系統(tǒng)元數(shù)據(jù)。
34.按照權(quán)利要求32所述的計(jì)算機(jī)可訪問介質(zhì),其中所述第一虛擬存儲(chǔ)裝置未被映射到物理存儲(chǔ)空間。
35.按照權(quán)利要求34所述的計(jì)算機(jī)可訪問介質(zhì),其中所述指令還可被執(zhí)行,從而將第一和第二物理存儲(chǔ)裝置映射到所述第一虛擬存儲(chǔ)裝置內(nèi)的相應(yīng)地址范圍。
36.按照權(quán)利要求34所述的計(jì)算機(jī)可訪問介質(zhì),其中所述指令還可被執(zhí)行,從而將第一物理存儲(chǔ)裝置內(nèi)的第一范圍的物理存儲(chǔ)空間聚合成第一邏輯卷;將所述第一虛擬存儲(chǔ)裝置內(nèi)的第一范圍的虛擬存儲(chǔ)空間動(dòng)態(tài)地映射到所述第一邏輯卷;將所述第一邏輯卷的第一邏輯卷元數(shù)據(jù)提供給存儲(chǔ)軟件棧的第二層;和從所述存儲(chǔ)軟件棧的第二層使用所述第一邏輯卷元數(shù)據(jù)來訪問所述第一邏輯卷,以便進(jìn)行I/O操作。
全文摘要
仿真操作系統(tǒng)元數(shù)據(jù),從而提供對(duì)存儲(chǔ)卷的跨平臺(tái)訪問的系統(tǒng)和方法可包括第一主機(jī)和一個(gè)無主機(jī)式虛擬器。無主機(jī)式虛擬器被配置成產(chǎn)生第一虛擬存儲(chǔ)裝置,例如虛擬LUN的操作系統(tǒng)元數(shù)據(jù),并使該操作系統(tǒng)元數(shù)據(jù)可被第一主機(jī)訪問??筛鶕?jù)在第一主機(jī)使用的操作系統(tǒng)的要求定制元數(shù)據(jù)。第一主機(jī)可包括存儲(chǔ)軟件棧,所述存儲(chǔ)軟件棧包括第一層,所述第一層被配置成使用操作系統(tǒng)元數(shù)據(jù)檢測作為可尋址存儲(chǔ)裝置的第一虛擬存儲(chǔ)裝置的存在。
文檔編號(hào)G06F3/06GK1906569SQ200480040583
公開日2007年1月31日 申請(qǐng)日期2004年11月22日 優(yōu)先權(quán)日2003年11月26日
發(fā)明者羅納爾德·S.·卡爾, 歐萊格·吉塞萊弗, 艾里克斯·米羅斯克尼切科, 阿爾加亞·孔 申請(qǐng)人:維瑞泰斯操作公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
兴山县| 和政县| 汶川县| 华阴市| 南投市| 大厂| 彭州市| 黄冈市| 乌拉特后旗| 乌拉特中旗| 临漳县| 桐城市| 搜索| 彩票| 海口市| 荥经县| 绿春县| 兴安县| 安西县| 昌都县| 门头沟区| 铁岭市| 手游| 襄樊市| 锦屏县| 衢州市| 淄博市| 永宁县| 商都县| 汉寿县| 嘉义县| 乌苏市| 壶关县| 新宾| 阜平县| 康乐县| 扎兰屯市| 汕头市| 屏东市| 望都县| 铜鼓县|