亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

鏡像網(wǎng)絡(luò)數(shù)據(jù)以建立虛擬存儲區(qū)域網(wǎng)絡(luò)的制作方法

文檔序號:6423620閱讀:199來源:國知局
專利名稱:鏡像網(wǎng)絡(luò)數(shù)據(jù)以建立虛擬存儲區(qū)域網(wǎng)絡(luò)的制作方法
發(fā)明
背景技術(shù)
1.發(fā)明領(lǐng)域這個發(fā)明涉及網(wǎng)絡(luò)服務(wù)器計算機(jī)系統(tǒng),并且尤其涉及對在一系統(tǒng)中用于從計算機(jī)故障中恢復(fù)的方法的改進(jìn),其中該系統(tǒng)提供了一個虛擬存儲區(qū)域網(wǎng)絡(luò),在該網(wǎng)絡(luò)中多個服務(wù)器計算機(jī)存取相同的網(wǎng)絡(luò)數(shù)據(jù)。
2.背景和相關(guān)技術(shù)在網(wǎng)絡(luò)服務(wù)器計算機(jī)系統(tǒng)中,有通常由兩個或更多服務(wù)器支持的多個個人計算機(jī)或者用戶工作站。為了提供這些計算機(jī)系統(tǒng)的連續(xù)操作,有必要使計算機(jī)系統(tǒng)提供一種用于克服在網(wǎng)絡(luò)服務(wù)器計算機(jī)系統(tǒng)內(nèi)經(jīng)常發(fā)生的錯誤(faults)和故障(failures)的方法。這通常通過這樣來實(shí)現(xiàn)具有冗余的計算機(jī)和大容量存儲設(shè)備,以便如果發(fā)生主要服務(wù)器計算機(jī)或者磁盤驅(qū)動器的錯誤或者故障,則備份服務(wù)器計算機(jī)或者磁盤驅(qū)動器立即可用于接管。
在Major等人的美國專利5,157,663中描述了一種用于實(shí)現(xiàn)容錯計算機(jī)系統(tǒng)的技術(shù)。尤其是,Major提供了一種能夠從一個文件服務(wù)器的計算機(jī)或者大容量存儲設(shè)備的故障中恢復(fù)的冗余網(wǎng)絡(luò)文件服務(wù)器系統(tǒng)。文件服務(wù)器操作系統(tǒng)運(yùn)行在網(wǎng)絡(luò)文件服務(wù)器中的每個計算機(jī)系統(tǒng)上,并且每個計算機(jī)系統(tǒng)協(xié)調(diào)操作以產(chǎn)生冗余網(wǎng)絡(luò)文件服務(wù)器。這種技術(shù)已經(jīng)被UT Provo的Novell使用以實(shí)現(xiàn)它的SFT-III容錯文件服務(wù)器產(chǎn)品。
近年來,已經(jīng)發(fā)展了被稱為“存儲區(qū)域網(wǎng)絡(luò)”的容錯網(wǎng)絡(luò)。存儲區(qū)域網(wǎng)絡(luò)(“SAN”)用一個公用的或者共享的存儲節(jié)點(diǎn)連接一企業(yè)網(wǎng)中的多個服務(wù)器以存儲和存取網(wǎng)絡(luò)數(shù)據(jù)。在服務(wù)器其中之一發(fā)生故障的情況下,另一個服務(wù)器能夠執(zhí)行否則將由發(fā)生故障的(failed)服務(wù)器提供的網(wǎng)絡(luò)服務(wù)。


