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

用于結(jié)合分布式raid執(zhí)行應(yīng)用的方法和系統(tǒng)的制作方法

文檔序號:6594096閱讀:142來源:國知局
專利名稱:用于結(jié)合分布式raid執(zhí)行應(yīng)用的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明總的涉及存儲設(shè)備的使用。更具體地,本發(fā)明的實施例涉及在存儲設(shè)備上 實施RAID和可以利用這個RAID功能的應(yīng)用。甚至更具體地,本發(fā)明的某些實施例涉及在 同一組計算設(shè)備上實施分布式RAID和一個或多個應(yīng)用。
背景技術(shù)
數(shù)據(jù)代表許多實體的重要的資產(chǎn)。因此,數(shù)據(jù)丟失,不管是偶然的還是由于惡意的 活動造成的,都會在人力浪費、來自客戶的信譽的丟失、時間的損失和潛在的法律義務(wù)方面 代價昂貴。為了確保用于商業(yè)、法律的或其它目的的數(shù)據(jù)的適當?shù)谋Wo,許多實體可能希望 通過使用各種各樣的技術(shù),包括數(shù)據(jù)存儲、冗余性、保密性等等,來保護它們的數(shù)據(jù)。然而, 這些技術(shù)可能與由被使用來處理或存儲這個數(shù)據(jù)的計算設(shè)備的狀態(tài)或配置所施加的其它 競爭約束條件或要求沖突。用于處理這些緊張狀態(tài)的一個方法是實施冗余磁盤陣列(RAID)。通常,RAID系 統(tǒng)劃分和復(fù)制在多個硬盤驅(qū)動器(或其它類型的存儲介質(zhì))上的數(shù)據(jù),統(tǒng)稱為陣列,以增加 可靠性,以及在某些情形下通過使用這些用于存儲的RAID系統(tǒng)而提高計算設(shè)備(被稱為主 機)的吞吐量。然后對于主機,RAID陣列可以呈現(xiàn)為一個或多個單片存儲區(qū)域。當主機希 望與RAID系統(tǒng)通信(讀出、寫入等等)時,主機就好像RAID陣列是單個盤那樣通信。RAID 系統(tǒng)又處理這些通信,以結(jié)合這樣的通信實施某個RAID級別。這些RAID級別可被設(shè)計成達 到在各種各樣的折衷,諸如可靠度、容量、速度等等之間的某個期望的平衡。例如,RAID(級 別)0把數(shù)據(jù)分布在幾個盤上,以使得它給出提高的速度和幾乎利用盤的全部容量,但如果 盤發(fā)生故障,則在盤上的所有的數(shù)據(jù)將丟失;RAID (級別)1使用兩個盤(或更多的盤),每 個盤存儲相同的數(shù)據(jù),以使得只要一個盤不出問題數(shù)據(jù)就不丟失。陣列的全部容量基本上 是單個盤的容量,以及RAID (級別)5組合三個或更多的盤,以使得它保護數(shù)據(jù)免得遭受何 一個盤的丟失;陣列的存儲容量被減小一個盤。在許多情形下,在給定現(xiàn)代計算設(shè)備的計算功率后,其在實施利用RAID系統(tǒng)的主 機的計算設(shè)備與實施RAID系統(tǒng)本身的計算設(shè)備之間可能存在一定的冗余量。除了物理部 件的冗余性以外,主機和RAID系統(tǒng)在運行期間也會消耗許多相同的資源。因為二者都可能 需要功率、冷卻、機架空間等等。而且,因為主機和RAID系統(tǒng)沿單獨的路徑通信以便實施 RAID系統(tǒng),可能需要利用某些網(wǎng)絡(luò)部件和路徑。這種情形會引起許多不希望的問題,包括增 加的硬件花費、通信瓶頸、需要大量物理空間來包含主機和RAID系統(tǒng)等等。因此,希望大大地改善這些問題。

發(fā)明內(nèi)容
給出了允許在實施分布式RAID系統(tǒng)的同一組計算設(shè)備上執(zhí)行各種不同的應(yīng)用的 系統(tǒng)和方法的實施例。具體地,在一個實施例中,為了允許在同一組計算設(shè)備上結(jié)合其它 應(yīng)用執(zhí)行分布式RAID應(yīng)用,可以在數(shù)據(jù)庫上執(zhí)行虛擬化層。通過使用這個虛擬化層,可以執(zhí)行一組期望的應(yīng)用程序,其中對于在虛擬化層上執(zhí)行的應(yīng)用的每個實例的上下文可被存 儲在卷(volume)中,被保持來利用分布式RAID系統(tǒng)。這些虛擬機(例如,被存儲在卷中的 應(yīng)用和任何可應(yīng)用的上下文信息)然后可以結(jié)合在任一個數(shù)據(jù)庫上的虛擬化層被執(zhí)行。這 樣,可以利用一組計算設(shè)備來實施分布式RAID系統(tǒng)和執(zhí)行利用這樣的分布式RAID系統(tǒng)的 應(yīng)用(這只是其中之一)。這些類型的應(yīng)用,例如,可包括視頻監(jiān)視應(yīng)用、游戲、零售或銀行 應(yīng)用、視頻流應(yīng)用、內(nèi)容操控應(yīng)用等等。通過結(jié)合實施分布式RAID系統(tǒng)的計算設(shè)備執(zhí)行這些應(yīng)用,可以得到許多優(yōu)點。首 先和最重要的,可以達到資源的聯(lián)合,減小與物理資源和安裝、配置、利用和保持這樣的資 源所需要的資源相關(guān)聯(lián)的花費,如可以需要較少的空間、功率、冷卻、備用部件等等。而且, 在實施應(yīng)用和分布式RAID系統(tǒng)時可以達到更大的速度,因為和這些應(yīng)用以及分布式RAID 系統(tǒng)的使用結(jié)合發(fā)生的通信可以較少或可以更快地進行。另外,故障容忍度水平可被引入到配置中,其中應(yīng)用的實例作為虛擬機被保存,它 們在實施分布式RAID系統(tǒng)的數(shù)據(jù)庫的虛擬化層上被執(zhí)行,正如在更詳細地考察本申請的 其余部分后將會看到的。概略地,這個故障容忍度水平可能起源于這樣的事實,每個虛擬機 (例如,執(zhí)行可以在虛擬化層上被執(zhí)行的應(yīng)用的實例)被存儲在分布式RAID系統(tǒng)的卷中,可 能意味著,在數(shù)據(jù)庫之一出現(xiàn)故障的情形下虛擬機可被恢復(fù)。另外,故障容忍度可被引入, 因為虛擬機可以在任何數(shù)據(jù)庫的虛擬化層上被執(zhí)行,因此即使在單個數(shù)據(jù)庫出現(xiàn)故障時, 每個虛擬機仍舊可被執(zhí)行。本發(fā)明的這些和其它方面,在結(jié)合以下的描述和附圖被考慮時將更好地被意識到 和理解。以下的描述,雖然指示本發(fā)明的各種實施例和本發(fā)明的許多具體的細節(jié),但是作為 說明而不是限制被給出的。在本發(fā)明的范圍內(nèi)可以作出許多替換、修改、添加、或重新安排, 以及本發(fā)明包括所有的這樣的替換、修改、添加、或重新安排。


