專利名稱:云存儲環(huán)境中的鏡像解決方案的制作方法
技術領域:
本公開涉及對云存儲環(huán)境中的鏡像節(jié)點進行高速緩存。
背景技術:
在此提供的背景技術描述是出于一般性地呈現(xiàn)本公開上下文的目的。在本背景技術部分中所描述的程度上的當前提名發(fā)明人的工作以及在提交時不作為現(xiàn)有技術的描述的各方面,都不被明示或者暗示地承認為本公開的現(xiàn)有技術。在云存儲環(huán)境中,服務器提供共享存儲以用于操作一個或多個虛擬機(VM)。遠程用戶訪問服務器以使用由VM中的相應VM實現(xiàn)的操作系統(tǒng)。僅出于示例,用戶經由對應的客戶端工作站或計算機來訪問服務器??蛻舳斯ぷ髡九c網絡節(jié)點集群通信,網絡節(jié)點集群轉而與服務器對接。例如,每個客戶端工作站可以與節(jié)點之一通信,該節(jié)點代表客戶端工作站中的一個或多個客戶端工作站與服務器通信。節(jié)點對客戶端工作站使用的數(shù)據進行高速緩存。因此,客戶端工作站可得到數(shù)據而無需直接訪問服務器。
發(fā)明內容
配置用于提供對共享存儲的訪問的系統(tǒng)包括第一網絡節(jié)點,該第一網絡節(jié)點配置用于向第一多個客戶端工作站提供對共享存儲的訪問。該第一網絡節(jié)點包括第一高速緩存存儲器模塊和第一高速緩存控制模塊,該第一高速緩存存儲器模塊配置用于存儲對應于該第一多個客戶端工作站的第一數(shù)據,并且該第一高速緩存控制模塊配置用于從第一高速緩存存儲器模塊向共享存儲傳送第一數(shù)據。第二網絡節(jié)點配置用于向第二多個客戶端工作站提供對共享存儲的訪問。該第二網絡節(jié)點包括第二高速緩存存儲器模塊和第二高速緩存控制模塊,該第二高速緩存存儲器模塊配置用于存儲對應于該第二多個客戶端工作站的第二數(shù)據并且存儲第一數(shù)據,并且該第二高速緩存控制模塊配置用于從第二高速緩存存儲器模塊向共享存儲傳送第二數(shù)據,并且響應于第一網絡節(jié)點的故障,從第二高速緩存存儲器模塊向共享存儲傳送第一數(shù)據。在其他特征中,集群管理模塊配置用于檢測第一網絡節(jié)點的故障,以及指示第二網絡節(jié)點向共享存儲傳送第一數(shù)據。第一網絡節(jié)點配置用于當至少一個第一數(shù)據被寫入第一網絡節(jié)點并且該第一數(shù)據在該第一網絡節(jié)點中被修改時,向第二網絡節(jié)點傳送第一數(shù)據。第一網絡節(jié)點配置用于響應于第一網絡節(jié)點向共享存儲傳送第一數(shù)據而指示第二網絡節(jié)點使存儲在第二高速緩存存儲器模塊中的第一數(shù)據無效。在其他特征中,配置用于提供對共享存儲的訪問的系統(tǒng)包括布置在節(jié)點集群中的多個網絡節(jié)點,該多個網絡節(jié)點中的每一個網絡節(jié)點配置用于向多個客戶端工作站提供對共享存儲的訪問。集群管理模塊配置用于向節(jié)點配對指派每個網絡節(jié)點。每個節(jié)點配對包括原始網絡節(jié)點和鏡像網絡節(jié)點。原始網絡節(jié)點配置用于存儲與多個客戶端工作站的第一分組相關聯(lián)的第一數(shù)據。鏡像網絡節(jié)點配置用于存儲第一數(shù)據以及存儲與多個客戶端工作站的第二分組相關聯(lián)的第二數(shù)據。鏡像網絡節(jié)點配置用于響應于原始網絡節(jié)點的故障而向共享存儲傳送第一數(shù)據。在其他特征中,集群管理模塊配置用于檢測是否多個網絡節(jié)點之一發(fā)生故障并且向節(jié)點配對重新分配多個網絡節(jié)點。本公開的適用性的其他領域將通過詳細描述、權利要求書和附圖變得顯而易見。 詳細描述和具體示例僅僅是為了示例說明的目的,而并不是旨在限制本公開范圍。
本公開將通過詳細描述和隨附的附圖被更加充分地理解,在附圖中圖I是根據本公開的云存儲環(huán)境的功能框圖;圖2是根據本公開的節(jié)點配對的功能框圖;圖3是根據本公開的節(jié)點集群的功能框圖;以及圖4圖示了根據本公開的節(jié)點配對方法的步驟。
具體實施例方式云存儲環(huán)境中的網絡節(jié)點以集群方式進行布置。每個集群與集群管理模塊對接。 集群管理模塊對節(jié)點進行管理和配置。僅出于示例,集群管理模塊基于可用性和負載平衡來管理節(jié)點、多個客戶端工作站以及服務器之間的通信。客戶端工作站中的一個或多個客戶工作站經由節(jié)點中的選定節(jié)點與服務器通信。 因此,選定節(jié)點存儲由客戶端工作站使用的數(shù)據以最小化客戶端工作站與服務器之間的通信。如果節(jié)點出現(xiàn)故障,則向不同節(jié)點分配客戶端工作站,并且經由該不同節(jié)點與服務器通信。如果節(jié)點在該節(jié)點中存儲的任何經修改的數(shù)據被沖向(flush)(即,傳送)服務器之前出現(xiàn)故障,則經修改的數(shù)據對于客戶端工作站而言丟失。在根據本公開的原理的云存儲環(huán)境中,每個節(jié)點與另一節(jié)點配對并且在特定條件下(例如,當在該節(jié)點中執(zhí)行寫入操作時)將數(shù)據沖向另一節(jié)點。如果節(jié)點出現(xiàn)故障,則向另一節(jié)點分配與該節(jié)點相關聯(lián)的任何客戶端工作站。因此,最小化由該節(jié)點的故障引起的數(shù)據丟失。現(xiàn)在參考圖1,在云存儲環(huán)境中操作的系統(tǒng)100包括共享存儲104(例如,由網絡服務器提供的共享存儲,諸如文件夾(filer))。多個節(jié)點集群108-1、108-2. . . 108_m(統(tǒng)稱為節(jié)點集群108)與共享存儲104通信。節(jié)點集群108相對于共享存儲104而言可以位于本地或者遠程。節(jié)點集群108中的每個集群都包括多個網絡節(jié)點112-1、112-2. . . 112_n(統(tǒng)稱為網絡節(jié)點112)和集群管理模塊116。雖然節(jié)點集群108-1被示出為具有n個節(jié)點,但是應當理解,其他節(jié)點集群108-2. .. 108-m可以包括n個或其他數(shù)目的節(jié)點。僅出于示例, 每個節(jié)點集群108可以包括16個節(jié)點112。換言之,節(jié)點集群108-1可以包括16個節(jié)點 112-1. . . 112-16。類似地,節(jié)點集群108-2可以包括另外16個節(jié)點112-1. . . 112-16,這些節(jié)點與節(jié)點集群108-1的節(jié)點不同。另外,雖然與節(jié)點112分開示出,但是集群管理模塊116 也可以與節(jié)點112中的一個或多個節(jié)點集成。多個客戶端工作站120-1、120-2. . . 120-p (統(tǒng)稱為客戶端工作站120)經由節(jié)點112與共享存儲104對接。例如,每個客戶端工作站120 可以執(zhí)行主應用,該主應用與在節(jié)點112和共享存儲104上實現(xiàn)的虛擬機(VM)對接。節(jié)點集群108之一中的每個節(jié)點112對客戶端工作站120的相關聯(lián)的客戶端工作站所使用的數(shù)據進行高速緩存,以用于與對應的VM對接。此外,每個節(jié)點112與另一節(jié)點 112配對。例如,在第一節(jié)點配對中,節(jié)點112-1可以是原始節(jié)點,而節(jié)點112-2可以是針對該原始節(jié)點的配對節(jié)點(即,鏡像節(jié)點)。相反地,在第二節(jié)點配對中,節(jié)點112-2可以是原始節(jié)點,而節(jié)點112-n可以是鏡像節(jié)點。在第n個節(jié)點配對中,節(jié)點112-n可以是原始節(jié)點,而節(jié)點112-1可以是鏡像節(jié)點。因此,節(jié)點集群108中的每個節(jié)點112在一個節(jié)點配對中為原始節(jié)點(例如,第一節(jié)點配對中的節(jié)點112-1),而在另一節(jié)點配對中為鏡像節(jié)點(例如,第n個節(jié)點配對中的節(jié)點112-1)。在每個節(jié)點配對中,原始節(jié)點配對相關聯(lián)的客戶端工作站120的數(shù)據進行高速緩存,并且還向鏡像節(jié)點提供其相關聯(lián)的客戶端工作站120的數(shù)據。例如,節(jié)點112-1對客戶端工作站120的數(shù)據進行高速緩存并且向節(jié)點112-2提供該數(shù)據。在每個節(jié)點集群108中,對應的集群管理模塊116管理客戶端工作站120向節(jié)點 112的分配和重新分配,并且向相應的節(jié)點配對分配節(jié)點112。僅出于示例,集群管理模塊 116可以存儲標識客戶端工作站120與節(jié)點之間的關聯(lián)的信息,以及存儲標識每個節(jié)點配對的原始節(jié)點與鏡像節(jié)點的信息??梢曰谝韵聵藴氏蛩雠鋵Ψ峙涔?jié)點112,該標準包括但不限于故障區(qū)域和/或電源使用。例如,集群管理模塊116可以向所述配對分配節(jié)點 112,從而使得每個配對中的節(jié)點112不使用相同的電源和/或不位于相同的故障區(qū)域中。 此外,雖然節(jié)點112被描述為分配到節(jié)點配對,但是應當理解,在其他實施方式中,某些節(jié)點112可以與不止一個其他節(jié)點配對。集群管理模塊116確定是否節(jié)點112之一出現(xiàn)故障。僅出于示例,如果節(jié)點112沒有響應集群管理模塊116傳輸?shù)奶囟〝?shù)據分組;如果另一個節(jié)點112向集群管理模塊116 通知嘗試訪問節(jié)點112不成功,以及/或者一個或多個其他錯誤條件,則集群管理模塊116 可以確定該節(jié)點112出現(xiàn)故障。如果節(jié)點112的原始節(jié)點出現(xiàn)故障,則集群管理模塊116 指示對應的鏡像節(jié)點將對應的原始節(jié)點的數(shù)據沖向共享存儲104。鏡像節(jié)點將該數(shù)據沖向共享存儲104,并且當沖送傳輸完成時,通知集群管理模塊116。因此,盡管原始節(jié)點出現(xiàn)了故障,但該原始節(jié)點的數(shù)據仍然對于客戶端工作站120可用。集群管理模塊116向一個或多個其他節(jié)點112重新分配對應于發(fā)生故障的原始節(jié)點的VM,并且可以重新分配節(jié)點配對。例如,發(fā)生故障的原始節(jié)點還可能已經是另一節(jié)點112的鏡像節(jié)點。因此,集群管理模塊116還指示節(jié)點112的另一節(jié)點將其數(shù)據沖向共享存儲104,并且可以向節(jié)點112的另一節(jié)點重新分配不同鏡像節(jié)點。節(jié)點112的另一節(jié)點還可以轉變成直寫模式(writethrough mode),直到其與不同鏡像節(jié)點配對為止。例如,在直寫模式中,節(jié)點112中的所有寫入操作被復制到共享存儲104中。如果與原始節(jié)點相關聯(lián)的客戶端工作站120被分配到一個不同節(jié)點112,則集群管理模塊116還可以指示鏡像節(jié)點將對應的原始節(jié)點的數(shù)據沖向共享存儲104。因此,如果客戶端工作站120通過該不同的節(jié)點112訪問共享存儲104,則沖向共享存儲104的數(shù)據仍然對于客戶端工作站120可用?,F(xiàn)在參考圖2,節(jié)點集群200包括具有原始節(jié)點208和鏡像節(jié)點212的節(jié)點配對 204。雖然可以理解節(jié)點集群200包括多個附加節(jié)點(例如,總共16個節(jié)點),但是出于說明的目的只示出了節(jié)點配對204。例如,原始節(jié)點208可以是不同節(jié)點配對中的鏡像節(jié)點。 節(jié)點配對204與集群管理模塊216、共享存儲220和相應的客戶端工作站224和228進行通f目。原始節(jié)點208包括高速緩存控制模塊240、高速緩存存儲器模塊244(例如,LI高速緩存)和高速緩存固態(tài)驅動(SSD)模塊248 (例如,L2高速緩存)。僅出于示例,高速緩存存儲器模塊244可以是LI ( S卩,等級I)存儲器,其相對于高速緩存SSD模塊248 (例如, L2或等級2存儲器)而言較快并且具有較少的存儲空間。相反,鏡像節(jié)點212包括高速緩存控制模塊252、高速緩存存儲器模塊256和高速緩存SSD模塊260。僅出于示例,高速緩存存儲器模塊244和256可以包括非易失性存儲器,諸如NVRAM。相反,高速緩存存儲器模塊248和260可以包括SSD。此外,雖然原始節(jié)點208和鏡像節(jié)點212被示出為包括高速緩存模塊244、248、252和256,但是原始節(jié)點208和鏡像節(jié)點212可以包括任何其他適合的高速緩存存儲器布置。當數(shù)據在原始節(jié)點208中被修改時(例如,基于與客戶端工作站224之一的交互將數(shù)據寫入原始節(jié)點208或在原始節(jié)點208中進行修改),原始節(jié)點208的高速緩存控制模塊240將經修改的數(shù)據存儲到高速緩存模塊244和248中的一個或兩者中,并且將經修改的數(shù)據沖向鏡像節(jié)點212。高速緩存控制模塊240還可以根據任何適合的標準將數(shù)據沖向共享存儲220。例如,高速緩存控制模塊240可以周期性地和/或基于達到預定的經修改數(shù)據量來將數(shù)據沖向共享存儲220。高速緩存控制模塊252將經修改的數(shù)據存儲到高速緩存模塊256和260中的一個或兩者中。如果原始節(jié)點208出現(xiàn)故障,則集群管理模塊216檢測該故障,并且指示鏡像節(jié)點212的高速緩存控制模塊252將經修改的數(shù)據沖向共享存儲220。當將經修改的數(shù)據向共享存儲220的沖送傳輸完成時,高速緩存控制模塊252通知集群管理模塊216,并且集群管理模塊216向不同節(jié)點重新分配客戶端工作站224(和任何對應的VM)。集群管理模塊 216還可以在節(jié)點集群200中重新分配節(jié)點配對。相反,如果鏡像節(jié)點212出現(xiàn)故障,則集群管理模塊216可以通知原始節(jié)點208鏡像節(jié)點212出現(xiàn)故障。作為響應,原始節(jié)點208可以將數(shù)據沖向共享存儲220并且不再嘗試將數(shù)據沖向鏡像節(jié)點。僅出于示例,原始節(jié)點208可以按照直寫模式將數(shù)據沖向共享存儲220 (例如,原始節(jié)點208中的所有寫入操作均被復制/備份到共享存儲220),直到集群管理模塊向原始節(jié)點208分配新的鏡像節(jié)點。在一個實現(xiàn)中,原始節(jié)點208的高速緩存控制模塊240可以響應于數(shù)據被寫入高速緩存存儲器模塊244和248中的一個或兩者(即,數(shù)據在其中被修改)而將經修改的數(shù)據沖向鏡像節(jié)點212。僅出于示例,高速緩存控制模塊252將存儲在高速緩存模塊244和 248中數(shù)據的備份映像(即,拷貝)存儲到高速緩存存儲器模塊256。最初,備份映像數(shù)據被存儲到高速緩存存儲器模塊256,然后高速緩存控制模塊252可以將該備份映像數(shù)據從高速緩存存儲器模塊256傳送到高速緩存SSD模塊260。存儲到高速緩存模塊256和260 的備份映像數(shù)據可以被稱作“暫?!睌?shù)據。
鏡像節(jié)點212針對原始節(jié)點208 (例如,高速緩存模塊256和260)中發(fā)生的每個寫入操作維持被沖向鏡像節(jié)點212的暫停數(shù)據。當原始節(jié)點208中對應于鏡像節(jié)點212中的暫停數(shù)據的任何數(shù)據被修改(例如,重寫(overwrite))時,受影響的數(shù)據還被沖向鏡像節(jié)點212,從而使得鏡像節(jié)點212中的數(shù)據反映原始節(jié)點208中的經修改的數(shù)據。相反,當原始節(jié)點208中對應于鏡像節(jié)點212中的暫停數(shù)據的數(shù)據被沖向共享存儲220時,鏡像節(jié)點212中的暫停數(shù)據變成“無效”或“無暫停”。例如,如果原始節(jié)點208將數(shù)據沖向共享存儲220,則原始節(jié)點208可以指示鏡像節(jié)點212使任何對應的暫停數(shù)據無效。然而,在原始節(jié)點208出現(xiàn)故障之后,如果對應于無暫停數(shù)據的VM與鏡像節(jié)點212對接,則鏡像節(jié)點212 隨后可以重新使用被標記為“無暫?!钡臄?shù)據。鏡像節(jié)點212可以不使用該無效數(shù)據,并且如果鏡像節(jié)點212將數(shù)據標記為無效,則可以隨后改寫該無效數(shù)據,或者如果數(shù)據為“無暫停”,則可以在特定條件下重新使用該數(shù)據。此外,當集群管理模塊216確定原始節(jié)點208已經出現(xiàn)故障時,鏡像節(jié)點212將尚未無效的任何暫停數(shù)據沖向共享存儲220。例如,集群管理模塊216可以指示鏡像節(jié)點212 沖送傳輸暫停數(shù)據。現(xiàn)在參考圖3,節(jié)點集群300中的節(jié)點配對配置包括節(jié)點304-1、304_2、 304-3. . . 304-(n-1)和304_n (統(tǒng)稱為節(jié)點304),這些節(jié)點由集群管理模塊308進行管理。 節(jié)點304與共享存儲312通信。集群管理模塊308向節(jié)點配對分配節(jié)點304。例如,在第一節(jié)點配對中,節(jié)點304-1是原始節(jié)點而節(jié)點304-2是鏡像節(jié)點。類似地,在第二節(jié)點配對中,節(jié)點304-2是原始節(jié)點而節(jié)點304-3是鏡像節(jié)點。在第(n_l)個節(jié)點配對中,節(jié)點 304-(n-1)是原始節(jié)點而節(jié)點304-n是鏡像節(jié)點。相反,在第n個節(jié)點配對中,節(jié)點304_n 是原始節(jié)點而節(jié)點304-1是鏡像節(jié)點。因此,每個節(jié)點304在兩個節(jié)點配對中,并且每個節(jié)點304在一個節(jié)點配對中為原始節(jié)點而在另一節(jié)點配對中為鏡像節(jié)點。此外,如果任何節(jié)點304出現(xiàn)故障,則會影響兩個節(jié)點配對。每個節(jié)點304可以與唯一的標識符相關聯(lián)。當集群管理模塊308向節(jié)點配對分配兩個節(jié)點304時,節(jié)點配對中的每個節(jié)點304接收指示另一節(jié)點304的唯一標識符的信息。 例如,集群管理模塊308可以向節(jié)點304-2提供節(jié)點304-1的標識符,以用于將節(jié)點304-1 標識為原始節(jié)點。相反,集群管理模塊308可以向節(jié)點304-1提供節(jié)點304-2的標識符,以用于將節(jié)點304-2標識為鏡像節(jié)點?;谠脊?jié)點的標識符,鏡像節(jié)點提供對原始節(jié)點的訪問并且保留預定存儲器量以存儲從原始節(jié)點沖送傳輸?shù)臄?shù)據。當節(jié)點304中的一個節(jié)點出現(xiàn)故障時,集群管理模塊308從對應的節(jié)點配對以及節(jié)點集群300移除該節(jié)點304。例如,如果節(jié)點304-1出現(xiàn)故障,則集群管理模塊308指示節(jié)點304-2不允許來自節(jié)點304-1的任何后續(xù)數(shù)據,并且將對應于節(jié)點304-1的任何暫停數(shù)據沖向共享存儲312。集群管理模塊308還可以指示節(jié)點304-n不再將數(shù)據沖向節(jié)點 304-1。在任何受影響節(jié)點的數(shù)據被沖送傳輸之后,集群管理模塊308可以向不具有節(jié)點 304-1的節(jié)點配對重新分配節(jié)點304。例如,在第一節(jié)點配對中,節(jié)點304-2可以是原始節(jié)點而節(jié)點304-3可以是鏡像節(jié)點。在第(n-2)個節(jié)點配對中,節(jié)點304-(n_l)可以是原始節(jié)點而節(jié)點304-n可以是鏡像節(jié)點。在第(n-1)個節(jié)點配對中,節(jié)點304_n可以是原始節(jié)點而節(jié)點304-2可以是鏡像節(jié)點。因此,發(fā)生故障的節(jié)點304-1不再被分配到節(jié)點集群300中的任何節(jié)點配對。集群管理模塊308可以重新引導(reboot)節(jié)點304-1或者采取其他補救措施來修復節(jié)點304-1。如果成功,則節(jié)點304-1可以重新進入節(jié)點集群300并被分配給節(jié)點配對?,F(xiàn)在參考圖4,節(jié)點配對方法400開始于404。在408處,方法400向具有原始節(jié)點和鏡像節(jié)點的節(jié)點配對分配節(jié)點集群中的節(jié)點。在412處,方法400確定是否節(jié)點集群中的任何節(jié)點出現(xiàn)了故障。如果為真,則方法400繼續(xù)到416。如果為假,則方法400繼續(xù)到420。在416處,方法400將受節(jié)點故障影響的任何節(jié)點沖向共享存儲。例如,方法400 將出現(xiàn)故障的節(jié)點的鏡像節(jié)點以及還可以將出現(xiàn)故障的節(jié)點的對應原始節(jié)點沖向不同的節(jié)點配對。在424處,方法400從節(jié)點集群中的任意節(jié)點配對移除出現(xiàn)故障的節(jié)點。方法 400繼續(xù)到408以向不具有出現(xiàn)故障的節(jié)點的節(jié)點配對分配節(jié)點集群中的節(jié)點。在420處,方法400確定原始節(jié)點中是否存在寫入操作以及是否支持回寫(即,將寫入內容復制到對應的鏡像節(jié)點)。如果為真,則方法400繼續(xù)到428。如果為假,則方法 400繼續(xù)到412。在428處,方法400將原始節(jié)點中的經修改的或寫入的數(shù)據復制到對應的鏡像節(jié)點。在432處,方法400確定原始節(jié)點是否將數(shù)據沖向共享存儲。如果為真,則方法 400繼續(xù)到436。如果為假,則方法400繼續(xù)到412。在436處,方法400使鏡像節(jié)點中的數(shù)據無效,所述鏡像節(jié)點中的數(shù)據對應于由原始節(jié)點沖送傳輸?shù)臄?shù)據。上述描述本質上僅是說明性的,并且絕非旨在限制本公開、其應用或使用。本公開的廣義教導可以通過各種形式實現(xiàn)。因此,雖然本公開包括特定示例,但是本公開的實際范圍并不應當如此受限,這是因為其他修改在研習了附圖、說明書和所附權利要求書之后將會變得顯而易見。出于清楚的目的,相同的參考標號在圖中將用于標識類似的元素。如在此所用,短語A、B和C中至少一個應被解釋為意味著使用非排他性邏輯OR的邏輯(A或B 或C)。應該理解,在不改變本公開原理的情況下,方法中的一個或多個步驟可以按照不同的順序(或者同時)執(zhí)行。如在此所用,術語模塊可以指代、包括專用集成電路(ASIC);電子電路;組合邏輯電路;現(xiàn)場可編程門陣列(FPGA);執(zhí)行代碼的處理器(共享、專用或分組);提供所述功能的其他適合的硬件組件;或者上述某些或所有的組合(諸如在片上系統(tǒng)中)或者作為上述中的一部分。術語模塊可以包括存儲供處理器執(zhí)行的代碼的存儲器(共享、專用或分組)。如上文所用的術語代碼可以包括軟件、固件和/或微代碼,并且可以指代程序、例程、函數(shù)、類和/或對象。如上文所用的術語共享意味著來自多個模塊的某些或所有代碼可以使用單個(共享)處理器來執(zhí)行。另外,來自多個模塊的某些或所有代碼可以由單個(共享)存儲器來存儲。如上文所用的術語分組意味著來自單個模塊的某些或所有代碼可以使用處理器分組來執(zhí)行。另外,來自單個模塊的某些或所有代碼可以使用存儲器分組來存儲。在此所述的裝置和方法可以通過由一個或多個處理器執(zhí)行的一個或多個計算機程序來實現(xiàn)。計算機程序包括處理器可執(zhí)行指令,該指令存儲在非瞬態(tài)有形計算機可讀介質上。計算機程序還可以包括所存儲的數(shù)據。非瞬態(tài)有形計算機可讀介質的非限制示例為非易失性存儲器、磁存儲和光存儲。
9
權利要求
1.一種配置用于提供對共享存儲的訪問的系統(tǒng),所述系統(tǒng)包括第一網絡節(jié)點,其配置用于向第一多個客戶端工作站提供對所述共享存儲的訪問,所述第一網絡節(jié)點包括第一高速緩存存儲器模塊,其配置用于存儲對應于所述第一多個客戶端工作站的第一數(shù)據;以及第一高速緩存控制模塊,其配置用于從所述第一高速緩存存儲器模塊向所述共享存儲傳送所述第一數(shù)據;以及第二網絡節(jié)點,其配置用于向第二多個客戶端工作站提供對所述共享存儲的訪問,所述第二網絡節(jié)點包括第二高速緩存存儲器模塊,其配置用于存儲對應于所述第二多個客戶端工作站的第二數(shù)據并且存儲所述第一數(shù)據;以及第二高速緩存控制模塊,其配置用于從所述第二高速緩存存儲器模塊向所述共享存儲傳送所述第二數(shù)據,并且響應于所述第一網絡節(jié)點的故障,從所述第二高速緩存存儲器模塊向所述共享存儲傳送所述第一數(shù)據。
2.根據權利要求I所述的系統(tǒng),進一步包括集群管理模塊,其配置用于向節(jié)點配對分配所述第二網絡節(jié)點和所述第一網絡節(jié)點。
3.根據權利要求2所述的系統(tǒng),其中所述集群管理模塊配置用于檢測所述第一網絡節(jié)點的故障,以及指示所述第二網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據。
4.根據權利要求2所述的系統(tǒng),其中所述集群管理模塊配置用于從所述節(jié)點配對移除所述第一網絡節(jié)點。
5.根據權利要求I所述的系統(tǒng),其中所述第一網絡節(jié)點配置用于當所述第一數(shù)據中的至少一個被寫入所述第一網絡節(jié)點并且所述第一數(shù)據在所述第一網絡節(jié)點中被修改時,向所述第二網絡節(jié)點傳送所述第一數(shù)據。
6.根據權利要求I所述的系統(tǒng),其中所述第一網絡節(jié)點配置用于響應于所述第一網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據而指示所述第二網絡節(jié)點使存儲在所述第二高速緩存存儲器模塊中的所述第一數(shù)據無效。
7.根據權利要求I所述的系統(tǒng),其中所述第一多個客戶端工作站配置用于根據從所述第二高速緩存存儲器模塊向所述共享存儲傳送的所述第一數(shù)據進行操作。
8.根據權利要求I所述的系統(tǒng),其中所述第一高速緩存存儲器模塊和所述第二高速緩存存儲器模塊包括NVRAM和固態(tài)驅動(SSD)中的至少一個。
9.根據權利要求I所述的系統(tǒng),其中所述第一數(shù)據和所述第二數(shù)據對應于虛擬機數(shù)據。
10.一種配置用于提供對共享存儲的訪問的系統(tǒng),所述系統(tǒng)包括布置在節(jié)點集群中的多個網絡節(jié)點,所述多個網絡節(jié)點中的每個網絡節(jié)點配置用于向多個客戶端工作站提供對所述共享存儲的訪問;以及集群管理模塊,其配置用于向節(jié)點配對指派每個所述網絡節(jié)點,其中每個所述節(jié)點配對包括原始網絡節(jié)點和鏡像網絡節(jié)點,所述原始網絡節(jié)點配置用于存儲與所述多個客戶端工作站的第一分組相關聯(lián)的第一數(shù)據,所述鏡像網絡節(jié)點配置用于存儲所述第一數(shù)據以及存儲與所述多個客戶端工作站的第二分組相關聯(lián)的第二數(shù)據,以及所述鏡像網絡節(jié)點配置用于響應于所述原始網絡節(jié)點的故障而向所述共享存儲傳送所述第一數(shù)據。
11.根據權利要求10所述的系統(tǒng),其中所述多個網絡節(jié)點中的每個網絡節(jié)點是第一節(jié)點配對中的原始網絡節(jié)點和第二節(jié)點配對中的鏡像網絡節(jié)點。
12.根據權利要求10所述的系統(tǒng),其中所述集群管理模塊配置用于檢測是否所述多個網絡節(jié)點中的一個網絡節(jié)點發(fā)生故障并且向節(jié)點配對重新分配所述多個網絡節(jié)點。
13.一種用于提供對共享存儲的訪問的方法,所述方法包括使用第一網絡節(jié)點,向第一多個客戶端工作站提供對所述共享存儲的訪問;存儲對應于所述第一多個客戶端工作站的第一數(shù)據;以及從所述第一網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據;以及使用第二網絡節(jié)點,向第二多個客戶端工作站提供對所述共享存儲的訪問;存儲對應于所述第二多個客戶端工作站的第二數(shù)據;存儲所述第一數(shù)據;從所述第二網絡節(jié)點向所述共享存儲傳送所述第二數(shù)據;以及響應于所述第一網絡節(jié)點的故障,從所述第二網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據。
14.根據權利要求13所述的方法,進一步包括向節(jié)點配對分配所述第二網絡節(jié)點和所述第一網絡節(jié)點。
15.根據權利要求14所述的方法,進一步包括檢測所述第一網絡節(jié)點的故障;以及指示所述第二網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據。
16.根據權利要求14所述的方法,進一步包括從所述節(jié)點配對移除所述第一網絡節(jié)
17.根據權利要求13所述的方法,進一步包括當所述第一數(shù)據中的至少一個被寫入所述第一網絡節(jié)點并且所述第一數(shù)據在所述第一網絡節(jié)點中被修改時,向所述第二網絡節(jié)點傳送所述第一數(shù)據。
18.根據權利要求13所述的方法,進一步包括響應于所述第一網絡節(jié)點向所述共享存儲傳送所述第一數(shù)據而指示所述第二網絡節(jié)點使存儲在所述第二網絡節(jié)點中的所述第一數(shù)據無效。
19.根據權利要求13所述的方法,其中所述第一多個客戶端工作站配置用于根據從所述第二網絡節(jié)點向所述共享存儲傳送的所述第一數(shù)據進行操作。
20.根據權利要求13所述的方法,其中所述第一數(shù)據和所述第二數(shù)據對應于虛擬機數(shù)據。
全文摘要
本發(fā)明涉及一種云存儲環(huán)境中的鏡像解決方案。配置用于提供對共享存儲的訪問的系統(tǒng)包括配置用于向第一多個客戶端工作站提供對共享存儲的訪問的第一網絡節(jié)點。該第一網絡節(jié)點包括配置用于存儲對應于該第一多個客戶端工作站的第一數(shù)據的第一高速緩存存儲器模塊,以及配置用于從第一高速緩存存儲器模塊向共享存儲傳送第一數(shù)據的第一高速緩存控制模塊。第二網絡節(jié)點配置用于向第二多個客戶端工作站提供對共享存儲的訪問。該第二網絡節(jié)點包括配置用于存儲對應于該第二多個客戶端工作站的第二數(shù)據并存儲第一數(shù)據的第二高速緩存存儲器模塊,以及配置用于從第二高速緩存存儲器模塊向共享存儲傳送第二數(shù)據并且響應于第一網絡節(jié)點的故障而從第二高速緩存存儲器模塊向共享存儲傳送第一數(shù)據的第二高速緩存控制模塊。
文檔編號H04L29/08GK102594858SQ20111037926
公開日2012年7月18日 申請日期2011年11月18日 優(yōu)先權日2010年11月19日
發(fā)明者A·P·戈爾, S·班德約帕德雅 申請人:馬維爾國際貿易有限公司