圖1說明了一個包含常規(guī)的存儲區(qū)域網(wǎng)絡(luò)的網(wǎng)絡(luò)系統(tǒng)的典型體系結(jié)構(gòu)。圖1說明了三個為網(wǎng)絡(luò)101提供網(wǎng)絡(luò)服務(wù)的服務(wù)器計算機(jī)110、120、和130。盡管在圖1中說明了三個服務(wù)器,但是網(wǎng)絡(luò)101可以包含兩個服務(wù)器或比圖1中所示更多的服務(wù)器。服務(wù)器計算機(jī)的這個可變數(shù)目取決于正在被服務(wù)的網(wǎng)絡(luò)的個別需要。例如,大的機(jī)構(gòu)可能要求使用幾個服務(wù)器計算機(jī),而較小的機(jī)構(gòu)可能僅僅要求兩個服務(wù)器計算機(jī)。
在這個配置中,用戶工作站(或者個人計算機(jī))102連接到網(wǎng)絡(luò)101,并且能訪問服務(wù)器計算機(jī)110、120、和130。每個用戶工作站通常與一特定服務(wù)器計算機(jī)有關(guān),但是,在包含存儲區(qū)域網(wǎng)絡(luò)的網(wǎng)絡(luò)系統(tǒng)中,任一服務(wù)器實(shí)質(zhì)上能夠在需要時為任一工作站提供任何網(wǎng)絡(luò)服務(wù)。用戶在用戶工作站102處發(fā)布對諸如讀、寫等操作的請求,該請求被傳輸?shù)较嚓P(guān)的服務(wù)器計算機(jī)110、120、或者130,然后由該相關(guān)的服務(wù)器計算機(jī)使用I/O驅(qū)動器113、123、和133執(zhí)行所請求的操作。服務(wù)器110、120、和130在保存在共享存儲節(jié)點(diǎn)140的磁盤142中的網(wǎng)絡(luò)數(shù)據(jù)上執(zhí)行數(shù)據(jù)操作。根據(jù)如下所述的管轄(policing)協(xié)議,每個服務(wù)器110、120、和130能訪問存儲在共享存儲節(jié)點(diǎn)140處的任何網(wǎng)絡(luò)數(shù)據(jù)。圖1中的存儲區(qū)域網(wǎng)絡(luò)包含物理通信基礎(chǔ)結(jié)構(gòu)、和允許服務(wù)器計算機(jī)110、120、和130與共享存儲節(jié)點(diǎn)140操作的協(xié)議。
每個服務(wù)器計算機(jī)包含表示管轄協(xié)議模塊111、121、131的軟件,上述管轄協(xié)議模塊與其它服務(wù)器計算機(jī)的管轄協(xié)議模塊協(xié)同操作以實(shí)現(xiàn)一種管轄協(xié)議。管轄協(xié)議通過控制所請求操作的操作防止數(shù)據(jù)損壞。例如,由模塊111、121、和131實(shí)現(xiàn)的管轄協(xié)議可以允許服務(wù)器在任何時候?qū)ψx操作請求做出響應(yīng),但是可能僅僅每次允許一個服務(wù)器計算機(jī)執(zhí)行寫操作請求。
SAN的一個優(yōu)點(diǎn)是所有服務(wù)器計算機(jī)能通過共享的存儲節(jié)點(diǎn)訪問所有網(wǎng)絡(luò)數(shù)據(jù)。如果一個服務(wù)器經(jīng)歷故障,則工作站能夠繞過(bypass)發(fā)生故障的服務(wù)器,并且向其它服務(wù)器發(fā)布操作請求。共享的存儲節(jié)點(diǎn)免除了對在與不同服務(wù)器有關(guān)的多個存儲節(jié)點(diǎn)之間鏡像(mirroring)數(shù)據(jù)的需要。然而,存儲區(qū)域網(wǎng)絡(luò)具有至少兩個值得注意的不利條件(liability)防止它們在市場中變得完全被接受,和使它們不適于許多客戶。
首先,SAN要求專門的硬件、即共享的存儲節(jié)點(diǎn)。存儲區(qū)域網(wǎng)絡(luò)的許多潛在用戶發(fā)現(xiàn)購買和維護(hù)一個共享存儲節(jié)點(diǎn)的費(fèi)用價格過高。實(shí)際上,SAN的許多用戶是具有相對大的、有大量服務(wù)器的網(wǎng)絡(luò)的大公司或者其它企業(yè)。僅僅需要兩或三個服務(wù)器的企業(yè)可能不會發(fā)現(xiàn)實(shí)現(xiàn)存儲區(qū)域網(wǎng)絡(luò)是節(jié)省成本的。
其次,盡管SAN能容忍網(wǎng)絡(luò)服務(wù)器故障,但是它們不是很適于響應(yīng)或者保護(hù)免受其它硬件故障。例如,由于存儲區(qū)域網(wǎng)絡(luò)使用單個共享的存儲節(jié)點(diǎn),所以與共享存儲節(jié)點(diǎn)有關(guān)的任何故障或者問題能夠使SAN離線,并且還可能丟失保存在共享存儲節(jié)點(diǎn)中的數(shù)據(jù)。因此,基本的SAN配置沒有提供高度的數(shù)據(jù)完整性,并且在其中數(shù)據(jù)丟失的風(fēng)險不可接受的機(jī)構(gòu)中可能不被接受。
發(fā)明概述本發(fā)明涉及提供虛擬存儲區(qū)域網(wǎng)絡(luò)而不使用一個物理的共享存儲節(jié)點(diǎn)的計算機(jī)網(wǎng)絡(luò)。依據(jù)本發(fā)明,網(wǎng)絡(luò)包含兩個或更多服務(wù)器,其中每個服務(wù)器具有它自己的用于存儲網(wǎng)絡(luò)數(shù)據(jù)的磁盤。在下面的討論中,考慮了具有兩個服務(wù)器的網(wǎng)絡(luò)。然而,關(guān)于兩個服務(wù)器描述的原理能夠被推廣到具有兩個以上的服務(wù)器的網(wǎng)絡(luò)。
當(dāng)在網(wǎng)絡(luò)中的一個用戶工作站發(fā)布一個寫操作請求到服務(wù)器中的一個時,接收請求的服務(wù)器在它的磁盤處執(zhí)行寫操作,并且使用一個鏡像引擎和一個專用的鏈路以傳輸該寫操作請求到其它服務(wù)器。在接收了被鏡像的(mirrored)寫操作請求后,其它服務(wù)器在它的磁盤處執(zhí)行寫操作。這樣,寫入到一個服務(wù)器的磁盤的數(shù)據(jù)還被寫入到另一個服務(wù)器的磁盤,由此使網(wǎng)絡(luò)數(shù)據(jù)被鏡像和存儲在兩個磁盤處。
由于相同的網(wǎng)絡(luò)數(shù)據(jù)存在于兩個服務(wù)器的磁盤上,所以任何一個服務(wù)器都能夠?qū)碜匀我挥脩艄ぷ髡镜淖x操作請求做出響應(yīng)。在每個服務(wù)器處的管轄協(xié)議模塊協(xié)同操作以實(shí)現(xiàn)一種管轄協(xié)議,其調(diào)整每個服務(wù)器訪問網(wǎng)絡(luò)數(shù)據(jù)的定時和優(yōu)先級。例如,管轄協(xié)議能夠指定每次只有一個服務(wù)器能夠在網(wǎng)絡(luò)數(shù)據(jù)的特定部分上執(zhí)行寫請求,由此防止數(shù)據(jù)崩潰。
由于數(shù)據(jù)被鏡像和存儲在網(wǎng)絡(luò)中的每個服務(wù)器的磁盤處,所以網(wǎng)絡(luò)能夠很容易容忍服務(wù)器其中之一的故障。例如,如果第一個服務(wù)器經(jīng)歷了故障,則其它服務(wù)器能訪問存儲在它的磁盤處的所有網(wǎng)絡(luò)數(shù)據(jù),并且它能夠使用它自己的磁盤服務(wù)于所有操作請求。由于相同的網(wǎng)絡(luò)數(shù)據(jù)被存儲在網(wǎng)絡(luò)中的每個服務(wù)器的磁盤處,所以從服務(wù)器的立場來看,數(shù)據(jù)好象是已經(jīng)被保存在一個共享的存儲節(jié)點(diǎn)中了。因此,本發(fā)明提供了一個虛擬存儲區(qū)域網(wǎng)絡(luò),其以類似于實(shí)際存儲區(qū)域網(wǎng)絡(luò)對故障做出響應(yīng)的方式來響應(yīng)網(wǎng)絡(luò)服務(wù)器的操作請求和故障,是由于每個服務(wù)器能立即存取所有網(wǎng)絡(luò)數(shù)據(jù)。
和常規(guī)的存儲區(qū)域網(wǎng)絡(luò)相比,本發(fā)明中的虛擬存儲區(qū)域網(wǎng)絡(luò)和虛擬共享存儲節(jié)點(diǎn)具有重要的優(yōu)點(diǎn)。例如,本發(fā)明中的網(wǎng)絡(luò)不要求物理的共享存儲節(jié)點(diǎn)。因此,與常規(guī)的存儲區(qū)域網(wǎng)絡(luò)有關(guān)的大部分成本被除去了。操作本發(fā)明中的網(wǎng)絡(luò)的降低了的成本使它們可兼容于甚至只具有兩個服務(wù)器的網(wǎng)絡(luò)的企業(yè)。
此外,在多個服務(wù)器的磁盤中鏡像和存儲相同的網(wǎng)絡(luò)數(shù)據(jù),和使用一個物理的共享存儲節(jié)點(diǎn)相對比,導(dǎo)致本發(fā)明中的網(wǎng)絡(luò)顯著地比常規(guī)的存儲區(qū)域網(wǎng)絡(luò)更能容忍磁盤故障。例如,如果依據(jù)本發(fā)明操作的網(wǎng)絡(luò)中的一個服務(wù)器的磁盤發(fā)生故障,則在該網(wǎng)絡(luò)中的其它服務(wù)器的磁盤將在其上存儲所有網(wǎng)絡(luò)數(shù)據(jù)。相反,如果常規(guī)的存儲區(qū)域網(wǎng)絡(luò)的物理共享存儲節(jié)點(diǎn)發(fā)生故障,則存儲在其上的數(shù)據(jù)會丟失,或者至少該數(shù)據(jù)將暫時不可存取。
本發(fā)明另外的特征和優(yōu)點(diǎn)將在隨后的說明書中進(jìn)行闡述,而且在某種程度上來說從該說明書中是很顯而易見的,或是可以通過本發(fā)明的實(shí)踐得知。本發(fā)明的特征和優(yōu)點(diǎn)可以借助于在附加權(quán)利要求中特別指出的裝置和組合而實(shí)現(xiàn)和獲得。本發(fā)明的這些及其它特征通過下列的描述和附加權(quán)利要求將變得更充分明顯,或者可以如在下文中闡述的那樣從本發(fā)明的實(shí)踐中得知。
附圖簡要說明為了描述能夠獲得本發(fā)明中的以上列舉的及其它優(yōu)點(diǎn)和特征的方式,將參考在附圖中說明的它的具體實(shí)施例描寫以上簡要描述的本發(fā)明的更特定的描述。明白了這些附圖僅僅描述了本發(fā)明的典型實(shí)施例、并且因此不被認(rèn)為限制了它的范圍后,將通過使用附圖用另外的特殊性和細(xì)節(jié)描述和解釋本發(fā)明,其中圖1說明了一個包含常規(guī)的存儲區(qū)域網(wǎng)絡(luò)的網(wǎng)絡(luò)系統(tǒng),其中該常規(guī)的存儲區(qū)域網(wǎng)絡(luò)具有一個物理的共享存儲節(jié)點(diǎn)。
圖2說明了一個為本發(fā)明提供了適當(dāng)?shù)牟僮鳝h(huán)境的示范性系統(tǒng)。
圖3是一個說明了依據(jù)本發(fā)明的容錯網(wǎng)絡(luò)的示意圖,并且顯示了一個虛擬的共享存儲節(jié)點(diǎn)。
圖4是一個說明了圖3中的容錯網(wǎng)絡(luò)的示意圖,其顯示了提供圖3中的虛擬共享存儲節(jié)點(diǎn)的功能的硬件及其它組件。
圖5是一個描述了依據(jù)本發(fā)明、具有三個服務(wù)器的網(wǎng)絡(luò)的示意圖。
圖6和7說明了用于在與兩個服務(wù)器有關(guān)的磁盤之間鏡像網(wǎng)絡(luò)數(shù)據(jù)、由此向每一個服務(wù)器提供對網(wǎng)絡(luò)數(shù)據(jù)的訪問的方法。
圖8是一個流程圖,描述了用于在與兩個服務(wù)器有關(guān)的磁盤之間鏡像網(wǎng)絡(luò)數(shù)據(jù)、由此向每一個服務(wù)器提供對網(wǎng)絡(luò)數(shù)據(jù)的訪問的方法。
本發(fā)明的詳細(xì)說明本發(fā)明涉及其中在多個服務(wù)器的磁盤上鏡像和存儲網(wǎng)絡(luò)數(shù)據(jù)以便使多個服務(wù)器提供一個虛擬存儲區(qū)域網(wǎng)絡(luò)而不具有一個物理的共享存儲節(jié)點(diǎn)的網(wǎng)絡(luò)。在網(wǎng)絡(luò)中的多個服務(wù)器中的每一個都具有一個在其上存儲網(wǎng)絡(luò)數(shù)據(jù)的磁盤、和一個允許該服務(wù)器與在網(wǎng)絡(luò)中的其它服務(wù)器通信的鏡像引擎。當(dāng)服務(wù)器接收一個寫操作請求時,服務(wù)器在它的磁盤處執(zhí)行寫操作,并且使用鏡像引擎和專用的鏈路或者其它用于通信的裝置把寫操作請求傳輸?shù)皆诰W(wǎng)絡(luò)中的其它服務(wù)器。其它服務(wù)器接收寫操作請求,并且在它們的相應(yīng)服務(wù)器的磁盤處執(zhí)行寫操作。這樣,相同的網(wǎng)絡(luò)數(shù)據(jù)被存儲在多個服務(wù)器中每一個的磁盤處。在服務(wù)器中的一個或者與任一服務(wù)器有關(guān)的磁盤發(fā)生故障的情況下,在網(wǎng)絡(luò)中剩余的其它服務(wù)器能夠使用保存在對應(yīng)于這種服務(wù)器的磁盤中的網(wǎng)絡(luò)數(shù)據(jù)為在網(wǎng)絡(luò)中的任一用戶工作站提供網(wǎng)絡(luò)服務(wù)。
A.示范性的操作環(huán)境本發(fā)明的實(shí)施例可以包含一個包含各種計算機(jī)硬件的專用或者通用計算機(jī),如在下面更詳細(xì)討論的那樣。在本發(fā)明的范圍內(nèi)的實(shí)施例還包含用于攜帶或者在其上存儲計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的計算機(jī)可讀介質(zhì)。這種計算機(jī)可讀介質(zhì)能夠是能由通用或者專用計算機(jī)訪問的任何可利用的介質(zhì)。例如,而不是限制,這種計算機(jī)可讀介質(zhì)能夠包含RAM、ROM、EEPROM、CD-ROM或者其它光盤存儲器、磁盤存儲器或者其它磁存儲器設(shè)備,或者其它任何能夠被用來攜帶或者存儲想要的以計算機(jī)可執(zhí)行指令或者數(shù)據(jù)結(jié)構(gòu)的形式的程序代碼裝置、并且能夠由通用或者專用計算機(jī)訪問的介質(zhì)。當(dāng)經(jīng)由網(wǎng)絡(luò)或者另一個通信連接(或者硬布線的、無線、或者硬布線或無線的組合)向計算機(jī)傳送或者提供信息時,計算機(jī)適當(dāng)?shù)匕言撨B接看作計算機(jī)可讀介質(zhì)。因此,任何這種連接被適當(dāng)?shù)胤Q為計算機(jī)可讀介質(zhì)。上述的組合也應(yīng)當(dāng)被包含在計算機(jī)可讀介質(zhì)的范圍內(nèi)。計算機(jī)可執(zhí)行指令包含例如使通用計算機(jī)、專用計算機(jī)、或者專用處理設(shè)備執(zhí)行某個功能或者某組功能的指令和數(shù)據(jù)。
圖2及以下的討論用來提供其中可以實(shí)現(xiàn)本發(fā)明的一個適當(dāng)?shù)挠嬎悱h(huán)境的摘要的、一般的說明。盡管不需要,但是將在在網(wǎng)絡(luò)環(huán)境中由計算機(jī)執(zhí)行的、諸如程序模塊之類的計算機(jī)可執(zhí)行指令的一般環(huán)境中對本發(fā)明進(jìn)行描述。通常,程序模塊包含執(zhí)行特定任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。計算機(jī)可執(zhí)行指令、相關(guān)的數(shù)據(jù)結(jié)構(gòu)、和程序模塊表示用于執(zhí)行在此公開的方法中的步驟的程序代碼裝置的例子。這種可執(zhí)行指令或者相關(guān)數(shù)據(jù)結(jié)構(gòu)的特定序列表示用于實(shí)現(xiàn)在這種步驟中描述的功能的相應(yīng)動作的例子。
本領(lǐng)域技術(shù)人員將會意識到,可以在具有多種類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實(shí)踐本發(fā)明,其中多種類型的計算機(jī)系統(tǒng)配置包含個人計算機(jī)、掌上型設(shè)備、多處理器系統(tǒng)、基于微處理器的或者可編程的消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、微型計算機(jī)、大型計算機(jī)等等。還可以在分布式計算環(huán)境中實(shí)踐本發(fā)明,在該分布式計算環(huán)境中由通過通信網(wǎng)絡(luò)鏈接的(或者通過硬布線的鏈路、無線鏈路、或者通過硬布線的或者無線鏈路的組合)本地和遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
參考圖2,用于實(shí)現(xiàn)本發(fā)明的一個示范性系統(tǒng)包含一個以常規(guī)計算機(jī)20的形式的通用計算設(shè)備,它包含處理單元21、系統(tǒng)存儲器22、和連接包含系統(tǒng)存儲器22的系統(tǒng)組件到處理單元21的系統(tǒng)總線23。系統(tǒng)總線23可以是幾種類型的總線結(jié)構(gòu)中的任何一種,其中這幾種類型的總線結(jié)構(gòu)包含使用各種總線體系結(jié)構(gòu)中任何一種的存儲器總線或存儲控制器、外圍總線、和局域總線。系統(tǒng)存儲器包含只讀存儲器(ROM)24和隨機(jī)存取存儲器(RAM)25。基本輸入/輸出系統(tǒng)(BIOS)26可以被保存在ROM 24中,其中該基本輸入/輸出系統(tǒng)(BIOS)26包含基本的、有助于在計算機(jī)20內(nèi)部的單元之間比如在啟動時傳輸信息的例程。
計算機(jī)20還可以包含一個用于從磁硬盤39中讀取和向其中寫入的磁硬盤驅(qū)動器27,一個用于從可移動的磁盤29中讀取或者向其中寫入的磁盤驅(qū)動器28,和一個用于從可移動的光盤31、諸如CD-ROM或者其它光介質(zhì)中讀取或者向其中寫入的光盤驅(qū)動器30。如在此描述的那樣,上述結(jié)構(gòu)中的任何一個表示能夠被用來建立虛擬存儲區(qū)域網(wǎng)絡(luò)的存儲設(shè)備或者存儲體(storage volumes)的例子。磁硬盤驅(qū)動器27、磁盤驅(qū)動器28、和光盤驅(qū)動器30分別通過硬盤驅(qū)動器接口32、磁盤驅(qū)動器接口33、和光驅(qū)動器接口34連接到系統(tǒng)總線23。驅(qū)動器和它們的相關(guān)計算機(jī)可讀介質(zhì)為計算機(jī)20提供了計算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)的非易失性存儲。盡管在此描述的示范性環(huán)境使用了磁硬盤39、可移動的磁盤29和可移動的光盤31,但是能夠使用其它類型的用于存儲數(shù)據(jù)的計算機(jī)可讀介質(zhì),包含磁帶盒、閃速存儲卡、數(shù)字通用磁盤、Bernoulli盒、RAM、ROM等。
包含一個或多個程序模塊的程序代碼裝置可以被存儲在硬盤39、磁盤29、光盤31、ROM 24或者RAM 25上,上述一個或多個程序模塊包含操作系統(tǒng)35、一個或多個應(yīng)用程序36、其它程序模塊37、和程序數(shù)據(jù)38。用戶可以通過鍵盤40、指示設(shè)備42、或者其它輸入設(shè)備(未顯示)、諸如麥克風(fēng)、操縱桿、游戲手柄、衛(wèi)星電視天線、掃描儀等輸入命令和信息到計算機(jī)20中。這些及其它輸入設(shè)備經(jīng)常通過連接到系統(tǒng)總線23的串行端口接口46連接到處理單元21。做為選擇,輸入設(shè)備可以通過其它接口、諸如并行端口、游戲端口或者通用串行總線(USB)連接。監(jiān)視器47或者另一個顯示設(shè)備也經(jīng)由接口、諸如視頻適配器48連接到系統(tǒng)總線23。除了監(jiān)視器之外,個人計算機(jī)通常包含其它外圍輸出設(shè)備(未顯示)、諸如揚(yáng)聲器和打印機(jī)。
計算機(jī)20可以在使用到一個或多個遠(yuǎn)程計算機(jī)、諸如遠(yuǎn)程計算機(jī)49a和49b的邏輯連接的網(wǎng)絡(luò)環(huán)境下操作。盡管在圖2中僅僅說明了存儲器設(shè)備50a和50b以及它們的相關(guān)的應(yīng)用程序36a和36b,但是遠(yuǎn)程計算機(jī)49a和49b每個都可以是另一個個人計算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或者其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且通常包含以上相對于計算機(jī)20描述的許多或者全部單元。在圖2中描述的邏輯連接包含在此通過舉例而非限制給出的局域網(wǎng)(LAN)51和廣域網(wǎng)(WAN)52。這種聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部網(wǎng)、和互聯(lián)網(wǎng)中是常見的。
當(dāng)用在LAN聯(lián)網(wǎng)環(huán)境中時,計算機(jī)20通過網(wǎng)絡(luò)接口或者適配器53連接到局部網(wǎng)絡(luò)51。當(dāng)用在WAN聯(lián)網(wǎng)環(huán)境中時,計算機(jī)20可以包含調(diào)制解調(diào)器54、無線鏈路或者其它用于經(jīng)由廣域網(wǎng)52、諸如互聯(lián)網(wǎng)建立通信的裝置??梢允莾?nèi)部或外部的調(diào)制解調(diào)器54經(jīng)由串行端口接口46連接到系統(tǒng)總線23。在聯(lián)網(wǎng)環(huán)境中,相對計算機(jī)20描述的程序模塊、或者它的部分可以被保存在遠(yuǎn)程存儲器存儲設(shè)備中。將會理解,顯示的網(wǎng)絡(luò)連接是示范性的,而且可以使用其它用于在廣域網(wǎng)52上建立通信的裝置。
B.虛擬存儲區(qū)域網(wǎng)絡(luò)圖3說明了本發(fā)明中的虛擬存儲區(qū)域網(wǎng)絡(luò)的典型配置。為了說明起見,在圖3的例子中,兩個服務(wù)器計算機(jī)310和320為網(wǎng)絡(luò)301提供網(wǎng)絡(luò)服務(wù)。然而,本發(fā)明中的網(wǎng)絡(luò)的體系結(jié)構(gòu)能夠很容易地被縮放為具有三個或更多服務(wù)器的網(wǎng)絡(luò),其例子將在下面就圖5進(jìn)行討論。網(wǎng)絡(luò)301還包含任意數(shù)量的用戶工作站302,其能夠是個人計算機(jī)或者其它任何從服務(wù)器310和320接收網(wǎng)絡(luò)服務(wù)的計算設(shè)備。
每個服務(wù)器310和320包含一個管轄協(xié)議模塊311、321和一個輸入/輸出設(shè)備驅(qū)動器313、323。服務(wù)器A 310和服務(wù)器B 320一起操作以建立一個虛擬的共享存儲節(jié)點(diǎn)340。虛擬共享存儲節(jié)點(diǎn)340不是一個物理的共享存儲節(jié)點(diǎn)、諸如圖1中的共享存儲節(jié)點(diǎn)140。作為替代,虛擬共享存儲節(jié)點(diǎn)340包含將結(jié)合圖4更詳細(xì)描述的各種硬件和軟件組件,從I/O驅(qū)動器313和323的立場來看,其提供了好象與實(shí)際的共享存儲節(jié)點(diǎn)有關(guān)的功能。因此,在這種意義上講,網(wǎng)絡(luò)301包含一虛擬共享存儲節(jié)點(diǎn)340,并且允許服務(wù)器310和320訪問虛擬共享存儲節(jié)點(diǎn)340的那部分網(wǎng)絡(luò)301表示一虛擬存儲區(qū)域網(wǎng)絡(luò)。
還注意到,在被指定為虛擬共享存儲節(jié)點(diǎn)340的圖3的區(qū)域外的、網(wǎng)絡(luò)301的包含硬件和軟件的網(wǎng)絡(luò)配置能夠與已有網(wǎng)絡(luò)的相應(yīng)組件類似或者實(shí)質(zhì)上相同,并且與常規(guī)的實(shí)際存儲區(qū)域網(wǎng)絡(luò)、諸如在圖1中說明的網(wǎng)絡(luò)101的相應(yīng)組件類似或者實(shí)質(zhì)上相同。依據(jù)本發(fā)明操作的網(wǎng)絡(luò)的一個優(yōu)點(diǎn)是它們與目前存在的用于和常規(guī)存儲區(qū)域網(wǎng)絡(luò)一起使用的已有管轄協(xié)議軟件及其它軟件兼容。
參見圖4,能夠看出,虛擬共享存儲節(jié)點(diǎn)340的物理組件顯著地不同于圖1中的常規(guī)存儲區(qū)域網(wǎng)絡(luò)的實(shí)際共享存儲節(jié)點(diǎn)140的組件。例如,圖4中的網(wǎng)絡(luò)301不包含一個物理的共享存儲節(jié)點(diǎn),其除去了與獲得和操作一存儲區(qū)域網(wǎng)絡(luò)有關(guān)的大部分開支。作為替代,服務(wù)器310具有它自己的磁盤319,而服務(wù)器320具有它自己的磁盤329。因此,服務(wù)器310和320能夠是普通的或者常規(guī)的網(wǎng)絡(luò)服務(wù)器,每個網(wǎng)絡(luò)服務(wù)器都具有它自己的磁盤。換句話說,服務(wù)器310和320中的硬件能夠與目前用在除實(shí)際存儲區(qū)域網(wǎng)絡(luò)以外的企業(yè)網(wǎng)絡(luò)中的大多數(shù)服務(wù)器的硬件類似或相同。如在此使用的那樣,“磁盤”和“大容量存儲設(shè)備”將被廣泛地解釋為包含用于存儲數(shù)據(jù)以執(zhí)行在此描述的方法的任何設(shè)備或者結(jié)構(gòu)。
允許這種服務(wù)器310和320提供虛擬存儲區(qū)域網(wǎng)絡(luò)的功能的組件包含鏡像引擎317和327以及專用的鏈路315。鏡像引擎317和327表示用于在不同服務(wù)器的大容量存儲設(shè)備或者磁盤之間鏡像數(shù)據(jù)的的裝置的例子。還能夠和本發(fā)明一起使用對應(yīng)于用于鏡像數(shù)據(jù)的裝置的其它結(jié)構(gòu)以執(zhí)行在此描述的功能。此外,如上所述,在被指定為虛擬共享存儲節(jié)點(diǎn)340的圖4中的區(qū)域之外的、在服務(wù)器310和320處操作的管轄協(xié)議模塊311和321及其它軟件能夠與傳統(tǒng)地被用來操作實(shí)際存儲區(qū)域網(wǎng)絡(luò)的管轄協(xié)議及其它功能的已有軟件類似或者相同。
圖6和7說明了其中鏡像引擎317和327以及專用鏈路315能夠被用來在磁盤319和329上鏡像數(shù)據(jù)、由此允許服務(wù)器310和320中的每一個能訪問所有網(wǎng)絡(luò)數(shù)據(jù)的方式。如圖6所示,用戶工作站302a的用戶使用戶工作站向與網(wǎng)絡(luò)301有關(guān)的磁盤發(fā)布一個用于寫數(shù)據(jù)塊A 350的寫操作請求。如圖6所示,寫操作請求通過網(wǎng)絡(luò)301傳輸?shù)椒?wù)器A 310。由于網(wǎng)絡(luò)301中的任何一個服務(wù)器(例如服務(wù)器A 310或者服務(wù)器B 320)都能夠處理來自任一用戶工作站的所有操作請求,所以選擇特定服務(wù)器310或者320來處理這個操作的方式對于本發(fā)明來說不是關(guān)鍵性的。為了平衡在服務(wù)器310和320之間的負(fù)載,能夠?qū)崿F(xiàn)任何一種想要的負(fù)載平衡算法。做為選擇,能夠在缺省的基礎(chǔ)上把特定服務(wù)器分配給特定用戶工作站。
在這個例子中,服務(wù)器A 310接收寫操作請求,并且把該請求傳遞到I/O驅(qū)動器313。I/O驅(qū)動器313然后把寫操作請求傳輸?shù)綇腎/O驅(qū)動器313的立場來看能夠被感知為一虛擬共享存儲節(jié)點(diǎn)(即圖4中的虛擬共享存儲節(jié)點(diǎn)340)的地方。
管轄協(xié)議模塊311與服務(wù)器B 320的管轄協(xié)議模塊321一起操作,以確定服務(wù)器A 310目前是否滿意對磁盤319和329的寫訪問。管轄協(xié)議模塊311和321的一個主要目的是確保在任何單個時間僅僅單個服務(wù)器具有對在磁盤319和329中的特定扇區(qū)或者數(shù)據(jù)塊的寫訪問。由于每個服務(wù)器310、320通常能訪問所有網(wǎng)絡(luò)數(shù)據(jù),所以允許任何服務(wù)器一直具有對磁盤的寫訪問而不實(shí)現(xiàn)管轄協(xié)議否則能夠?qū)е聰?shù)據(jù)崩潰。由于從I/O驅(qū)動器313和323以及管轄協(xié)議模塊311和321的立場來看服務(wù)器A 310和服務(wù)器B 320好象是使用一個虛擬共享存儲節(jié)點(diǎn),所以和本發(fā)明一起使用的管轄協(xié)議能夠與傳統(tǒng)地和實(shí)際存儲區(qū)域網(wǎng)絡(luò)一起使用的管轄協(xié)議類似或者相同。換句話說,如先前已經(jīng)提及的那樣,在服務(wù)器A 310和服務(wù)器B 320上操作的大部分軟件能夠與和實(shí)際存儲區(qū)域網(wǎng)絡(luò)一起使用的相應(yīng)軟件類似或者相同。
由于常規(guī)的管轄協(xié)議能夠和本發(fā)明一起使用,所以管轄協(xié)議的特性將會被本領(lǐng)域技術(shù)人員理解。一般說來,無論是和常規(guī)存儲區(qū)域網(wǎng)絡(luò)還是和本發(fā)明中的虛擬存儲區(qū)域網(wǎng)絡(luò)一起使用,管轄協(xié)議確定已經(jīng)接收了I/O請求的服務(wù)器相對于在網(wǎng)絡(luò)中的其它服務(wù)器目前是否具有訪問優(yōu)先級。例如,如果服務(wù)器A 310將接收一個寫操作請求,則服務(wù)器A 310和服務(wù)器B 320經(jīng)由網(wǎng)絡(luò)301的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)彼此通信,并且使用管轄協(xié)議模塊311和321以確定哪一個服務(wù)器具有對將接收寫操作的磁盤的扇區(qū)或者其它部分的寫訪問優(yōu)先級。雖然許多類型的管轄協(xié)議都能夠和本發(fā)明一起使用,所以許多管轄協(xié)議具有共同的特征,即它們分布在多個服務(wù)器之間,并且在多個服務(wù)器彼此通信時被執(zhí)行。
下面返回圖6,I/O驅(qū)動器把寫操作請求傳輸?shù)接蒊/O驅(qū)動器感知為是虛擬共享存儲節(jié)點(diǎn)的地方。然而,實(shí)際上,寫操作請求由鏡像引擎317接收。寫操作請求從鏡像引擎317傳輸?shù)酱疟P319,在那兒它被執(zhí)行,從而導(dǎo)致數(shù)據(jù)A 350被寫入到磁盤的特定扇區(qū)或者其它區(qū)域。為了鏡像數(shù)據(jù)A到磁盤329,鏡像引擎317還傳輸寫操作請求到服務(wù)器B 320的一個相應(yīng)的鏡像引擎327。寫操作請求由專用的鏈路315或者另一個用于通信的裝置傳輸。其它用于通信的裝置可以包含任何無線或者硬布線的通信裝置中的一個或者它們的組合。如果使用了專用的鏈路315,則物理的專用鏈路表示在網(wǎng)絡(luò)301和常規(guī)網(wǎng)絡(luò)之間的一個物理差別。本發(fā)明的其它實(shí)施例能夠使用鏡像引擎317和327鏡像數(shù)據(jù)而不需要專用鏈路315。例如,另外被用來在用戶工作站302和服務(wù)器310和320之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)301的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)也能夠被用來從一個服務(wù)器向另一個服務(wù)器傳輸被鏡像的寫操作請求。專用鏈路315、網(wǎng)絡(luò)301的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)及其它用于通信的裝置表示用于在服務(wù)器和它的大容量存儲設(shè)備或者磁盤之間通信的裝置的例子。
無論如何,鏡像引擎327接收被鏡像的寫操作請求,并且把它傳輸?shù)酱疟P329,在那兒它被執(zhí)行,從而導(dǎo)致數(shù)據(jù)A 350被寫入到磁盤329。這樣,在用戶工作站302a發(fā)布寫操作請求之后,與寫操作請求有關(guān)的數(shù)據(jù)被寫入到磁盤319和磁盤329,以便使兩個磁盤都包含相同網(wǎng)絡(luò)數(shù)據(jù)的被鏡像的拷貝。還注意到,當(dāng)用戶工作站302a-n中的一個發(fā)布一個使數(shù)據(jù)從文件中刪除或者從磁盤319上刪除的寫操作請求時,執(zhí)行類似的處理過程。換句話說,如果從磁盤319上刪除數(shù)據(jù),則從磁盤329上刪除相同的數(shù)據(jù),以便使相同的網(wǎng)絡(luò)數(shù)據(jù)被鏡像和存儲在兩個磁盤中。
圖7說明了在磁盤319和329之間被鏡像的數(shù)據(jù)的另一個實(shí)例。在這種情況下,用戶工作站302n傳輸用于寫入數(shù)據(jù)B 352的寫操作請求到磁盤329。寫操作請求被傳輸?shù)椒?wù)器B 320,在那兒它由I/O驅(qū)動器323和管轄協(xié)議模塊321以類似于以上就用于圖6中的數(shù)據(jù)A350的寫操作請求描述的方式進(jìn)行處理。在圖7中,鏡像引擎327把寫操作請求傳輸?shù)酱疟P329,在那兒它被執(zhí)行,從而導(dǎo)致數(shù)據(jù)B被寫入到磁盤329。此外,鏡像引擎327通過專用鏈路315、或者通過與網(wǎng)絡(luò)301有關(guān)的另一個用于通信的裝置傳輸寫操作請求到服務(wù)器A 310中的相應(yīng)鏡像引擎317。鏡像引擎317然后把被鏡像的寫操作請求傳輸?shù)酱疟P319,在那兒它被執(zhí)行,從而導(dǎo)致數(shù)據(jù)B 352被寫入到磁盤319。因此,圖6和7說明了在網(wǎng)絡(luò)301中的任何服務(wù)器310、320是如何能夠使與寫操作請求有關(guān)的數(shù)據(jù)被存儲和鏡像在網(wǎng)絡(luò)中的服務(wù)器的每一個磁盤319、329處的。
圖8概括了寫操作請求被處理以及相關(guān)數(shù)據(jù)被鏡像到在網(wǎng)絡(luò)中的每一個磁盤的方法。在步驟710,用戶工作站發(fā)布一個寫操作請求。在步驟720,經(jīng)由網(wǎng)絡(luò)把請求傳輸?shù)揭粋€特定服務(wù)器。在步驟730,特定服務(wù)器執(zhí)行管轄協(xié)議,以確定該服務(wù)器目前是否具有對在網(wǎng)絡(luò)中的磁盤的寫訪問。如果依據(jù)判定塊732服務(wù)器不具有寫訪問,則操作請求在步驟751被拒絕,并且在步驟753被中止。做為選擇,如果依據(jù)判定塊732服務(wù)器不具有寫訪問,則操作能夠被排隊(duì)直到準(zhǔn)予服務(wù)器寫訪問的這種時間為止。
如果依據(jù)判定塊732服務(wù)器具有寫訪問權(quán)力,則操作請求在步驟741被接受。鏡像引擎然后在步驟743復(fù)制寫操作請求,并且把它傳輸?shù)皆诰W(wǎng)絡(luò)中的一個或多個其它服務(wù)器。在步驟749,接收寫操作請求的特定服務(wù)器在它的磁盤處執(zhí)行寫操作。同時或者剛好在步驟749之前或者之后,執(zhí)行步驟750,其中在網(wǎng)絡(luò)中的、已經(jīng)接收了寫操作請求的被鏡像的拷貝的其它服務(wù)器執(zhí)行被鏡像的寫操作請求,以便使相同的網(wǎng)絡(luò)數(shù)據(jù)也被保存在與其它服務(wù)器有關(guān)的磁盤中。執(zhí)行步驟743、749以及750的順序?qū)τ诒景l(fā)明來說不是關(guān)鍵性的。
結(jié)合圖7說明網(wǎng)絡(luò)301能夠?qū)Ψ?wù)器或者磁盤的故障做出響應(yīng)或是容忍服務(wù)器或者磁盤的故障的方式。在這個例子中,假定數(shù)據(jù)A 350和數(shù)據(jù)B 352已經(jīng)被鏡像到兩個磁盤319和329中了,如以上所述的那樣。在服務(wù)器A 310離線之前,服務(wù)器A宣傳(advertise)它能夠向工作站提供對在圖4的340說明的、虛擬共享存儲節(jié)點(diǎn)的訪問的事實(shí),以便使請求虛擬共享存儲節(jié)點(diǎn)的磁盤服務(wù)的任何工作站能夠通過服務(wù)器A 310接收它們。在正常操作中的,服務(wù)器A 310通過使用磁盤319提供對虛擬共享存儲節(jié)點(diǎn)的訪問。在這個例子中,假定服務(wù)器A 310保持可操作,但是它的相關(guān)磁盤319離線,并且由于任何原因而變得不可用了。服務(wù)器A 310繼續(xù)向工作站宣傳它能夠提供對虛擬共享存儲節(jié)點(diǎn)、包含磁盤319的訪問,這是因?yàn)閺姆?wù)器A 310的立場上來看,虛擬共享存儲節(jié)點(diǎn)和存儲在其上的數(shù)據(jù)保持是可利用的。
在磁盤319發(fā)生故障之后,工作站302a-d能夠繼續(xù)通過服務(wù)器A 310發(fā)布將被虛擬共享存儲節(jié)點(diǎn)處理的讀操作請求。在這個例子中,假定工作站302a發(fā)布指向數(shù)據(jù)A 350的讀操作請求。在由服務(wù)器A 310接收了讀操作請求后,由I/O驅(qū)動器313接收讀操作請求,并且它被傳輸?shù)界R像引擎317,鏡像引擎317如圖4所示在虛擬共享存儲節(jié)點(diǎn)340的范圍之內(nèi)。
此時,以典型的方式把讀操作請求傳輸?shù)綇姆?wù)器A 310的立場上來說被感知為一個共享存儲節(jié)點(diǎn)的存儲設(shè)備。然而,如上所述,磁盤319是不可訪問的,并且不能服務(wù)于讀操作請求。因此,使用專用鏈路315把讀操作請求傳輸?shù)椒?wù)器B 320。讀操作請求然后被用來訪問磁盤329,其具有網(wǎng)絡(luò)數(shù)據(jù)、包含數(shù)據(jù)A 350的完整拷貝。因此,網(wǎng)絡(luò)301能夠通過使用鏡像引擎317和327無縫地對磁盤319的不可訪問做出響應(yīng),以重定向由服務(wù)器A 310接收的讀操作請求。盡管磁盤319發(fā)生故障,但是網(wǎng)絡(luò)301的操作繼續(xù)不間斷。此外,服務(wù)器A 310能夠以類似的方式在磁盤319發(fā)生故障之后通過使用虛擬共享存儲節(jié)點(diǎn)對其它網(wǎng)絡(luò)操作請求、諸如寫操作請求做出響應(yīng),對磁盤故障做出響應(yīng)的上述方法允許網(wǎng)絡(luò)動作繼續(xù),而不中斷任何在磁盤故障時已經(jīng)被部分完成的網(wǎng)絡(luò)動作。以這種方式對磁盤故障做出響應(yīng)需要服務(wù)器A 310的操作的I/O驅(qū)動器313和鏡像引擎317。
如果服務(wù)器A 310的這些功能組件變得不能操作,則依據(jù)一個實(shí)施例網(wǎng)絡(luò)301具有繼續(xù)提供對網(wǎng)絡(luò)數(shù)據(jù)的訪問的輔助方式。在這種情況下,如果用戶工作站302a將發(fā)布一個另外由服務(wù)器A 310處理的讀操作請求,則讀操作請求能夠由服務(wù)器B 320服務(wù),是由于服務(wù)器B 320能訪問在它的磁盤329上的所有網(wǎng)絡(luò)數(shù)據(jù)。為了說明起見,假定由用戶工作站302發(fā)布的讀操作請求指向數(shù)據(jù)A 350。因?yàn)榉?wù)器A 310是離線的,所以服務(wù)器B 320處理讀操作請求。服務(wù)器B 320使用存儲在磁盤329處的網(wǎng)絡(luò)數(shù)據(jù)的被鏡像的拷貝,以服務(wù)于讀操作請求,并且由此向用戶工作站提供對數(shù)據(jù)A 350的讀訪問。注意到,在網(wǎng)絡(luò)中的一個服務(wù)器經(jīng)歷故障或者離線的情況下,常規(guī)的存儲區(qū)域網(wǎng)絡(luò)也允許所有服務(wù)器提供對所有網(wǎng)絡(luò)數(shù)據(jù)的讀訪問。然而,不同于常規(guī)的存儲區(qū)域網(wǎng)絡(luò),本發(fā)明中的網(wǎng)絡(luò)不使用一個物理的共享存儲節(jié)點(diǎn)來通過任何服務(wù)器提供對所有網(wǎng)絡(luò)數(shù)據(jù)的訪問。
本發(fā)明中的網(wǎng)絡(luò)在磁盤或者服務(wù)器故障之后繼續(xù)操作的性能的上述例子提供了在使用常規(guī)存儲區(qū)域網(wǎng)絡(luò)時不可能的重要優(yōu)點(diǎn)。通常,常規(guī)存儲區(qū)域網(wǎng)絡(luò)具有如果發(fā)生故障則能夠使數(shù)據(jù)不可訪問的單個組件。例如,典型的常規(guī)存儲區(qū)域網(wǎng)絡(luò)包含必須操作以便提供對共享存儲節(jié)點(diǎn)的訪問的SAN連接卡或者磁盤驅(qū)動器。
此外,常規(guī)存儲區(qū)域網(wǎng)絡(luò)的共享存儲節(jié)點(diǎn)的磁盤的物理故障能夠?qū)е聛G失對數(shù)據(jù)的訪問。實(shí)際上,如果圖1中的共享存儲節(jié)點(diǎn)140實(shí)際上被損害或者如果存儲在其上的數(shù)據(jù)實(shí)際上被失去,則不僅僅經(jīng)歷與發(fā)生故障的共享存儲節(jié)點(diǎn)140有關(guān)的停機(jī)時間,常規(guī)的存儲區(qū)域網(wǎng)絡(luò)還可能經(jīng)歷永久的和無法挽回的網(wǎng)絡(luò)數(shù)據(jù)的丟失。為了消除這個可能性,常規(guī)存儲區(qū)域網(wǎng)絡(luò)的管理員能夠購買和在共享存儲節(jié)點(diǎn)維持冗余磁盤陣列(RAID),這增加了系統(tǒng)的成本和復(fù)雜性。如上所述,本發(fā)明允許在虛擬共享存儲節(jié)點(diǎn)中的磁盤容錯而不需要RAID。
在圖3、4、6和7中就兩個服務(wù)器說明的發(fā)明中的方法能夠適用于具有兩個以上服務(wù)器的網(wǎng)絡(luò)。例如,圖5說明了依據(jù)本發(fā)明、具有三個服務(wù)器、即服務(wù)器A 510、服務(wù)器B 520和服務(wù)器C 530的網(wǎng)絡(luò)。圖5中的網(wǎng)絡(luò)501的操作類似于以上關(guān)于圖6和7所述的網(wǎng)絡(luò)301的操作。例如,當(dāng)服務(wù)器A從用戶工作站502接收一寫操作請求時,由I/O驅(qū)動器513處理寫操作請求。管轄協(xié)議模塊511和服務(wù)器A 510與服務(wù)器B 520的管轄協(xié)議模塊521以及服務(wù)器C 530的管轄協(xié)議模塊531共同操作。
服務(wù)器A 510的鏡像引擎517通過專用鏈路515或者其它另一個通信鏈路傳輸寫操作請求的拷貝到服務(wù)器B 520的鏡像引擎527。鏡像引擎517還通過專用鏈路555或者其它通信鏈路傳輸寫操作請求的拷貝到服務(wù)器C 530的鏡像引擎537。此外,注意到,能夠使用其它任何通信鏈路來傳輸寫操作請求的拷貝到在網(wǎng)絡(luò)中的其它服務(wù)器的各個鏡像引擎。例如,網(wǎng)絡(luò)501的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)能夠被用來傳輸這種寫操作請求。做為選擇,能夠通過連續(xù)地通過專用鏈路515、鏡像引擎527以及專用鏈路525傳輸操作請求,把寫操作請求從鏡像引擎517傳輸?shù)界R像引擎537。所有鏡像引擎517、527、以及537能夠彼此通信是重要的。以上述的方式,寫入到磁盤519、529和539中的一個上的數(shù)據(jù)被存儲在所有這些磁盤處。在服務(wù)器510、520、530中的一個發(fā)生故障的情況下,剩余的服務(wù)器能夠服務(wù)于來自任何用戶工作站的用于任何網(wǎng)絡(luò)數(shù)據(jù)的所有請求。
可以以其它具體形式實(shí)現(xiàn)本發(fā)明而不背離它的精神或者本質(zhì)特性。無論從哪一點(diǎn)來看,所描述的實(shí)施例都將僅僅被認(rèn)為是說明性的與非限制性的。本發(fā)明的范圍因此由附加權(quán)利要求而不是由上述說明書表示。在權(quán)利要求的等效含義和范圍內(nèi)的所有改變都將被包含在它們的范圍內(nèi)。
權(quán)利要求
1.在包含具有第一大容量存儲設(shè)備的第一服務(wù)器和具有第二大容量存儲設(shè)備的第二服務(wù)器的網(wǎng)絡(luò)中,一種鏡像存儲在第一大容量存儲設(shè)備上的數(shù)據(jù)到第二大容量存儲設(shè)備以便建立一個虛擬存儲區(qū)域網(wǎng)絡(luò)的方法,該鏡像數(shù)據(jù)的方法包含以下動作在第一服務(wù)器處接收一寫請求;在第一服務(wù)器處執(zhí)行寫請求,以便寫入數(shù)據(jù)到第一大容量存儲設(shè)備;使用第一服務(wù)器的鏡像引擎,傳輸寫請求的拷貝到第二服務(wù)器;以及在第二服務(wù)器處執(zhí)行寫請求的拷貝,以便寫入數(shù)據(jù)到第二大容量存儲設(shè)備,由此在第二大容量存儲設(shè)備處鏡像數(shù)據(jù),其中從第一服務(wù)器和第二服務(wù)器的立場上來看,該數(shù)據(jù)實(shí)際上好象是已經(jīng)被保存在一存儲區(qū)域網(wǎng)絡(luò)的共享存儲節(jié)點(diǎn)中了。
2.如權(quán)利要求1所述的鏡像數(shù)據(jù)的方法,其中傳輸寫請求的拷貝的動作包含使用在第一服務(wù)器和第二服務(wù)器之間的專用鏈路傳輸寫請求的拷貝的動作。
3.如權(quán)利要求1所述的鏡像數(shù)據(jù)的方法,其中傳輸寫請求的拷貝的動作包含使用網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)傳輸寫請求的拷貝的動作,其中基礎(chǔ)結(jié)構(gòu)還被網(wǎng)絡(luò)用來在工作站和服務(wù)器之間傳輸數(shù)據(jù)。
4.如權(quán)利要求1所述的鏡像數(shù)據(jù)的方法,進(jìn)一步包含動作經(jīng)歷故障,以便使數(shù)據(jù)不可從第一大容量存儲設(shè)備中訪問;以及通過訪問已經(jīng)被鏡像在第二大容量存儲設(shè)備處的數(shù)據(jù),執(zhí)行對已經(jīng)被寫到第一大容量存儲設(shè)備的數(shù)據(jù)的讀請求。
5.如權(quán)利要求4所述的鏡像數(shù)據(jù)的方法,其中故障包含第一服務(wù)器離線。
6.如權(quán)利要求4所述的鏡像數(shù)據(jù)的方法,其中故障包含第一大容量存儲設(shè)備的故障。
7.如權(quán)利要求1所述的鏡像數(shù)據(jù)的方法,進(jìn)一步包含動作在在第一服務(wù)器處執(zhí)行寫請求的動作之前,使用管轄協(xié)議以確定第一服務(wù)器是否具有寫訪問權(quán)力。
8.如權(quán)利要求3所述的鏡像數(shù)據(jù)的方法,其中在第一服務(wù)器處執(zhí)行寫請求的動作包含在第一服務(wù)器處使用I/O驅(qū)動器來開始執(zhí)行寫請求的動作,其中從I/O驅(qū)動器的立場來看,寫請求實(shí)際上好象是已經(jīng)被保存在存儲區(qū)域網(wǎng)絡(luò)的共享存儲節(jié)點(diǎn)中了。
9.在包含具有第一大容量存儲設(shè)備的第一服務(wù)器和具有第二大容量存儲設(shè)備的第二服務(wù)器的網(wǎng)絡(luò)中,一種鏡像存儲在第一大容量存儲設(shè)備上的數(shù)據(jù)到第二大容量存儲設(shè)備以便使該數(shù)據(jù)可由第一服務(wù)器和第二服務(wù)器通過一虛擬存儲區(qū)域網(wǎng)絡(luò)訪問的方法,該鏡像數(shù)據(jù)的方法包含以下動作建立一虛擬存儲區(qū)域網(wǎng)絡(luò),該虛擬存儲區(qū)域網(wǎng)絡(luò)從第一服務(wù)器和第二服務(wù)器的立場來看好象包含一個虛擬共享存儲節(jié)點(diǎn),其中該虛擬共享存儲節(jié)點(diǎn)物理上包含第一大容量存儲設(shè)備、第二大容量存儲設(shè)備、用于在第一大容量存儲設(shè)備和第二大容量存儲設(shè)備之間鏡像數(shù)據(jù)的裝置、以及用于在第一服務(wù)器和第二服務(wù)器之間通信的裝置;接收一個指定數(shù)據(jù)將被寫入到虛擬共享存儲節(jié)點(diǎn)的寫請求;把該數(shù)據(jù)寫入到第一大容量存儲設(shè)備,在第一大容量存儲設(shè)備處的數(shù)據(jù)可由第一服務(wù)器訪問;以及傳輸寫請求的拷貝到第二服務(wù)器,以便使數(shù)據(jù)能夠被鏡像到第二大容量存儲設(shè)備,在第二大容量存儲設(shè)備處的數(shù)據(jù)可由第二服務(wù)器訪問。
10.如權(quán)利要求9所述的鏡像數(shù)據(jù)的方法,其中所述的用于鏡像數(shù)據(jù)的裝置包含與第一服務(wù)器有關(guān)的第一鏡像引擎、和與第二服務(wù)器有關(guān)的第二鏡像引擎。
11.如權(quán)利要求9所述的鏡像數(shù)據(jù)的方法,其中傳輸寫請求的拷貝的動作包含使用第一鏡像引擎以啟動把寫請求的拷貝傳輸?shù)降诙R像引擎的動作。
12.如權(quán)利要求9所述的鏡像數(shù)據(jù)的方法,其中用于通信的裝置包含用于在第一服務(wù)器和第二服務(wù)器之間傳輸數(shù)據(jù)的專用鏈路。
13.如權(quán)利要求9所述的鏡像數(shù)據(jù)的方法,其中用于通信的裝置包含網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu),其中該基礎(chǔ)結(jié)構(gòu)還被網(wǎng)絡(luò)用來在工作站和服務(wù)器之間傳輸數(shù)據(jù)。
14.如權(quán)利要求9所述的鏡像數(shù)據(jù)的方法,進(jìn)一步包含動作經(jīng)歷故障,以便使數(shù)據(jù)不可從第二大容量存儲設(shè)備中訪問;執(zhí)行對其它數(shù)據(jù)的一讀請求,其中其它數(shù)據(jù)響應(yīng)于第二服務(wù)器已經(jīng)接收了一寫請求而已經(jīng)被保存在虛擬共享存儲節(jié)點(diǎn)中,其中該寫請求指定所述其它數(shù)據(jù)將被寫入到虛擬共享存儲節(jié)點(diǎn),并且通過從虛擬共享存儲節(jié)點(diǎn)訪問該數(shù)據(jù)來執(zhí)行該讀請求。
15.如權(quán)利要求14所述的鏡像數(shù)據(jù)的方法,其中通過從虛擬共享存儲節(jié)點(diǎn)訪問數(shù)據(jù)執(zhí)行讀請求包含從第一大容量存儲設(shè)備中訪問數(shù)據(jù)的動作。
16.在具有第一大容量存儲設(shè)備的第一服務(wù)器中,該第一服務(wù)器被包含在一個還包含具有第二大容量存儲設(shè)備的第二服務(wù)器的網(wǎng)絡(luò)中,一種鏡像存儲在第一大容量存儲設(shè)備上的數(shù)據(jù)到第二大容量存儲設(shè)備以便建立一個虛擬存儲區(qū)域網(wǎng)絡(luò)的方法,該鏡像數(shù)據(jù)的方法包含以下動作在第一服務(wù)器處接收一寫請求;使用與第一服務(wù)器有關(guān)的管轄協(xié)議模塊,確定第二服務(wù)器目前不具有對另外能夠?qū)е聰?shù)據(jù)崩潰的第一大容量存儲設(shè)備的一部分或者第二大容量存儲設(shè)備的一部分的寫訪問優(yōu)先級;在第一服務(wù)器處執(zhí)行寫請求,以便寫入數(shù)據(jù)到第一大容量存儲設(shè)備的所述部分;使用第一服務(wù)器的鏡像引擎,傳輸寫請求的拷貝到第二服務(wù)器,以便使數(shù)據(jù)能夠被寫入到第二大容量存儲設(shè)備,由此允許第一服務(wù)器和第二服務(wù)器都可訪問數(shù)據(jù),其中從第一服務(wù)器和第二服務(wù)器的立場來看,該數(shù)據(jù)好象是已經(jīng)被保存在一存儲區(qū)域網(wǎng)絡(luò)的共享存儲節(jié)點(diǎn)中了。
17.如權(quán)利要求16所述的鏡像數(shù)據(jù)的方法,其中使用管轄協(xié)議模塊的動作包含第一服務(wù)器與第二服務(wù)器進(jìn)行通信以確定第二服務(wù)器目前不具有寫訪問優(yōu)先級的動作。
18.如權(quán)利要求17所述的鏡像數(shù)據(jù)的方法,其中通信動作是在網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)上通過通信執(zhí)行的,其中該基礎(chǔ)結(jié)構(gòu)還被網(wǎng)絡(luò)用來在工作站和服務(wù)器之間傳輸數(shù)據(jù)。
19.如權(quán)利要求16所述的鏡像數(shù)據(jù)的方法,進(jìn)一步包含動作經(jīng)歷故障,以便使數(shù)據(jù)不可從第二大容量存儲設(shè)備中訪問;執(zhí)行對其它數(shù)據(jù)的一讀請求,其中其它數(shù)據(jù)響應(yīng)于第二服務(wù)器已經(jīng)接收了另一個寫請求而已經(jīng)被鏡像到第一大容量存儲設(shè)備中,其中該另一個寫請求指定所述其它數(shù)據(jù)將被存儲,并且通過從第一大容量存儲設(shè)備訪問該數(shù)據(jù)來執(zhí)行該讀請求。
20.一個虛擬存儲區(qū)域網(wǎng)絡(luò),允許第一服務(wù)器和第二服務(wù)器訪問來自物理上不同的大容量存儲設(shè)備的相同數(shù)據(jù),該虛擬共享存取網(wǎng)絡(luò)包含第一服務(wù)器,能夠從網(wǎng)絡(luò)客戶機(jī)接收寫請求和讀請求,第一服務(wù)器具有第一大容量存儲設(shè)備;以及第一鏡像引擎;第二服務(wù)器,能夠從網(wǎng)絡(luò)客戶機(jī)接收寫請求和讀請求,第二服務(wù)器具有第二大容量存儲設(shè)備;以及第二鏡像引擎;以及用于在第一鏡像引擎和第二鏡像引擎之間通信的裝置,允許第一鏡像引擎把還被寫入到第一大容量存儲設(shè)備的第一數(shù)據(jù)鏡像到第二大容量存儲設(shè)備,并且進(jìn)一步允許第二鏡像引擎把還被寫入到第二大容量存儲設(shè)備的第二數(shù)據(jù)鏡像到第一大容量存儲設(shè)備,由此允許第一服務(wù)器和第二服務(wù)器訪問來自物理上不同的大容量存儲設(shè)備的相同數(shù)據(jù)。
21.如權(quán)利要求20所述的虛擬存儲區(qū)域網(wǎng)絡(luò),其中用于通信的裝置包含在第一鏡像引擎和第二鏡像引擎之間的專用鏈路。
22.如權(quán)利要求20所述的虛擬存儲區(qū)域網(wǎng)絡(luò),其中用于通信的裝置被包含在網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)中,其中該基礎(chǔ)結(jié)構(gòu)還被網(wǎng)絡(luò)用來在工作站和服務(wù)器之間傳輸數(shù)據(jù)。
23.如權(quán)利要求20所述的虛擬存儲區(qū)域網(wǎng)絡(luò),進(jìn)一步包含第三服務(wù)器,它能夠從網(wǎng)絡(luò)客戶機(jī)接收寫請求和讀請求,第三服務(wù)器具有第三大容量存儲設(shè)備;以及第三鏡像引擎,其中第三鏡像引擎能夠把將被寫入到第三大容量存儲設(shè)備的數(shù)據(jù)鏡像到第一大容量存儲設(shè)備和第二大容量存儲設(shè)備。
24.如權(quán)利要求23所述的虛擬存儲區(qū)域網(wǎng)絡(luò),進(jìn)一步包含用于在第三服務(wù)器和第一服務(wù)器之間、以及在第三服務(wù)器和第二服務(wù)器之間通信的裝置。
25.如權(quán)利要求20所述的虛擬存儲區(qū)域網(wǎng)絡(luò),其中第一服務(wù)器和第二服務(wù)器執(zhí)行管轄協(xié)議,以在接收一寫請求時確定一服務(wù)器是否具有用于寫入數(shù)據(jù)到第一大容量存儲設(shè)備和第二大容量存儲設(shè)備的寫訪問優(yōu)先級。
26.如權(quán)利要求25所述的虛擬存儲區(qū)域網(wǎng)絡(luò),其中管轄協(xié)議允許第一服務(wù)器和第二服務(wù)器當(dāng)且僅當(dāng)寫請求具有優(yōu)于其它任何寫請求的優(yōu)先級時、響應(yīng)于寫請求把數(shù)據(jù)寫入到第一大容量存儲設(shè)備和第二大容量存儲設(shè)備的一特定部分,其中該其它任何寫請求對于第一大容量存儲設(shè)備和第二大容量存儲設(shè)備的該特定部分來說可能是待決的。
27.如權(quán)利要求25所述的虛擬存儲區(qū)域網(wǎng)絡(luò),其中第一服務(wù)器進(jìn)一步具有第一管轄協(xié)議模塊;并且第二服務(wù)器進(jìn)一步具有第二管轄協(xié)議模塊,其中第一管轄協(xié)議模塊和第二管轄協(xié)議模塊一起使用以執(zhí)行管轄協(xié)議。
全文摘要
使用管轄協(xié)議(311、321)和鏡像引擎(317、327)而沒有一個物理的共享存儲節(jié)點(diǎn),鏡像數(shù)據(jù)以提供一個虛擬存儲區(qū)域網(wǎng)絡(luò)(340)。鏡像引擎(317、327)位于網(wǎng)絡(luò)301中的每個服務(wù)器計算機(jī)310、320處,以便在服務(wù)器接收和執(zhí)行寫操作時在服務(wù)器(310、320)的大容量存儲設(shè)備(319、329)之間鏡像數(shù)據(jù),這導(dǎo)致每個大容量存儲設(shè)備包含相同的存儲數(shù)據(jù)。管轄協(xié)議(311、321)通過每次不允許一個以上的服務(wù)器(310、320)寫入一數(shù)據(jù)文件來防止數(shù)據(jù)損壞。如果一個服務(wù)器(310、320)經(jīng)歷故障、并且不能提供對網(wǎng)絡(luò)數(shù)據(jù)的訪問,則其它服務(wù)器能夠服務(wù)于所有讀請求,是由于所有網(wǎng)絡(luò)數(shù)據(jù)可由所有服務(wù)器訪問。不同于常規(guī)的存儲區(qū)域網(wǎng)絡(luò),沒有物理的共享存儲節(jié)點(diǎn),并且因此,獲得和操作虛擬存儲區(qū)域網(wǎng)絡(luò)(340)的成本是相對小的。
文檔編號G06F13/10GK1520564SQ02812792
公開日2004年8月11日 申請日期2002年6月25日 優(yōu)先權(quán)日2001年6月26日
發(fā)明者邁克爾·R·奧赫朗, 邁克爾 R 奧赫朗 申請人:Emc公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1