伴隨本技術(shù)說明書并作為技術(shù)說明書的一部分的附圖被包括來描繪本發(fā)明的某 些方面。通過參考在附圖上顯示的示例性和非限制性的實施例,本發(fā)明和本發(fā)明所提供的 系統(tǒng)的部件和運行的更清晰的印象變得更為明顯,其中相同的附圖標記是指相同的部件。 應(yīng)當指出,在附圖上顯示的特性不一定按比例畫出。圖1是采用分布式RAID系統(tǒng)的結(jié)構(gòu)體系的一個實施例的框圖。圖2A是數(shù)據(jù)庫的一個實施例的框圖。圖2B是用于數(shù)據(jù)庫的結(jié)構(gòu)體系的一個實施例的框圖。圖3是數(shù)據(jù)庫的一個實施例的流程圖。圖4A是用于數(shù)據(jù)庫的結(jié)構(gòu)體系的一個實施例的框圖。圖4B是用于數(shù)據(jù)庫的結(jié)構(gòu)體系的一個實施例的框圖。圖4C是用于數(shù)據(jù)庫的結(jié)構(gòu)體系的一個實施例的框圖。圖5是利用在其上可以執(zhí)行其它應(yīng)用的分布式RAID系統(tǒng)的結(jié)構(gòu)體系的一個實施 例的框圖。圖6是用于在分布式RAID系統(tǒng)上執(zhí)行應(yīng)用的一個實施例的流程圖。圖7是描繪結(jié)合分布式RAID系統(tǒng)的虛擬機的存儲的一個實施例的框圖。
具體實施例方式本發(fā)明及其各種特性和有利的細節(jié),將參照在附圖上顯示的和在以下的說明中詳 細闡述的非限制性實施例更全面地進行說明。熟知的開始資料、處理技術(shù)、部件和設(shè)備的描 述被省略,以免用細節(jié)不必要地遮蔽本發(fā)明。然而,應(yīng)當看到,詳細說明和具體的例子,雖然 指示本發(fā)明的優(yōu)選實施例,但是作為說明而不是限制被給出的。在本發(fā)明概念的精神和/ 或范圍內(nèi)的各種替換、修改、添加、或重新安排,對于閱讀本公開內(nèi)容的本領(lǐng)域技術(shù)人員,將 是顯而易見。這里所討論的實施例可以以適當?shù)挠嬎銠C可執(zhí)行的指令被實施,這些指令可 以放置在計算機可讀的介質(zhì)(例如,硬盤驅(qū)動器)、硬件電路等等,或它們的任何組合。在討論具體的實施例之前,這里先描述用于實施某些實施例的硬件結(jié)構(gòu)體系的實 施例。一個實施例可包括與網(wǎng)絡(luò)通信地耦合的一個或多個計算機。正如本領(lǐng)域技術(shù)人員所 熟知的,計算機可包括中央處理單元(“CPU”)、至少一個只讀存儲器(“ROM”)、至少一個 隨機存取存儲器(“RAM”)、至少一個硬盤驅(qū)動器(“皿”)、和一個或多個輸入/輸出(“I/ 0”)設(shè)備。I/O設(shè)備可包括鍵盤、監(jiān)視器、打印機、電子定向設(shè)備(諸如鼠標、跟蹤球、指示筆 等)等等。在各種實施例中,計算機通過網(wǎng)絡(luò)接入到至少一個數(shù)據(jù)庫。ROM、RAM和HD是用于存儲由CPU可執(zhí)行的、計算機可執(zhí)行的指令的計算機存儲器。 在本公開內(nèi)容內(nèi),術(shù)語“計算機可讀的介質(zhì)”并不限于R0M、RAM、和HD,而是可包括任何類型 的、可以由處理器讀出的數(shù)據(jù)存儲介質(zhì)。在某些實施例中,計算機可讀的介質(zhì)可以是指數(shù)據(jù) 盒式磁帶、數(shù)據(jù)備份磁帶、軟盤、快閃存儲器驅(qū)動器、和光學(xué)數(shù)據(jù)存儲驅(qū)動器、CD-ROM、ROM、 RAM、HD 等等。這里描述的功能實體或處理過程的至少一部分可以以適當?shù)挠嬎銠C可執(zhí)行的指 令被實施。計算機可執(zhí)行的指令可以作為軟件代碼部件或模塊被存儲在一個或多個計算機 可讀的介質(zhì)上(諸如,非易失性存儲器、易失性存儲器、DASD陣列、磁帶、軟盤、硬盤驅(qū)動器、 光學(xué)存儲設(shè)備等等、或任何其它適當?shù)挠嬎銠C可讀的介質(zhì)或存儲設(shè)備)。在一個實施例中, 計算機可執(zhí)行的指令可包括成行的、匯編的C++、Java, HTML、或任何其它編程或腳本代碼。另外,所公開的實施例的功能可以在一個計算機上被實施,或在網(wǎng)絡(luò)上在兩個或 更多個計算機之間被共享/分布。在實施本實施例的計算機之間的通信可以通過使用任何 的電子的、光學(xué)的、射頻的信號、或其它適當?shù)姆椒ê妥駨囊阎木W(wǎng)絡(luò)協(xié)議的通信工具而被 完成。正如這里使用的,術(shù)語“包括”、“具有”、或它們的其它變例,意在覆蓋非排他的包 括。例如,包括一系列單元的過程、處理、物體、設(shè)備不一定僅僅限于那些單元,而是可包括 沒有明顯列出的,或?qū)τ谶@樣的過程、處理、物體、設(shè)備來說是固有的其它單元。而且,除非 明示的相反表示,“或”是指“包括的或”,而不是“排他的或”。例如,條件A或B由以下的任 一項被滿足:A是正確(或存在)和B是錯誤(或不存在),A是錯誤(或不存在)和B是 正確(或存在),以及A和B都是正確(或存在)。另外,這里給出的例子或說明無論如何不看作為對于它們被利用的任何術(shù)語的約 束、限制、極限或表達它的定義。而是,這些例子或說明被看作為是對于一個特定的實施例 描述的,以及僅僅作為說明性的。本領(lǐng)域技術(shù)人員將意識到,這些例子或說明利用的任何術(shù) 語將包括在本說明書的此處或他處可能給出或沒有給出的其他實施例,并且所有的這樣的實施例意在被包括在該術(shù)語的范圍內(nèi)。指定這樣的非限制性例子和說明的語言包括,但不 限于“例如”、“舉例”、“在一個實施例中”。本申請涉及到由feilloway等在2009年6月5日提交的、題目為“Method and System for Distributed RAID Implementation” 的美國專利申請 No. 12/479,319 ;由 fellIoway 等在 2009 年 6 月 5 日提交的、題目為"Method and System for Data Migration in a Distributed RAID Implementation” 的美國專利申請 No. 12/479,360 ;由 Galloway 等在 2009年 6 月 5 日提交的、題目為“Method and System for DistributingCommands to Targets”的美國專利申請No. 12/479,403 ;由fellloway等在2009年6月5日提交的、題目 為“Method and System for Initializing Storage in a Storage System,,的美國專利申 請 No. 12/479,377 ;由 Galloway 等在 2009 年 6 月 5 日提交的、題目為‘‘Method and System for Rebuilding Data in a Distributed RAIDSystem”的美國專利申請No. 12/479, 434 ;和 由 Galloway 等在 2009 年 6 月 5 日提交的、題目為"Method and System for Placement of Data on aStorage Device”的美國專利申請No. 12/479,394 ;和由Galloway等提交的、題目 為“Method and System for Protecting Against MultipleFailures in a RAID System,, 的專利申請No.__(PIV0T1170-1);所有這些專利申請在此通過引用并入本文?,F(xiàn)在,具體地對于數(shù)據(jù)存儲的進行上下文的概略的討論是有幫助的。正如以上討 論的,RAID系統(tǒng)在多個硬盤驅(qū)動器(或其它類型的存儲介質(zhì)),統(tǒng)稱為陣列上劃分和復(fù)制數(shù) 據(jù),以便通過使用這些RAID系統(tǒng)用于存儲而增加可靠度,和在某些情形下,提高計算設(shè)備 (稱為主機)的吞吐量。然而,RAID的當前的實施方案可能有各種各樣的問題。具體地,這些問題中的某些問題是來自于由這些RAID系統(tǒng)的結(jié)構(gòu)體系所施加的 限制,諸如以下的事實在許多實例中與RAID系統(tǒng)的所有的通信必須尋址到控制和管理 RAID系統(tǒng)的單個服務(wù)器。這個結(jié)構(gòu)體系可以導(dǎo)致在包括利用RAID系統(tǒng)的主機和被使用來 實施RAID系統(tǒng)的計算設(shè)備的物理部件中的冗余性。除了物理部件的冗余性以外,主機和 RAID系統(tǒng)在運行時還會消耗許多相同的資源。因為主機和RAID系統(tǒng)都可能需要功率、冷 卻、機架空間等等。這種情形會引起許多不希望的問題,包括增加的硬件花費、通信瓶頸、需 要大量物理空間來包含主機和RAID系統(tǒng)等等。針對特定的RAID系統(tǒng)描述本發(fā)明的某些實施例將是有幫助的,然而,應(yīng)當指出, 通過其描述某些實施例的特定的RAID系統(tǒng)沒有對于本發(fā)明的其它實施例的可應(yīng)用性或使 用施加限制,以及這樣的實施例可以在包括其它類型的RAID系統(tǒng)或一起包括其它的存儲 系統(tǒng)的任何的各種各樣的上下文中被有用地利用。通過以上所述的,某些實施例可以相對于分布式RAID系統(tǒng)被有用地描述,其中具 有相關(guān)的RAID級別的卷可以通過使用分布式RAID系統(tǒng)被創(chuàng)建。然后每個分布式RAID應(yīng) 用可以協(xié)調(diào)與該卷的數(shù)據(jù)相關(guān)聯(lián)的操作,以使得與該卷相關(guān)聯(lián)的數(shù)據(jù)或結(jié)合該卷的期望的 RAID級別的實施可被存儲在分布式RAID系統(tǒng)的多個數(shù)據(jù)庫。通過利用在多個數(shù)據(jù)庫的每 個上執(zhí)行的類似的分布式RAID應(yīng)用,將卷的數(shù)據(jù)以及和RAID的實施相關(guān)聯(lián)的數(shù)據(jù)存儲在 該多個數(shù)據(jù)庫中,結(jié)合卷來協(xié)調(diào)RAID級別的實施,來實現(xiàn)多個優(yōu)點。即,不同的存儲卷可以 被分配,一個或多個卷結(jié)合不同的RAID級別被實施。而且,由于在數(shù)據(jù)庫上存儲的協(xié)調(diào)和 RAID的實施是通過使用基本上相同的分布式RAID應(yīng)用而完成的,在許多情形下,可以利用 標準的或現(xiàn)成的硬件,諸如基于標準x86的服務(wù)器和存儲介質(zhì)。通過利用這里給出的實施例或其它實施例,也可以實現(xiàn)許多其它優(yōu)點,以及在閱讀本公開內(nèi)容后,將認識到這樣的優(yōu) 點,這些優(yōu)點可以或可以沒有以具體的細節(jié)被指出?,F(xiàn)在轉(zhuǎn)到圖1,圖上顯示利用分布式RAID系統(tǒng)的一個實施例的系統(tǒng)的結(jié)構(gòu)體系的 框圖。分布式RAID系統(tǒng)100包括一組數(shù)據(jù)庫110,每個數(shù)據(jù)庫110通信地耦合到兩個交換 機120。每個交換機120還通信地耦合到每個主機102,以使得主機102可以通過對應(yīng)于特 定的數(shù)據(jù)庫110的一組路徑與每個數(shù)據(jù)庫110通信,每條路徑包括一個交換機120。在數(shù)據(jù)庫110、交換機120和主機102之間的通信耦合可以通過使用幾乎任何期望 的輸送介質(zhì)(有線或無線),包括以太網(wǎng)、SCSI、iSCSI、光纖信道、串行附屬SCSI( “SAS”)、 先進技術(shù)附件(“ΑΤΑ”)、串行ATA( “SATA”)、或在技術(shù)上已知的其它協(xié)議,而被完成。而 且,通信耦合可以結(jié)合諸如互聯(lián)網(wǎng)、LAN、WAN、無線網(wǎng)絡(luò)或在技術(shù)上已知的任何其它通信網(wǎng) 絡(luò)那樣的通信網(wǎng)絡(luò)被實施。在一個實施例中,然后,通過使用諸如iSCSI、SCSI等命令協(xié)議,主機102可以與數(shù) 據(jù)庫110通信,以便操控數(shù)據(jù)。更具體地,每個數(shù)據(jù)庫110包括存儲介質(zhì)(正如將在后面更 詳細地說明的)??偲饋碚f,在數(shù)據(jù)庫Iio中的存儲介質(zhì)可被虛擬化,并呈現(xiàn)給主機102作 為一個或多個相鄰的存儲塊,存儲設(shè)備等等。例如,當利用iSCSI協(xié)議時,在數(shù)據(jù)庫110中 的存儲介質(zhì)可被呈現(xiàn)給主機102作為SCSI目標,在一個實施例中,其具有多個端口。因此,在運行期間,在一個實施例中,主機102(或在主機102處或與數(shù)據(jù)庫110接 口的用戶)可以請求創(chuàng)建卷,并規(guī)定結(jié)合該卷被實施的RAID的級別。與該卷相關(guān)聯(lián)的數(shù)據(jù) 和與該卷相關(guān)聯(lián)的期望的級別RAID的實施被存儲在數(shù)據(jù)庫110。主機102然后可以通過使 用對應(yīng)于該卷或該卷的一部分的邏輯地址而存取這個卷。這樣,主機102可以利用所創(chuàng)建 的存儲的卷,以及可以結(jié)合這些卷達到對于主機102來說基本上覺察不到的故障容忍度。通過參考圖2A可以更好地理解存儲的虛擬化和利用數(shù)據(jù)庫110的RAID的實施, 在圖2A上顯示用來實施分布式RAID的數(shù)據(jù)庫110的計算機的一個實施例的框圖。這里, 數(shù)據(jù)庫110包括數(shù)據(jù)存儲器(store) 250和用來執(zhí)行被存儲在計算機可讀的介質(zhì)中的指令 的處理器202,其中指令用來實施分布式RAID應(yīng)用210。分布式RAID應(yīng)用210可以周期地 發(fā)布心跳通信到其它的數(shù)據(jù)庫110上的分布式RAID應(yīng)用210,以確定對于該數(shù)據(jù)庫110是 否有故障。如果分布式RAID應(yīng)用210確定另一個數(shù)據(jù)庫110有故障,則它可以設(shè)置對應(yīng)于 該數(shù)據(jù)庫110的一個或多個故障標記。通過使用這些故障標記,對于每個數(shù)據(jù)庫110上的 每個分布式RAID應(yīng)用210,特定的分布式RAID應(yīng)用210可以確定某個數(shù)據(jù)庫110是否有故 障。分布式RAID應(yīng)用210還可以存取(例如,讀出、寫入、發(fā)布命令等等)包括一個或 多個存儲介質(zhì)的數(shù)據(jù)存儲器250,該存儲介質(zhì)例如可以是按照幾乎任何已知的協(xié)議運行的 盤252,諸如SATA、PATA、FC等等。其中每個盤252可以,或可能不一定,具有相等的大小。 在每個數(shù)據(jù)庫110上執(zhí)行的分布式RAID應(yīng)用210可以允許通過使用在數(shù)據(jù)庫110上的數(shù) 據(jù)存儲器250而分配和使用卷,以及通過利用在數(shù)據(jù)庫110之間共享的一組全局表格M0、 一組本地表格245和寫高速緩存器260而結(jié)合這些卷實施RAID,所有這些表格可被存儲在 存儲器230(它可以是數(shù)據(jù)存儲器250或在一起的另外的存儲器)。圖2B顯示可被使用來實施用來實施分布式RAID的數(shù)據(jù)庫110計算機的硬件結(jié) 構(gòu)體系的一個實施例的框圖。在這個結(jié)構(gòu)體系例子中,數(shù)據(jù)庫110包括一個或多個處理器202,其可以一起附著到htel x86結(jié)構(gòu)體系或某個其它結(jié)構(gòu)體系,以及存儲器230,通過總 線被耦合到I/O控制器中心212,其在一個實施例中可以是南橋芯片等等。I/O控制器中心 212又可以被耦合到和控制諸如PCI-X總線、串行總線等等那樣的總線272。被耦合到這個 總線272的是一個或多個盤控制器沈2,諸如,例如LSI 1068SATA/SAS控制器。每個這些盤 控制器262被耦合到一個或多個盤252,其中總起來說,這些盤252可包括數(shù)據(jù)存儲器250。 另外,一個或多個網(wǎng)絡(luò)接口 282也可以被耦合到總線272。這些網(wǎng)絡(luò)接口 282可以是被包括 在主板上的網(wǎng)絡(luò)接口(諸如,以太網(wǎng)等等),它可包括被配置成經(jīng)由諸如以太網(wǎng)、光纖信道 等等那樣的一個或多個協(xié)議進行接口的一個或多個網(wǎng)絡(luò)接口卡,或這些網(wǎng)絡(luò)接口 282可以 是某些其它類型的網(wǎng)絡(luò)接口,以使得數(shù)據(jù)庫110可以通過這些網(wǎng)絡(luò)接口 282與交換機120
ififn。正好,在某些實施例中,被使用來實施數(shù)據(jù)庫110的計算設(shè)備的部件可具有(或可 被構(gòu)建成具有)比用于執(zhí)行分布式RAID應(yīng)用210所需要的計算功率更多的計算功率。在 許多情形下,然后,被使用來實施數(shù)據(jù)庫110的計算設(shè)備(例如,處理器、高速緩存器、存儲 器、電路板等等)當被使用來僅僅執(zhí)行分布式RAID應(yīng)用210時可能具有未利用的計算功 率。然后,所期望的是,利用這個過量的計算功率來執(zhí)行將在主機102上執(zhí)行并利用分布式 RAID應(yīng)用210的應(yīng)用。然而,這可能是成問題的,因為在許多情形下,可能有各種各樣的這 樣的應(yīng)用在不同的主機102上執(zhí)行,其中每個主機可以執(zhí)行不同的操作系統(tǒng),應(yīng)用可被配 置成僅僅在一種類型的操作系統(tǒng)上執(zhí)行,等等。所以,現(xiàn)在注意點被引導(dǎo)到允許可利用分布式RAID系統(tǒng)的各種應(yīng)用(或其它類型 的應(yīng)用)在實施該分布式RAID系統(tǒng)的同一組計算設(shè)備上執(zhí)行的本發(fā)明的系統(tǒng)和方法。為 了允許在同一組計算設(shè)備上結(jié)合其它應(yīng)用執(zhí)行分布式RAID應(yīng)用,可以在數(shù)據(jù)庫上執(zhí)行虛 擬化層,通過使用這個虛擬化層可以執(zhí)行一組期望的應(yīng)用程序,其中對于在虛擬化層上執(zhí) 行的應(yīng)用的每個實例的上下文可被存儲在卷中,被保持來利用分布式RAID系統(tǒng)。這些虛擬 機(例如,被存儲在卷中的應(yīng)用和任何可應(yīng)用的上下文信息)然后可以結(jié)合在任一個數(shù)據(jù) 庫上的虛擬化層執(zhí)行。這樣,可以利用一組計算設(shè)備來實施分布式RAID系統(tǒng)和執(zhí)行利用這 樣的分布式RAID系統(tǒng)(這只是其中之一)的應(yīng)用。這些類型的應(yīng)用,例如,可包括視頻監(jiān) 視應(yīng)用、游戲、零售業(yè)或銀行應(yīng)用、視頻流應(yīng)用、內(nèi)容操控應(yīng)用等等。通過結(jié)合實施分布式RAID系統(tǒng)的計算設(shè)備執(zhí)行這些應(yīng)用,可以得到許多優(yōu)點。首 先和最重要的,可以實現(xiàn)物理資源的聯(lián)合,減小與物理資源和安裝、配置、利用和保持這樣 的資源所需要的資源相關(guān)聯(lián)的花費,因為可能需要較少的空間、功率、冷卻、備用部件等等。 而且,在實施應(yīng)用和分布式RAID系統(tǒng)時可以達到更大的速度,因為結(jié)合應(yīng)用和分布式RAID 系統(tǒng)的使用發(fā)生的通信,可以較少或可以更快地進行。另外,故障容忍度水平可被引入到配置中,其中應(yīng)用的實例作為虛擬機被保存,它 們在實施分布式RAID系統(tǒng)的數(shù)據(jù)庫的虛擬化層上被執(zhí)行,正如在更詳細地考察本申請的 其余部分后將會看到的。概略地,這個故障容忍度水平可以來源于這樣的事實,每個虛擬機 (例如,執(zhí)行可以在虛擬化層上被執(zhí)行的應(yīng)用的實例)被存儲在分布式RAID系統(tǒng)的卷中,意 味著,在數(shù)據(jù)庫之一出現(xiàn)故障的情形下虛擬機可被恢復(fù)。另外,故障容忍度可被引入,因為 虛擬機可以在任何數(shù)據(jù)庫的虛擬化層上執(zhí)行,因此即使在單個數(shù)據(jù)庫出現(xiàn)故障時,每個虛 擬機仍舊可被執(zhí)行。
現(xiàn)在參照圖3,圖上顯示可以實施分布式RAID系統(tǒng)和允許執(zhí)行各種不同的應(yīng)用的 數(shù)據(jù)庫的一個實施例。這里,數(shù)據(jù)庫1110包括數(shù)據(jù)存儲器350和用來執(zhí)行存儲在計算機可 讀的介質(zhì)上的指令的處理器(未示出)或其它硬件。這個硬件,例如,可以是x86平臺等等。被存儲在計算機可讀的介質(zhì)上的指令可以用來實施虛擬化層312和分布式 RAID應(yīng)用310。虛擬化層312可以是,例如由SunMicrosystems的容器、Linux KVM, Linux Vserver、Oracle VM、Virtual PC、Microsoft 的虛擬月艮務(wù)器、IBM 的 PowerVM、 SunMicrosystems的邏輯域、VMware服務(wù)器等等,或任何其它類型的虛擬化或模仿機應(yīng)用, 正如在技術(shù)上已知的。分布式RAID應(yīng)用310可以具有類似于上述功能的功能。為了幫助 在存儲器330中一個或多個這些表格340的實施,可以跟蹤諸如由分布式RAID系統(tǒng)所存儲 的哪些卷是虛擬機和哪個數(shù)據(jù)庫110被分配給特定的虛擬機那樣的信息。然后概略地參考圖4A、4B和4C,圖上顯示具有虛擬化層的數(shù)據(jù)庫1010的結(jié)構(gòu)體 系的三個實施例。將會指出,這樣的結(jié)構(gòu)體系的其它實施例也是可能的,它們可以被利用。 在圖4A上,虛擬化層312可以存在于硬件層402上,這樣,分布式RAID應(yīng)用310和虛擬機 430(應(yīng)用和它們的對應(yīng)的上下文)可以在虛擬化層312上執(zhí)行。圖4B顯示一個實施例,其 中操作系統(tǒng)420(例如,Windows、Solaris、MacOS等)可以在具有在操作系統(tǒng)420上執(zhí)行的 虛擬化層312的硬件層402上執(zhí)行,這樣,分布式RAID應(yīng)用310和虛擬機430 (應(yīng)用和它們 的對應(yīng)的上下文)可以在虛擬化層312上執(zhí)行。圖4C顯示一個實施例,其中操作系統(tǒng)420 可以在硬件層402上執(zhí)行。分布式RAID應(yīng)用310和虛擬化層312可以在操作系統(tǒng)420上 執(zhí)行。虛擬機430然后可以在虛擬化層312上執(zhí)行。因此,在圖5中描述了可以用于通過使用一組數(shù)據(jù)庫1110來實施分布式RAID系 統(tǒng)并執(zhí)行可以利用在一個或多個相同的數(shù)據(jù)庫1110上的該分布式RAID系統(tǒng)的一個或多個 應(yīng)用的系統(tǒng)的一個實施例。移到圖6,圖上顯示用于在也正在執(zhí)行分布式RAID應(yīng)用310的數(shù)據(jù)庫1110上執(zhí)行 一個或多個應(yīng)用的方法的一個實施例。在步驟610,可以在數(shù)據(jù)庫1110的虛擬化層312上 執(zhí)行應(yīng)用。這個安裝過程可以在步驟620創(chuàng)建虛擬機,用來當被虛擬化層312執(zhí)行時執(zhí)行 與特定的上下文相關(guān)聯(lián)的應(yīng)用。更具體地,在一個實施例中,可以通過使用分布式RAID應(yīng) 用310來創(chuàng)建卷,其中應(yīng)用可以連同從在虛擬化層312上在一定的時間量內(nèi)執(zhí)行該應(yīng)用所 得到的上下文一起被存儲在該卷中。這被更清晰地顯示于圖7,在圖上顯示每個虛擬機430可以如何成為被存儲在每 個數(shù)據(jù)庫1110的數(shù)據(jù)存儲器350中的卷。每個虛擬機可以對應(yīng)于應(yīng)用和相關(guān)聯(lián)的上下文 的一個安裝的實例,這樣,虛擬機430可以在虛擬化層312上執(zhí)行,以便運行具有對應(yīng)的上 下文的應(yīng)用。回到圖6,一旦應(yīng)用被安裝和虛擬機被創(chuàng)建,在一個實施例中,在步驟630,包括應(yīng) 用的實例的虛擬機就可被指定在特定的數(shù)據(jù)庫1110上執(zhí)行,因此虛擬機可以在步驟640在 所指定的數(shù)據(jù)庫1110的虛擬化層312上執(zhí)行。在任何時候,如果因為任何原因期望停止這個虛擬機的執(zhí)行,則虛擬機可以被存 儲,以使得虛擬機的執(zhí)行可以在以后由該虛擬機被分配到的那個特定的數(shù)據(jù)庫1110從相 同的點繼續(xù)進行。這個存儲可能使得把上下文存儲在虛擬機(卷對應(yīng)于虛擬機),如果需要 的話。
將會指出,因為每個虛擬機430被存儲在包括分布式RAID系統(tǒng)的數(shù)據(jù)庫1110,該 虛擬機被分配到的那個數(shù)據(jù)庫1110可以存取和執(zhí)行每個虛擬機。另外,注意,RAID的級別 可以結(jié)合該虛擬機的存儲被實施,因為該虛擬機可被存儲在與分布式RAID應(yīng)用310相關(guān)聯(lián) 的卷中。因此,正如先前討論的,通過使用作為被分布式RAID應(yīng)用310管理的卷被存儲的 虛擬機而在數(shù)據(jù)庫1110上執(zhí)行應(yīng)用,在分布式RAID系統(tǒng)的結(jié)構(gòu)體系中可以固有地實現(xiàn)故 障容忍度。更具體地,在一個實施例中,因為每個數(shù)據(jù)庫1110可以存取任何虛擬機以及每個 虛擬機430可以結(jié)合RAID級別被存儲,即使在特定的數(shù)據(jù)庫1110出現(xiàn)故障時,應(yīng)用仍舊能 夠被執(zhí)行,因為關(guān)于任何虛擬機的所有的數(shù)據(jù)仍舊可以由剩余的工作的數(shù)據(jù)庫1110存取。 事實上,在一個實施例中,如果特定的數(shù)據(jù)庫1110有故障,則有故障的數(shù)據(jù)庫1110可以被 檢測,以及被分配給有故障的數(shù)據(jù)庫110的每個VM可以基本上自動地被分配給另一個工作 的數(shù)據(jù)庫1110,這樣,在有故障的數(shù)據(jù)庫1110上執(zhí)行的所有的VM現(xiàn)在將在另一個數(shù)據(jù)庫 1100上執(zhí)行。這個分配可以隨機地或基于一個或多個準則完成,諸如,被分配給每個數(shù)據(jù)庫 Ilio的VM的數(shù)目等等。通過自動地重新分配有故障的數(shù)據(jù)庫1110的VM,除了給予應(yīng)用以 某個水平的故障容忍度以外,停機時間可被最小化。在以上的技術(shù)說明書中,本發(fā)明是參照具體的實施例描述的。然而,本領(lǐng)域技術(shù)人 員將會看到,可以作出各種不同的修改和改變,而不背離如在下文所附權(quán)利要求中闡述的 本發(fā)明的范圍。因此,技術(shù)說明書和附圖應(yīng)當為說明的意義而不是限制的意義,以及所有的 這樣的修改意在被包括在本發(fā)明的范圍內(nèi)。在上面對于具體的實施例描述了好處、其它優(yōu)點和對于問題的解決方案。然而,好 處、其它優(yōu)點和對于問題的解決方案,以及可以使得任何好處、優(yōu)點或解決方案發(fā)生或變?yōu)?更明確的任何部件不被看作為任何或所有的權(quán)利要求的關(guān)鍵的、需要的、或本質(zhì)的特性或 部件。
權(quán)利要求
1.一種用于實施分布式RAID的系統(tǒng),包括多個數(shù)據(jù)庫計算機,每個數(shù)據(jù)庫被耦合到每個主機和其他的多個數(shù)據(jù)庫的每個,每個 數(shù)據(jù)庫包括 處理器; 數(shù)據(jù)存儲器;包括指令的計算機可讀的介質(zhì),所述指令可執(zhí)行用于 在數(shù)據(jù)庫上執(zhí)行第一應(yīng)用程序,其中第一應(yīng)用程序是第一虛擬機;以及 實施分布式RAID應(yīng)用,所述分布式RAID應(yīng)用用來接收對應(yīng)于第一卷的第一段的命令,其中所述命令由第一應(yīng)用程序發(fā)布,以及第一卷 和對應(yīng)于結(jié)合第一卷被實施的RAID級別的冗余性數(shù)據(jù)被存儲在多個數(shù)據(jù)庫的每個數(shù)據(jù) 庫,以使得對于第一卷的每個段,包括與該段相關(guān)聯(lián)的冗余性數(shù)據(jù)的對應(yīng)的冗余性段不處 在與所述段相同的數(shù)據(jù)庫上;確定多個數(shù)據(jù)庫的第一數(shù)據(jù)庫,其中第一數(shù)據(jù)庫對應(yīng)于第一段;以及 如果第一數(shù)據(jù)庫是接收命令的數(shù)據(jù)庫,則對于第一段執(zhí)行第一命令,而如果不是,則把 第一命令轉(zhuǎn)發(fā)到第一數(shù)據(jù)庫。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中執(zhí)行應(yīng)用程序包括在數(shù)據(jù)庫上通過使用虛擬化層而執(zhí) 行第一虛擬機。
3.根據(jù)權(quán)利要求2的系統(tǒng),其中第一虛擬機對應(yīng)于第二卷,第二卷被存儲在多個數(shù)據(jù) 庫的每個數(shù)據(jù)庫。
4.根據(jù)權(quán)利要求3的系統(tǒng),其中指令還可執(zhí)行用于 檢測多個數(shù)據(jù)庫的有故障的數(shù)據(jù)庫;確定被分配給有故障的數(shù)據(jù)庫的一組VM ;以及 把該組VM重新分配給多個數(shù)據(jù)庫的另一個數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求3的系統(tǒng),其中指令還可執(zhí)行用來確定第一命令是否為寫命令,以及 如果第一命令是寫命令,則確定多個數(shù)據(jù)庫的第二數(shù)據(jù)庫,其中第二數(shù)據(jù)庫對應(yīng)于與第一 段相關(guān)聯(lián)的第一冗余性段,以及如果第二數(shù)據(jù)庫是接收命令的數(shù)據(jù)庫,則對于第一冗余性 段執(zhí)行第一命令,而如果不是,則把第一命令轉(zhuǎn)發(fā)到第二數(shù)據(jù)庫,其中每個卷的每個段對應(yīng) 于多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個段按照多個數(shù)據(jù)庫的排列被分配給多個數(shù)據(jù)庫的一 個數(shù)據(jù)庫,以及每個冗余性段被分配到同對應(yīng)于與該冗余性段相關(guān)聯(lián)的卷的任何段的多個 數(shù)據(jù)庫的每個數(shù)據(jù)庫不同的多個數(shù)據(jù)庫的一個數(shù)據(jù)庫。
6.一種用于在具有處理器的計算設(shè)備上結(jié)合各種應(yīng)用程序?qū)嵤┓植际絉AID的方法, 包括在多個數(shù)據(jù)庫上建立第一卷,其中第一卷包括段組以及該段組被存儲在多個數(shù)據(jù)庫; 在多個數(shù)據(jù)庫上建立第二卷,其中第二卷對應(yīng)于作為虛擬機被存儲的應(yīng)用程序; 在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上執(zhí)行應(yīng)用程序;結(jié)合所述卷實施RAID級別,其中實施RAID級別包括存儲一組冗余性段,每個冗余性段 對應(yīng)于該段組中的一個或多個段,以使得每個冗余性段不與該段組中的相應(yīng)的一個或多個 段處在相同的數(shù)據(jù)庫上;接收對應(yīng)于卷的所述段組的第一段的命令,其中命令從在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上執(zhí)行的應(yīng)用程序接收;確定多個數(shù)據(jù)庫的第一數(shù)據(jù)庫,其中第一數(shù)據(jù)庫對應(yīng)于第一段;以及 對于第一段執(zhí)行第一命令,其中第一命令在第一數(shù)據(jù)庫上被執(zhí)行。
7.根據(jù)權(quán)利要求6的方法,其中執(zhí)行應(yīng)用程序包括在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上 通過使用虛擬化層而執(zhí)行虛擬機。
8.根據(jù)權(quán)利要求7的方法,其中第二卷被存儲在多個數(shù)據(jù)庫的每個數(shù)據(jù)庫。
9.根據(jù)權(quán)利要求8的方法,還包括 檢測多個數(shù)據(jù)庫的有故障的數(shù)據(jù)庫;確定被分配給有故障的數(shù)據(jù)庫的一組VM ;以及 把該組VM重新分配給多個數(shù)據(jù)庫的另一個數(shù)據(jù)庫。
10.根據(jù)權(quán)利要求9的方法,還包括確定第一命令是否為寫命令,以及如果第一命令是寫命令,則確定多個數(shù)據(jù)庫的第二 數(shù)據(jù)庫,其中第二數(shù)據(jù)庫對應(yīng)于與第一段相關(guān)聯(lián)的第一冗余性段,以及如果第二數(shù)據(jù)庫是 接收命令的數(shù)據(jù)庫,則對于第一冗余性段執(zhí)行第一命令,而如果不是,則把第一命令轉(zhuǎn)發(fā)到 第二數(shù)據(jù)庫,其中每個卷的每個段對應(yīng)于多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個段按照多個 數(shù)據(jù)庫的排列被分配給多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個冗余性段被分配到同對應(yīng)于與 該冗余性段相關(guān)聯(lián)的卷的任何段的多個數(shù)據(jù)庫的每個數(shù)據(jù)庫不同的多個數(shù)據(jù)庫的一個數(shù) 據(jù)庫。
11.一種用于結(jié)合應(yīng)用程序在一個或多個數(shù)據(jù)庫上實施的分布式RAID的方法,包括 從應(yīng)用程序接收對應(yīng)于第一卷的第一段的命令,其中第一卷和對應(yīng)于結(jié)合卷被實施的RAID級別的冗余性數(shù)據(jù)被存儲在多個數(shù)據(jù)庫的每個數(shù)據(jù)庫,以使得對于卷的每個段,包括 與該段相關(guān)聯(lián)的冗余性數(shù)據(jù)的對應(yīng)的冗余性段不處在與所述段相同的數(shù)據(jù)庫上,以及應(yīng)用 程序作為虛擬機被存儲,并在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上執(zhí)行; 確定多個數(shù)據(jù)庫的第一數(shù)據(jù)庫,其中第一數(shù)據(jù)庫對應(yīng)于第一段;以及 對于第一段執(zhí)行第一命令,其中第一命令在第一數(shù)據(jù)庫上被執(zhí)行。
12.根據(jù)權(quán)利要求11的方法,其中執(zhí)行應(yīng)用程序包括在數(shù)據(jù)庫上通過使用虛擬化層而 執(zhí)行虛擬機。
13.根據(jù)權(quán)利要求12的方法,其中執(zhí)行應(yīng)用程序包括在數(shù)據(jù)庫上通過使用虛擬化層而 執(zhí)行虛擬機。
14.根據(jù)權(quán)利要求13的方法,還包括 檢測多個數(shù)據(jù)庫的有故障的數(shù)據(jù)庫;確定被分配給有故障的數(shù)據(jù)庫的一組VM ;以及 把該組VM重新分配給多個數(shù)據(jù)庫的另一個數(shù)據(jù)庫。
15.根據(jù)權(quán)利要求14的方法,還包括確定第一命令是否為寫命令,以及如果第一命令是寫命令,則確定多個數(shù)據(jù)庫的第二 數(shù)據(jù)庫,其中第二數(shù)據(jù)庫對應(yīng)于與第一段相關(guān)聯(lián)的第一冗余性段,以及如果第二數(shù)據(jù)庫是 接收命令的數(shù)據(jù)庫,則對于第一冗余性段執(zhí)行第一命令,而如果不是,則把第一命令轉(zhuǎn)發(fā)到 第二數(shù)據(jù)庫,其中每個卷的每個段對應(yīng)于多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個段按照多個 數(shù)據(jù)庫的排列被分配給多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個冗余性段被分配到同對應(yīng)于與該冗余性段相關(guān)聯(lián)的卷的任何段的多個數(shù)據(jù)庫的每個數(shù)據(jù)庫不同的多個數(shù)據(jù)庫的一個數(shù)據(jù)庫。
16.一種計算機可讀的介質(zhì),包括用于結(jié)合各種應(yīng)用程序?qū)嵤┓植际絉AID的計算機可 執(zhí)行的指令,所述計算機指令可執(zhí)行用于在多個數(shù)據(jù)庫上建立第一卷,其中第一卷包括段組以及該段組被存儲在多個數(shù)據(jù)庫; 在多個數(shù)據(jù)庫上建立第二卷,其中第二卷對應(yīng)于作為虛擬機被存儲的應(yīng)用程序; 在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上執(zhí)行應(yīng)用程序;結(jié)合所述卷實施RAID級別,其中實施RAID級別包括存儲一組冗余性段,每個冗余性段 對應(yīng)于該段組中的一個或多個段,以使得每個冗余性段不與該段組中的相應(yīng)的一個或多個 段處在相同的數(shù)據(jù)庫上;接收對應(yīng)于卷的所述段組的第一段的命令,其中命令從在多個數(shù)據(jù)庫的至少一個數(shù)據(jù) 庫上執(zhí)行的應(yīng)用程序接收;確定多個數(shù)據(jù)庫的第一數(shù)據(jù)庫,其中第一數(shù)據(jù)庫對應(yīng)于第一段;以及 對于第一段執(zhí)行第一命令,其中第一命令在第一數(shù)據(jù)庫上被執(zhí)行。
17.根據(jù)權(quán)利要求16的計算機可讀的介質(zhì),其中執(zhí)行應(yīng)用程序包括在多個數(shù)據(jù)庫的至 少一個數(shù)據(jù)庫上通過使用虛擬化層而執(zhí)行虛擬機。
18.根據(jù)權(quán)利要求17的計算機可讀的介質(zhì),其中第二卷被存儲在多個數(shù)據(jù)庫的每個數(shù) 據(jù)庫。
19.根據(jù)權(quán)利要求18的計算機可讀的介質(zhì),其中指令還可執(zhí)行用于 檢測多個數(shù)據(jù)庫的有故障的數(shù)據(jù)庫;確定被分配給有故障的數(shù)據(jù)庫的一組VM ;以及 把該組VM重新分配給多個數(shù)據(jù)庫的另一個數(shù)據(jù)庫。
20.根據(jù)權(quán)利要求19的計算機可讀的介質(zhì),其中指令可執(zhí)行用于確定第一命令是否 為寫命令,以及如果第一命令是寫命令,則確定多個數(shù)據(jù)庫的第二數(shù)據(jù)庫,其中第二數(shù)據(jù)庫 對應(yīng)于與第一段相關(guān)聯(lián)的第一冗余性段,以及如果第二數(shù)據(jù)庫是接收命令的數(shù)據(jù)庫,則對 于第一冗余性段執(zhí)行第一命令,而如果不是,則把第一命令轉(zhuǎn)發(fā)到第二數(shù)據(jù)庫,其中每個卷 的每個段對應(yīng)于多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個段按照多個數(shù)據(jù)庫的排列被分配給多 個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個冗余性段被分配到同對應(yīng)于與該冗余性段相關(guān)聯(lián)的卷的 任何段的多個數(shù)據(jù)庫的每個數(shù)據(jù)庫不同的多個數(shù)據(jù)庫的一個數(shù)據(jù)庫。
21.一種計算機可讀的介質(zhì),用于結(jié)合應(yīng)用程序在一個或多個數(shù)據(jù)庫計算機上實施分 布式RAID,計算機指令可執(zhí)行用于從應(yīng)用程序接收對應(yīng)于第一卷的第一段的命令,其中第一卷和對應(yīng)于結(jié)合卷被實施的 RAID級別的冗余性數(shù)據(jù)被存儲在多個數(shù)據(jù)庫的每個數(shù)據(jù)庫,以使得對于卷的每個段,包括 與該段相關(guān)聯(lián)的冗余性數(shù)據(jù)的對應(yīng)的冗余性段不處在與所述段相同的數(shù)據(jù)庫上,以及應(yīng)用 程序作為虛擬機被存儲,并在多個數(shù)據(jù)庫的至少一個數(shù)據(jù)庫上執(zhí)行; 確定多個數(shù)據(jù)庫的第一數(shù)據(jù)庫,其中第一數(shù)據(jù)庫對應(yīng)于第一段;以及 對于第一段執(zhí)行第一命令,其中第一命令在第一數(shù)據(jù)庫上被執(zhí)行。
22.根據(jù)權(quán)利要求21的計算機可讀的介質(zhì),其中執(zhí)行應(yīng)用程序包括在數(shù)據(jù)庫上通過使 用虛擬化層而執(zhí)行虛擬機。
23.根據(jù)權(quán)利要求22的計算機可讀的介質(zhì),其中執(zhí)行應(yīng)用程序包括在數(shù)據(jù)庫上通過使 用虛擬化層而執(zhí)行虛擬機。
24.根據(jù)權(quán)利要求23的計算機可讀的介質(zhì),計算機指令可執(zhí)行用于確定第一命令是否為寫命令,以及如果第一命令是寫命令,則確定多個數(shù)據(jù)庫的第二 數(shù)據(jù)庫,其中第二數(shù)據(jù)庫對應(yīng)于與第一段相關(guān)聯(lián)的第一冗余性段,以及如果第二數(shù)據(jù)庫是 接收命令的數(shù)據(jù)庫,則對于第一冗余性段執(zhí)行第一命令,而如果不是,則把第一命令轉(zhuǎn)發(fā)到 第二數(shù)據(jù)庫,其中每個卷的每個段對應(yīng)于多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個段按照多個 數(shù)據(jù)庫的排列被分配給多個數(shù)據(jù)庫的一個數(shù)據(jù)庫,以及每個冗余性段被分配到同對應(yīng)于與 該冗余性段相關(guān)聯(lián)的卷的任何段的多個數(shù)據(jù)庫的每個數(shù)據(jù)庫不同的多個數(shù)據(jù)庫的一個數(shù) 據(jù)庫。
全文摘要
公開了允許在實施分布式RAID系統(tǒng)的同一組計算設(shè)備上執(zhí)行可利用該分布式RAID系統(tǒng)的各種不同的應(yīng)用(或其它類型的應(yīng)用)的系統(tǒng)和方法。更具體地,在某些實施例中,可以在數(shù)據(jù)庫上執(zhí)行虛擬化層。通過使用這個虛擬化層,可以執(zhí)行一組期望的應(yīng)用程序,其中對于在虛擬化層上執(zhí)行的應(yīng)用的每個實例的上下文可被存儲在卷中,被保持來利用分布式RAID系統(tǒng)。
文檔編號G06F11/00GK102077175SQ200980125013
公開日2011年5月25日 申請日期2009年6月25日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者R·A·卡里森, W·C·加羅威 申請人:樞軸3公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
康马县| 广丰县| 微山县| 丰县| 得荣县| 凤凰县| 运城市| 阿克| 天祝| 鞍山市| 庆安县| 宜昌市| 赣州市| 福贡县| 陆良县| 正阳县| 塔河县| 金沙县| 厦门市| 湟源县| 金华市| 荆州市| 温泉县| 五家渠市| 晋江市| 黄浦区| 平定县| 新疆| 平潭县| 通州区| 平舆县| 津市市| 如东县| 克什克腾旗| 西贡区| 开鲁县| 葫芦岛市| 开封市| 五河县| 景德镇市| 兴安盟|