專利名稱:控制計算機單元之間存儲訪問的計算機集群、計算機單元和方法
技術領域:
本發(fā)明涉及關鍵環(huán)境中的計算機系統(tǒng)。具體來說,本發(fā)明涉及冗余計算機集群和其中使用例如服務器節(jié)點的計算機單元之間的存儲訪問轉移來協(xié)助切換。
現有技術說明可靠性是通信網絡或一般任何其他關鍵系統(tǒng)環(huán)境中的一個重要因素。盡管實際上在計算機硬件和軟件中可能有故障,仍向最終用戶提供持續(xù)不間斷的服務體驗是重要的。最小化事務處理中的中斷是重要的。事務處理的示例可包括數據通信會話和數據庫事務處理。再者,必須可以在不影響最終用戶體驗的前提下在計算機系統(tǒng)中執(zhí)行管理動作。例如,必須可以盡可能透明和快速地激活、去活、添加、移除和替換子系統(tǒng)。在關鍵環(huán)境中,復制包括硬件和/或軟件的子系統(tǒng),以便有后備子系統(tǒng)準備就緒來替換變得有故障的子系統(tǒng)。這種子系統(tǒng)常??蔁崆袚Q。可以復制子系統(tǒng),使得對于每個活動子系統(tǒng)都有一個后備子系統(tǒng)或者使得對于一組子系統(tǒng)有一個后備子系統(tǒng)。在該情況中,子系統(tǒng)意味著包括至少一個硬件單元的集合和/或包括至少一個軟件組件的集合。硬件單元可以是例如處理器單元、接口卡和通信鏈路。軟件組件可以是例如處理器單元中執(zhí)行的一組進程或一組線程。子系統(tǒng)還可以同時包括軟件和硬件。例如,通信鏈路子系統(tǒng)可以包括線路接口卡和在相關聯的處理器單元中執(zhí)行的進程集合。通常,有許多相似的線路接口卡,各包括含線路接口卡硬件和在該線路接口卡相關聯的處理器單元中執(zhí)行的軟件的子系統(tǒng)。通常,后備子系統(tǒng),在軟件進程的情況中即復制品,在與其活動配對進程不同的另一個計算機單元中執(zhí)行。
有一個聯盟稱為服務可用性論壇(SA論壇),正在開發(fā)兩層的標準載波等級接口。如果一個系統(tǒng)具有不會喪失服務連續(xù)性和送達地提供不間斷服務的能力,則稱它為載波等級。SA論壇規(guī)范具有應用接口和平臺接口。應用接口提供對應用軟件的標準工具集的訪問以使用,以便將其處理分布在多個計算部件上。這些工具將不會喪失服務連續(xù)性和向任何用戶的送達地響應那些部件的故障。這些工具通過符合應用接口規(guī)范的管理中間件來提供。平臺接口用于訪問操作系統(tǒng)級。其目的在于隱藏不同平臺之間的操作系統(tǒng)級差異。在SA論壇規(guī)范概念中,有多個服務組(SG),它們包括至少一個服務單元(SU)。每個SU又包括至少一個組件。組件可以是軟件進程或線程。組件可以已與硬件單元相關聯。換言之,SU是一個子系統(tǒng),它可以是活動子系統(tǒng)或作為活動子系統(tǒng)的替代的冗余子系統(tǒng)。SU基于如下意義來復制,在SG中,有至少一個處于活動狀態(tài)的SU和至少一個處于待機狀態(tài)的SU。處于待機狀態(tài)的SU將充當處于活動狀態(tài)的SU的后備復制品。如果活動SU變得有故障或因維護而停機,則復制品SU變成活動的,并接管故障或停機的SU的任務。本文使用來自SA論壇規(guī)范的概念來用于說明目的??梢云渌刃Ц拍顏硖鎿Q它們。因此本發(fā)明及其實施例不限于明確符合SA論壇規(guī)范的系統(tǒng)和實現。
現在參考圖1,圖中說明上述SA論壇規(guī)范概念。在圖1中,有具有計算機單元110和112的冗余兩單元計算機集群。使用通信信道104連接計算機單元。通信信道104可以是例如以太網段或PCI總線。有三個SG,即SG140-144。在每個SG中,有兩個SU。在SG140中有SU120和130,在SG142中有SU122和SU132,以及在SG144中有SU124和134。SU120、132和124處于活動狀態(tài),SU130、122和134處于待機狀態(tài)。對于每個活動SU,有一個處于待機狀態(tài)的備用SU。例如,若因SU132中的某個故障或管理動作導致SG142中有切換,則SU122變成活動的且接管SU132的任務。SU132的狀態(tài)變成“待機”或“不存在”或反映SU132中的狀況的任何其他狀態(tài)。如果在計算機單元級發(fā)生故障和計算機單元110出故障,則計算機單元112中的SU130-134必須代替出故障的計算機單元110中的對等SU120-124。
在冗余計算機集群中,例如在活動-待機冗余性中,冗余應用通常因軟件局限將一次僅經由一個單元,即節(jié)點來訪問給定的共享數據存儲資源。在此上下文中數據存儲資源意味著例如文件系統(tǒng)(FS)、軟件RAID(獨立盤的冗余陣列)或邏輯卷管理(LVM)的邏輯卷。在此上下文中,數據存儲訪問建立意味著,例如,文件系統(tǒng)(FS)安裝、軟件RAID(獨立盤的冗余陣列)啟動或邏輯卷管理(LVM)的邏輯卷部署。應該注意,例如當軟件RAID在一個單元中啟動時,它僅包括為從軟件RAID讀取或向其中寫入而在操作系統(tǒng)級上就緒的建立。文件系統(tǒng)通常較早已經創(chuàng)建,所以它不是軟件RAID啟動的問題。一次只能從一個單元建立對數據存儲資源的讀寫訪問,以便避免例如文件系統(tǒng)崩潰或數據存儲資源的任何不相干狀態(tài)。數據存儲資源的讀寫訪問意味著,允許建立了對數據存儲資源的訪問的實體修改數據存儲資源中的數據的訪問。如果單元已經建立對給定數據存儲資源的讀寫訪問,通常任何其他單元就不能建立甚至對該數據存儲資源的讀訪問。在文件系統(tǒng)讀寫安裝中更是如此。
在讀訪問建立的情況中,對于執(zhí)行了訪問建立的實體,允許數據存儲資源的只讀。
從用戶的角度來看,軟件RAID表現得像是任何塊裝置,例如單個盤上的分區(qū)。換言之,它是虛擬裝置。在軟件RAID上,可以像對任何其他塊裝置一樣創(chuàng)建文件系統(tǒng)。換言之,可以對它格式化。文件系統(tǒng)的示例是從Linux操作系統(tǒng)熟悉的ext2和Reiserfs。在Linux中,給定文件系統(tǒng)的安裝包括將其中所含的目錄結構連接到執(zhí)行該安裝的計算機的目錄結構。將目錄結構安裝在指定安裝點,即該目錄結構內的某個子目錄。在安裝期間,可以由計算機易失性存儲器中的操作系統(tǒng)至少部分地緩存從存儲卷檢索的文件系統(tǒng)目錄結構。還可以從存儲卷檢索一些其他文件系統(tǒng)信息,并在安裝期間緩存,例如盤空間分配信息。文件系統(tǒng)的安裝在任何現存的操作系統(tǒng),如Microsoft Windows中基本相似。差異主要涉及如何標識安裝的文件系統(tǒng)上的文件的機制。例如,在Windows中不是將它們連接到單個目錄樹,而是使用如A、D、E、F等字母來標識安裝的文件系統(tǒng)。通常字母C表示本地硬盤驅動器。
在本文中,安裝意味著已經為一般文件訪問操作系統(tǒng)服務,例如在執(zhí)行該安裝的系統(tǒng)中打開、讀取、寫入和關閉,準備好了要安裝的文件系統(tǒng)。文件訪問操作系統(tǒng)服務使它們根據單個可標識文件而非大量輔助存儲來操作。
對于多個單元,可以訪問一個給定文件系統(tǒng),使得它們僅只讀安裝文件系統(tǒng)。實際中,活動單元或活動軟件實體,即活動子系統(tǒng),將是訪問該文件系統(tǒng)并擁有其讀寫安裝的一個子系統(tǒng)。類似地,在軟件RAID的情況中,活動單元或活動軟件實體將是建立并擁有對該軟件RAID的讀寫訪問的一個實體。在SA論壇術語中,這意味著活動SU將擁有對數據存儲資源的讀寫訪問。這意味著它擁有例如文件系統(tǒng)安裝、軟件RAID訪問或LVM訪問。如果活動實體,即活動SU發(fā)生故障,或者如果例如因為軟件升級或任何其他管理動作,操作員必須切換活動-待機角色,則必須將數據存儲資源訪問安全地從舊SU轉移到新SU,即,通常從第一單元轉到第二單元。
現在參考圖2,該圖說明上文討論的策略。在圖2中,有具有計算機單元110和112的冗余兩單元計算機集群。使用通信信道104連接計算機單元,其中通信信道104是局域網(以太網)。使用光纖信道202將計算機單元連接到盤存儲單元200,光纖信道202提供高帶寬訪問。盤存儲單元具有卷250、252和254。已經分別為卷分配了卷標V1、V2和V3。在此情況中,卷是實際可以是硬盤驅動器、一組硬盤驅動器或硬盤驅動器內包括該硬盤驅動器中指定數量的柱面的分區(qū)的抽象。卷還可以是RAID邏輯卷。概念卷表示一塊存儲區(qū),它在邏輯上看是毗鄰的且可以使用標準機制來訪問??梢栽诰碇袆?chuàng)建文件系統(tǒng)。文件系統(tǒng)可以是例如Linux ext2或Reiserfs。文件系統(tǒng)的其他示例是Microsoft Windows操作系統(tǒng)中的NTFS和FAT32。文件系統(tǒng)包括卷上的目錄、文件和訪問數據結構及其存儲格式。卷250、252和254上分別創(chuàng)建了文件系統(tǒng)260、262和264。在文件系統(tǒng)創(chuàng)建步驟期間,將文件系統(tǒng)數據結構分配并創(chuàng)建到卷。在圖2的情況中,文件系統(tǒng)260、262和264是Linux ext2文件系統(tǒng)。計算機單元110和112分別在操作系統(tǒng)220和222下操作。操作系統(tǒng)220具有讀寫安裝的文件系統(tǒng)260和讀安裝的文件系統(tǒng)264。圖2中使用操作系統(tǒng)與文件系統(tǒng)之間箭頭的方向說明了這一點。而操作系統(tǒng)222具有讀寫安裝的文件系統(tǒng)262和讀安裝的文件系統(tǒng)264。這反映如下原理,如果單個單元讀寫安裝給定的文件系統(tǒng),則其他單元不得安裝它。如果每個安裝單元只讀安裝給定卷,則多個單元可安裝它。如果在計算機單元110中執(zhí)行的活動SU應該轉到待機狀態(tài),而計算機單元112中執(zhí)行的被動SU應該變成活動的,則在該SU需要對文件系統(tǒng)260讀寫訪問的情況下產生問題。當計算機單元112中執(zhí)行的后備SU進入活動狀態(tài)時,文件系統(tǒng)260仍在計算機單元112上未安裝,SU不可能從文件系統(tǒng)260讀取或向其中寫入。如圖2所示的解決方案的一個問題是文件系統(tǒng)安裝在本機操作系統(tǒng),例如在Linux級上發(fā)生。如果有切換在其中待機SU必須接替活動SU的SG級上發(fā)生,則可能不會影響或通知操作系統(tǒng)。因此,這種SG級切換在操作系統(tǒng)級上是透明的。
為了克服上述問題,可以應用現有技術中的一些解決方案。這樣一種解決方案是使用網絡文件系統(tǒng)(NFS)從計算機單元110和112來使用文件系統(tǒng)260和262。在NFS中,對于兩個計算機單元,可以同時以讀寫模式訪問這兩個文件系統(tǒng)。但是,文件系統(tǒng)內僅分開的文件變成同時可訪問。無論何時用戶打開給定文件來寫入,則它對于其他同時用戶變成只讀可訪問。
現在參考圖3,該圖說明如NFS之類的網絡文件系統(tǒng)的使用。在圖3中,有具有計算機單元110和112的冗余兩單元計算機集群。使用通信信道104連接計算機單元。通信信道104可以是例如以太網段或PCI總線。計算機單元110和112連接到運行NFS的文件服務器300。文件服務器300使用光纖信道連接到盤存儲單元200。盤存儲單元200具有如圖2所示的文件系統(tǒng)260和262。文件服務器300具有NFS,它使如計算機單元110和112之類的遠程客戶機能夠建立對實際僅在文件服務器300上安裝的文件系統(tǒng)的讀寫訪問。在遠程客戶機中,NFS安裝模仿本地安裝?,F在,對于計算機單元110可以執(zhí)行同時對文件系統(tǒng)260和262的讀寫NFS安裝?,F在有從計算機單元110對文件系統(tǒng)260和262的讀寫NFS安裝320和322。相似地,現在有從計算機單元112對文件系統(tǒng)260和262的讀寫NFS安裝324和326。
如圖3所示的現有技術的基于NFS安裝的解決方案的缺點是性能差。比起這種情況計算機單元110和112與盤存儲單元200接口并能夠在沒有另一個計算機單元及其介入網絡文件系統(tǒng)軟件的情況下往返盤存儲單元200移動大的盤塊序列,文件服務器300和NFS的使用顯著減慢對文件系統(tǒng)260和262的訪問。此外,必須將盤訪問安全地從舊SU轉移到新SU,以便不會有這些單元以讀寫訪問模式同時訪問相同的邏輯存儲實體、例如文件系統(tǒng)時的重疊時刻。由此,可以保持文件系統(tǒng)一致性。如圖3所示的現有技術的基于NFS安裝的解決方案的另一個缺點是文件服務器300變成系統(tǒng)中的單一故障點。如果復制文件服務器300,則產生如圖2所示的相同問題,因為文件服務器300的復制品會同時需要文件系統(tǒng)260和262的同時讀寫安裝。因此,基本未改進此狀況。
發(fā)明目的本發(fā)明的目的是解決上述問題。具體來說,本發(fā)明的目的在于確保切換期間服務單元之間讀寫安裝的可靠傳遞。
發(fā)明概述本發(fā)明涉及用于執(zhí)行冗余計算機集群中的切換的方法,所述冗余計算機集群至少包括第一計算機單元、第二計算機單元和共享存儲單元。第一和第二計算機單元與共享存儲單元接口,它包括由計算機集群中執(zhí)行的復制服務單元訪問的至少一個數據存儲資源。在該方法中,檢測與復制服務單元相關聯的切換狀況;由第一計算機單元釋放對至少一個數據存儲資源的訪問;由第二計算機單元對至少一個數據存儲資源建立訪問;以及允許服務單元的復制品在第二計算機單元中變成活動的。
本發(fā)明還涉及冗余計算機集群,其中至少包括第一計算機單元、第二計算機單元和共享存儲單元。第一和第二計算機單元與共享存儲單元接口,它包括由計算機集群中執(zhí)行的復制服務單元訪問的至少一個數據存儲資源。該計算機集群還包括切換控制部件,用于檢測與該復制服務單元相關聯的切換狀況;第一和第二計算機單元中的訪問釋放部件,用于釋放對至少數據存儲資源的訪問;第一和第二計算機單元中的訪問建立部件,用于建立對至少一個數據存儲資源的訪問;以及切換控制部件,用于在對至少一個數據存儲資源的成功訪問建立之后激活服務單元的復制品。
本發(fā)明還涉及與至少一個共享存儲單元接口的計算機單元。計算機單元執(zhí)行需要對共享存儲單元上的至少一個數據存儲資源訪問的至少一個復制服務單元。該計算機單元還包括切換控制部件,用于檢測與至少一個復制服務單元中的任一個相關聯的切換狀況;訪問釋放部件,用于釋放對至少一個數據存儲資源的訪問;訪問建立部件,用于建立對至少一個數據存儲資源的訪問;切換控制部件,用于在對至少一個數據存儲資源的成功訪問建立之后激活服務單元;以及切換控制部件,用于在成功釋放對至少一個數據存儲資源的訪問之后更替服務單元的狀態(tài)。
在本發(fā)明的一個實施例中,訪問建立、釋放和切換控制部件是諸如進程、線程或子例程的軟件組件。在本發(fā)明的一個實施例中,由與例如使用對數據存儲資源的讀寫訪問的每個服務單元相關聯的訪問代理執(zhí)行訪問建立和訪問釋放步驟。訪問代理可以是服務單元內的組件。該組件可以是被切換控制系統(tǒng)視為服務單元的一部分的進程或線程。切換控制系統(tǒng)可以包括若干切換控制服務,即部件。當正在更替服務單元的狀態(tài)時,還就切換狀況以信號通知訪問代理。由此,訪問代理能夠檢測何時要執(zhí)行訪問建立或訪問的釋放。無需因訪問代理的存在而變更操作系統(tǒng)級軟件。
在本發(fā)明一個實施例中,數據存儲資源是文件系統(tǒng),對文件系統(tǒng)的訪問的建立是文件系統(tǒng)的安裝。類似地,釋放對文件系統(tǒng)的訪問是文件系統(tǒng)的卸下。
在本發(fā)明的一個實施例中,共享存儲單元是包括若干物理存儲單元的邏輯單元。在該實施例中,如果使用RAID,數據存儲單元可以是例如RAID邏輯單元。在一個實施例中,共享存儲單元是單個物理存儲單元。
在本發(fā)明的一個實施例中,共享存儲單元是盤存儲單元。數據存儲資源可以是例如,軟件獨立盤的冗余陣列(RAID)或文件系統(tǒng)。在本發(fā)明的一個實施例中,第一和第二計算機單元使用外圍接口與共享存儲單元接口,該外圍接口可以是例如光纖信道(FC)、小型計算機系統(tǒng)接口(SCSI)、因特網小型計算機系統(tǒng)接口(iSCSI)或集成系統(tǒng)接口(ISA)。
本發(fā)明的益處涉及冗余多單元計算機集群中數據存儲資源訪問的提高的性能和可靠性。避免了在安裝計算機單元和共享存儲單元之間使用中間單元和網絡文件系統(tǒng)軟件。由此避免了顯著的延遲。使得執(zhí)行計算機集群中的切換更靈活。通過在服務單元與已經從服務單元建立對其的讀寫訪問的數據存儲資源之間設置關聯來實現此目的。由此將數據存儲資源訪問轉移與服務單元的狀態(tài)及其中的組件服務示例綁定。再者,還使得分開的服務組中的服務單元可以獨立地執(zhí)行切換成為可能。
附圖簡介為提供對本發(fā)明的進一步理解而包括的并構成本說明的一部分的
本發(fā)明的實施例,它們連同說明幫助解釋本發(fā)明的原理。在這些圖中圖1是說明現有技術的冗余兩單元計算機集群和SA論壇體系結構的服務單元(SU)和服務組(SG)概念的框圖;圖2是說明使用共享盤存儲單元的現有技術冗余兩單元計算機集群的框圖;圖3是說明經由公共文件服務器單元使用網絡文件系統(tǒng)的冗余兩單元計算機集群的框圖;圖4是說明根據本發(fā)明在切換之前具有三個服務組和兩個數據存儲資源的冗余兩單元計算機集群的框圖;圖5是說明根據本發(fā)明在切換之后具有三個服務組和兩個數據存儲資源的冗余兩單元計算機集群的框圖;以及圖6是說明根據本發(fā)明的圖4或圖5的計算機集群中的數據存儲訪問轉移方法的一個實施例的流程圖。
優(yōu)選實施例的詳細說明現在將詳細地參考本發(fā)明的實施例,附圖中說明其實例。
圖4是說明包括具有計算機單元110和112的冗余兩單元計算機集群的本發(fā)明的一個實施例的框圖。在本發(fā)明的其他實施例中,還可以有任何其他數量的計算機單元。使用通信信道104來連接這些計算機單元,該通信信道104是局域網(以太網)。在本發(fā)明的其他實施例中,該通信信道可以基于任何其他技術。使用信道202將這些計算機單元連接到存儲單元200,這提供高帶寬訪問。信道202可以基于例如光纖信道(FC)、小型計算機系統(tǒng)接口(SCSI)接口、因特網SCSI(iSCSI)或集成系統(tǒng)體系結構(ISA)總線。存儲單元200是包括至少一個硬盤驅動器的硬盤單元。在本發(fā)明的其他實施例中,存儲單元200可以基于任何類型的非易失性存儲器,如硬盤驅動器、光盤、磁帶單元或閃速存儲器。存儲單元200具有數據存儲資源260和262。數據存儲資源可以是例如文件系統(tǒng)、軟件RAID或LVM邏輯卷。有三個SG,即SG400-404。SG400具有SU410和420,SG 402具有SU412和422以及SG404具有SU414和424。SU420-424是SU410-414的復制品。如果將SU410-414其中之一脫離活動狀態(tài),則使SU420-424中的對應復制品進入活動狀態(tài)。在圖4中,SU410-414處于活動狀態(tài),而SU422-424處于待機狀態(tài)。SU410已建立對數據存儲資源262的讀寫訪問。由此,SU410中存在數據存儲資源262的讀寫訪問432。如果數據存儲資源262是文件系統(tǒng),則SU已讀寫安裝它。SU414已建立對數據存儲資源260的讀寫訪問。由此,SU414中存在數據存儲資源260的讀寫訪問430。圖4所示的情況一直是相似,直到發(fā)生切換,其中SU414必須離開活動狀態(tài)且SU424必須進入活動狀態(tài)。
在此情況中,必須傳遞讀寫訪問430,即轉移到SU424。有訪問代理450、452、460和462。訪問代理負責確??煽康厍乙允芸胤绞綇幕顒覵U將數據存儲資源的讀寫訪問傳遞到被動SU。不得有活動SU和被動SU同時以讀寫訪問模式訪問相同的數據存儲資源的重疊時刻。由此,可以保持文件系統(tǒng)或一般而言數據存儲區(qū)一致性。在本發(fā)明的一個實施例中,訪問代理是如計算機單元中執(zhí)行的進程或線程等的軟件組件示例。當作出執(zhí)行有關給定SG的切換的決策時,在將要離開其活動狀態(tài)的活動SU中調用訪問代理。對于擁有對數據存儲資源的至少一個讀寫訪問的每個活動SU,有一個訪問代理。在本發(fā)明的一個實施例中,無論SU是否擁有任何讀寫訪問,對于每個SU,都有一個訪問代理。對于一旦待機SU進入活動狀態(tài)而擁有對數據存儲資源的至少一個讀寫訪問的每個待機SU,也有一個訪問代理。例如,在SG404中,SU414具有訪問代理452,因為SU已經建立對數據存儲資源260的讀寫訪問,并由此具有讀寫訪問430。
在圖4中,在計算機單元110中具有切換控制服務470-474,在計算機單元112中有切換控制服務480-484。切換控制服務470-474照管與計算機單元110中服務單元相關聯的任務。相似地,切換控制服務480-484照管與計算機單元112中服務單元相關聯的任務。切換控制服務470和480的任務是分別檢測與服務單元410-414和420-424的任一個相關聯的切換狀況。切換控制服務472和482的任務是分別激活服務單元410-414和420-424的任一個。可以在對服務單元所需的數據存儲資源的成功訪問建立之后,使服務單元進入激活狀態(tài)。切換控制服務474和484的任務是分別在成功釋放對已經從服務單元建立對其的讀寫訪問的數據存儲資源的訪問之后變更服務單元410-414和420-424的活動狀態(tài)。通常,將活動狀態(tài)變更到待機或故障。在本發(fā)明的一個實施例中,切換控制服務470-474可以由計算機單元110中的單個服務來執(zhí)行。在該情況中,切換控制服務470-474僅是與單個切換控制服務相關聯的不同任務或過程。相似地,在本發(fā)明的同一個實施例中,切換控制服務480-484可以由計算機單元112中的單個服務來執(zhí)行??梢宰鳛橹虚g件和/或操作系統(tǒng)的一部分來實現切換控制服務。
圖5是說明圖4在發(fā)生了切換,其中SU414已進入待機狀態(tài)而SU424已進入活動狀態(tài)時的情況的框圖。對數據存儲資源262的讀寫訪問432仍在SU410中,但是現在在SU424中對數據存儲資源260的新讀寫訪問500已經替代圖4中的讀寫訪問430。
圖6是說明根據本發(fā)明的圖4或圖5的計算機集群中的數據存儲資源訪問轉移方法的一個實施例的流程圖。圖6說明從第一SU到第二SU的整個訪問轉移過程以及訪問代理所采取的動作。在本發(fā)明的一個實施例中,照管SG404的SU414部分的切換控制的切換控制服務470檢測與SU414相關聯的切換狀況。切換控制服務470與切換控制服務472和474合作。切換控制服務474的任務是使SU414中的所有軟件組件或它照管的任何其他SU準備好以進入不同狀態(tài),本情況中是待機狀態(tài)。切換控制服務470、472和474還可以照管其他SG和SU的切換控制。當SU414要進入待機狀態(tài)且SU424要進入活動狀態(tài)時,訪問代理452從切換控制服務470接收信號。切換控制服務470、472和474可以分別是操作系統(tǒng)220和222的一部分,或者如中間件軟件組件之類的分開服務。在步驟600,當發(fā)生切換時,訪問代理452等待來自切換控制服務470的調用它的信號。在該步驟中還可派生訪問代理進程。在步驟602,訪問代理452釋放對于已從SU414對其建立讀寫訪問的數據存儲資源(SR)的訪問。如果數據存儲資源是文件系統(tǒng),則這意味著訪問代理452卸下文件系統(tǒng)。這包括負責文件系統(tǒng)卸下的操作系統(tǒng)服務,例如稱為umount的Linux系統(tǒng)服務的調用。如果數據存儲資源是軟件RAID,則訪問代理釋放它,換言之,釋放對它的訪問。釋放軟件RAID使之可用于從另一個SU的訪問建立。
為了簡明,本文假定有至少一個已經對其建立訪問的數據存儲資源。在步驟604,訪問代理452檢查是否還有更多已從SU414對其建立讀寫訪問的數據存儲資源。如果是此情況,則處理在步驟602繼續(xù)。在本發(fā)明的一個實施例中,有系統(tǒng)文件或表,其中包含有關已從SU414或已從SU424對其建立讀寫訪問的數據存儲資源的信息。換言之,列示有已從SG404對其建立讀寫訪問的數據存儲資源。在本發(fā)明的一個實施例中,訪問代理452以信號通知切換控制服務474已釋放對所有必需的數據存儲資源的訪問,即已經釋放它們,并由此使之可用于從其他地方的訪問建立。
在步驟606中,例如由切換控制服務474執(zhí)行與將SU414帶入待機狀態(tài)相關聯的其余任務。在本發(fā)明的一個實施例中,利用指示它必需開始建立對數據存儲資源的訪問的信號,調用訪問代理462的進程,因為SU424將要進入活動狀態(tài)。該信號來自例如切換控制服務480。在本發(fā)明的一個實施例中,切換控制服務470-474和480-484通過通信信道104交換消息傳遞。
在步驟608,訪問代理建立對將要從SU424對其建立讀寫訪問的數據存儲資源的訪問。如果數據存儲資源是文件系統(tǒng),則這包括負責文件系統(tǒng)安裝的操作系統(tǒng)服務的調用,例如mount。為了簡明,本文假定有至少一個將要對其建立訪問的數據存儲資源。在步驟610,訪問代理462檢查是否還有更多將要從SU424對其建立讀寫訪問的數據存儲資源。如果是此情況,則處理在步驟608繼續(xù)。在步驟612,例如由切換控制服務482執(zhí)行與將SU424帶入活動狀態(tài)相關聯的其余任務。例如,可以由訪問代理462以信號通知切換控制服務482已經成功建立對所需的所有數據存儲資源的訪問。
對于本領域技術人員來說,顯然隨著技術的發(fā)展,可以以多種不同方式實施本發(fā)明的基本原理。因此本發(fā)明及其實施例并不局限于上述的實例;相反,它們可以在權利要求的范圍內變化。
權利要求
1.一種用于在冗余計算機集群中執(zhí)行切換的方法,所述冗余計算機集群至少包括第一計算機單元、第二計算機單元和共享存儲單元,其中所述第一計算機單元和所述第二計算機單元與所述共享存儲單元接口,所述共享存儲單元包括由所述冗余計算機集群中執(zhí)行的復制服務單元訪問的至少一個數據存儲資源,所述方法包括檢測與所述復制服務單元相關聯的切換狀況;由所述第一計算機單元釋放對所述至少一個數據存儲資源的訪問;由所述第二計算機單元建立對所述至少一個數據存儲資源的訪問;以及在所述第二計算機單元中允許所述復制服務單元的復制品變成活動的。
2.如權利要求1所述的方法,其特征在于,所述建立所述訪問以及所述釋放所述訪問由訪問代理執(zhí)行,所述訪問代理與所述復制服務單元相關聯。
3.如權利要求1所述的方法,其特征在于,還包括提供包括盤存儲單元的共享存儲單元。
4.如權利要求1所述的方法,其特征在于,還包括提供包括文件系統(tǒng)的所述至少一個數據存儲資源,所述建立所述訪問安裝所述文件系統(tǒng)以及所述釋放所述訪問卸下所述文件系統(tǒng)。
5.如權利要求1所述的方法,其特征在于,還包括提供包括軟件獨立盤的冗余陣列的所述至少一個數據存儲資源。
6.如權利要求1所述的方法,其特征在于,還包括使用外圍接口提供所述第一計算機單元和所述第二計算機單元與共享存儲單元接口。
7.如權利要求6所述的方法,其特征在于,還包括提供包括光纖信道、小型計算機系統(tǒng)接口、因特網小型計算機系統(tǒng)接口或集成系統(tǒng)接口的所述外圍接口。
8.一種冗余計算機集群,至少包括第一計算機單元、第二計算機單元和共享存儲單元,其中所述第一計算機單元和所述第二計算機單元與所述共享存儲單元接口,所述共享存儲單元包括由所述冗余計算機集群中執(zhí)行的復制服務單元訪問的至少一個數據存儲資源,所述冗余計算機集群包括切換控制部件,用于檢測與所述復制服務單元相關聯的切換狀況;所述第一計算機單元和所述第二計算機單元中的訪問釋放部件,用于釋放對所述至少一個數據存儲資源的訪問;所述第一計算機單元和所述第二計算機單元中的訪問建立部件,用于建立對所述至少一個數據存儲資源的訪問;以及切換控制部件,用于在對所述至少一個數據存儲資源的成功訪問建立之后激活所述復制服務單元的復制品。
9.如權利要求8所述的計算機集群,其特征在于,所述訪問建立部件和所述訪問釋放部件包括在訪問代理中,所述訪問代理與所述復制服務單元相關聯。
10.如權利要求8所述的計算機集群,其特征在于,共享存儲單元包括盤存儲單元。
11.如權利要求8所述的計算機集群,其特征在于,所述至少一個數據存儲資源包括文件系統(tǒng),所述訪問建立部件安裝所述文件系統(tǒng)以及所述訪問釋放部件卸下所述文件系統(tǒng)。
12.如權利要求8所述的計算機集群,其特征在于,所述至少一個數據存儲資源包括軟件獨立盤的冗余陣列。
13.如權利要求8所述的計算機集群,其特征在于,所述第一計算機單元和所述第二計算機單元使用外圍接口與共享存儲單元接口。
14.如權利要求13所述的計算機集群,其特征在于,所述外圍接口包括光纖信道、因特網小型計算機系統(tǒng)接口、小型計算機系統(tǒng)接口或集成系統(tǒng)接口。
15.一種與至少一個共享存儲單元接口的計算機單元,所述計算機單元執(zhí)行需要對所述至少一個共享存儲單元上的至少一個數據存儲資源訪問的至少一個復制服務單元,所述計算機單元包括切換控制部件,用于檢測與所述至少一個復制服務單元相關聯的切換狀況;訪問釋放部件,用于釋放對至少一個數據存儲資源的訪問;訪問建立部件,用于建立對所述至少一個數據存儲資源的訪問;切換控制部件,用于在對所述至少一個數據存儲資源的成功訪問建立之后激活所述至少一個復制服務單元;以及切換控制部件,用于在成功釋放對所述至少一個數據存儲資源的所述訪問之后變更所述至少一個復制服務單元的狀態(tài)。
16.如權利要求15所述的計算機單元,其特征在于,所述訪問釋放部件和訪問建立部件包括在訪問代理中,所述訪問代理與服務單元相關聯。
17.如權利要求15所述的計算機單元,其特征在于,存儲單元包括盤存儲單元。
18.如權利要求8所述的計算機單元,其特征在于,所述至少一個數據存儲資源包括文件系統(tǒng),所述訪問建立部件安裝所述文件系統(tǒng)以及所述訪問釋放部件卸下所述文件系統(tǒng)。
19.如權利要求15所述的計算機單元,其特征在于,所述至少一個數據存儲資源包括軟件獨立盤的冗余陣列。
20.如權利要求15所述的計算機單元,其特征在于,計算機節(jié)點使用外圍接口與存儲單元接口。
21.如權利要求20所述的計算機單元,其特征在于,所述外圍接口包括光纖信道、小型計算機系統(tǒng)接口、因特網小型計算機系統(tǒng)接口或集成系統(tǒng)接口。
全文摘要
一種用于執(zhí)行計算機單元之間的存儲訪問轉移的方法、計算機集群和計算機單元。冗余計算機集群包括計算機單元和共享存儲單元。這些計算機單元與共享存儲單元接口,它存儲由計算機集群中執(zhí)行的復制服務單元已對其建立訪問的數據存儲資源。當檢測到與復制服務單元相關聯的切換狀況時,首先在將進入待機狀態(tài)的服務單元復制品中釋放已經從服務單元建立對其的訪問的數據存儲資源。然后,在將要進入活動狀態(tài)的服務單元復制品中建立對數據存儲資源的訪問。然后才允許服務單元的復制品變成活動的。本發(fā)明的好處涉及冗余多節(jié)點計算機集群中文件系統(tǒng)訪問的提高的性能和可靠性。
文檔編號G06F11/00GK1879088SQ200480032979
公開日2006年12月13日 申請日期2004年10月5日 優(yōu)先權日2003年11月10日
發(fā)明者H·海蒂艾南 申請人:諾基亞有限公司