專利名稱:用于地理映射的對資源確認和排序的方法與裝置的制作方法
技術領域:
本發(fā)明一般涉及計算機資源的管理。本發(fā)明尤其涉及物理上分散的資源池(resource pool)的資源的配置和可訪問性。
背景技術:
服務于諸如某一大公司的銷售制造業(yè)務的企業(yè)運營的現代計算機系統,不能容忍長期的不可用性。傳統上,災難恢復一直集中在非意料之中的停機時間,例如由于停電、自然災害、網站災難、系統硬件或軟件錯誤、應用程序故障和故意的破壞行為。通常,非意料之中的停機時間會導致計算機資源的不可用性,因此可以把來自遠程恢復網點的備份系統用于恢復操作,業(yè)務中斷可能達數小時,甚至幾天。
現代電子商務要求連續(xù)的系統可用性和免受預定停機時間的影響。在一個系統(例如一個服務器)的預定的停機或斷電期間,有意使用戶(例如客戶機)不能用系統。這些預定的停機時間引起了系統操作的混亂,而且也難以適應。預定的停機時間/斷電的例子包括新操作系統安裝和應用軟件的發(fā)布;系統硬件的升級、添加、去除、以及維護;系統備份;網站維護;以及程序的應用的臨時調整(PTF)。一個具有“連續(xù)可用性”的系統被定義為一個不具有預定或非預定的斷電的系統。
一種用于改進和加強系統可用性的方法利用了一個群集系統。一個群集為一組計算機系統結點,這一組計算機系統結點位于一個單一網點或分布于多個網點,它們全都協同運作并相互合作,以提供一個單一的、統一的計算能力。群集系統為計算機系統,例如數據庫服務器或應用服務器,提供了故障恢復(failover)和切換能力。如果發(fā)生系統停機或網點丟失,則可以把提供在一個群集主服務器系統上的功能切換(或故障恢復)到一個或多個包含資源的一個當前拷貝(復制品)的指定的備份系統。對于非預定的停機,故障恢復可以是自動的。至于預定的停機,作為預定停機過程的一部分,可以自動地或手工地啟動一個切換。
一個作為群集的一個子集,并且擁有一些成員的群集資源組通常把這些成員之一定義為該群集資源組的主成員。主成員是該組的主訪問點,并寄宿了該組當前所使用的資源。把這一組內的被適當加以配置以能夠承擔主成員的功能的其它成員,即使其資源被適當加以配置以承擔主成員的功能的結點,稱為備份成員。在一個例子中,備份成員寄宿了冗余的資源。在另一個例子中,一個備份成員可以擁有對通常由主成員所寄宿的主資源的訪問權。如果主成員發(fā)生故障,則一個備份成員承擔主成員的角色。當一個備份成員承擔主成員的角色時,它或者接管先前主成員的資源,或者把其冗余的資源改變成主資源。
如果故障恢復或切換,可以作為服務器操作系統的一部分并運行在所有的系統上的群集資源服務(CRS),提供一個從主系統到備份系統的切換。這切換導致對最終用戶或運行在一個服務器系統上的應用程序的最小影響。把數據請求自動地重新路由到備份(即新主)系統。群集資源服務還提供把系統自動重新引入或重新加入群集,并恢復重新加入的系統的操作能力的裝置。
用于進一步提高和增強系統可用性的另一種方法,涉及地理上分散的計算系統和計算機資源,例如數據存儲單元。在這樣一個地理上分散的計算系統中,不同的地理網點擁有一個或多個能夠控制或寄宿也位于該網點的計算機資源的計算機子系統,即結點。把具有計算系統結點和資源的多個地理位置中的每一個稱為一個“網點”。通常,把包含一個地理上分散的計算系統的某些部分的多個網點與一個支持所有網點和位于這些網點的計算機結點之間的數據交換的數據通信系統互相連接。一個為地理上分散的計算機系統的一部分的特定的計算結點,通常擁有對同處于該結點的資源,例如數據存儲設備、打印機、以及其它共享的外部設備的直接訪問權。這些系統通常維護著包含主資源的一個復本,諸如數據存儲單元的冗余的資源。如果需要的話,通常可以把這些冗余的資源快速地配置成主資源。地理上分散的計算系統通過把資源映射數據從主網點傳遞到其它網點來維持冗余的資源。在一個組中維持冗余的資源,避免了該組的操作的單點故障。
能夠把數據存儲在與一個或多個服務器系統相連的磁盤池(disk pool)中。一個磁盤池為一組磁盤單元,例如一個磁盤單元的一個立柜,以及一個獨立磁盤的冗余陣列(RAID)。通過把含有該磁盤池的磁盤單元的硬件實體的所有權從主系統切換到一個備份系統,把一個磁盤池從主系統切換到該備份系統。然而,必須把磁盤池中的磁盤單元物理上位于正確的硬件實體(例如,一個主和備份系統可以訪問的立柜)中,而且必須遵守許多配置和硬件布局規(guī)則。當為磁盤池選擇磁盤單元時,以及當為訪問該磁盤池選擇主和備份系統時,用戶必須遵守這些配置和硬件布局規(guī)則。否則,當試圖進行切換時或當發(fā)生故障恢復時,磁盤池可能不可用于主系統與/或備份系統。當改變硬件配置時,用戶也必須遵守這些規(guī)則。用戶有責任了解和遵守這些配置和硬件布局規(guī)則,以正確地配置磁盤單元和群集系統。然而,由于配置和硬件布局規(guī)則的復雜性,用戶可能不得不進入一個試驗和錯誤的狀態(tài),當出現切換時,導致不可用的磁盤單元。
在向一個服務器系統分配資源,例如磁盤池,的過程中,地理上分布式的計算系統引入了一個附加條件。通常,可以把諸如磁盤池這樣的資源分配給位于同一物理網點的計算機系統。例如,位于一個網點的計算機系統通常不能寄宿位于另一個網點的磁盤池。傳統的計算機資源組一般情況下要求把所有的結點和資源并置,以致在該計算機資源組中的所有結點都可以擁有對分配給該計算機資源組的所有資源的訪問權。因而限制了計算機資源組的靈活性。
因此,需要這樣一種系統和方法當配置一個磁盤池時,能夠確保一組磁盤(即一個磁盤池,也叫做ASP)對于同一網點的一個系統是可訪問的。而且,具有這樣一種需求,要求保證選擇有效的磁盤單元用于一個磁盤池中的配置。
發(fā)明內容
通常,本發(fā)明的實施例,例如,為了增強整個計算系統組的可用性,提供了用于維持處于地理上分散的位置的冗余資源的計算系統組的系統與方法,。在每一個網點維持的諸如磁盤池中的磁盤單元的資源,能夠在一個網點的一個主系統和一個或多個備份系統之間加以切換。把每一個獨立的地理位置叫做一個“網點”。在一個群集中,能夠對主系統、任何一個或多個備份系統、位于一個給定網點的一個或多個資源進行配置,以在該網點提供改進的可用性。把一個群集定義為一組位于一個網點的或在多個網點之間分布的系統或結點,其中多個結點作為一個單一的系統一起運作。把群集中的每一個計算機系統稱為一個群集結點。計算系統組中的每一個網點能夠擁有一個或多個計算系統或結點,而且示范性實施例的操作允許一個網點僅用一個結點操作。能夠把計算系統組中的每一個網點配置成一個包含用于當前操作的主資源的生產網點,或配置成一個包含映射位于生產網點的主資源的冗余資源的映射網點。本發(fā)明的示范性實施例有利于對一個網點處的資源進行正確的確認和排序,以供該網點處的一個群集或計算機結點所使用。提供了一組接口,用于在一個網點的群集創(chuàng)建、添加、改變、以及刪除結點。
在一個實施例中,提供了一種機制,用于為一個指定的磁盤也確認和排序位于同一網點中的一個或多個磁盤單元。在另一個實施例中,為一個在其被配置成用于訪問磁盤池的一個主結點或備份結點之前的結點提供一種機制,用于為一個結點確認在磁盤池中的磁盤單元的可訪問性。在又一個實施例中,提供了一種機制,用于當該網點處的多個結點的群集開始準備激活位于該網點的主系統和備份系統之間的切換時,確認在一個可切換磁盤池中的磁盤單元。
簡而言之,根據本發(fā)明,提供一種用于管理一個系統中的資源的系統、方法、以及信號承載介質,包括配置至少一個供一個系統所使用的資源。該系統是與一個包含該資源的一個網點相關聯的。該方法還包括為一個資源池確認至少一個資源的可用性。所述確認包括確定系統對資源的可訪問性,并驗證資源是位于該網點。該方法還包括根據確認(也可以包括排序)為資源池選擇至少一個資源的至少一個。僅檢查同一個網點的系統,以確保它們擁有對該網點的資源的訪問權,而且系統不要求對在其它網點的資源的訪問。
在本發(fā)明的另一個方面,一個系統擁有一個與一個網點相關聯的主系統,以及一個連接于主系統的資源池。該系統還擁有一個處理器,其被配置用于為資源池確認至少一個資源的可用性,并且為資源池選擇至少一個有效的資源。至少部分地基于位于該網點的至少一個資源來確認可用性。
從以下對本發(fā)明的優(yōu)選實施例的更具體的描述,本發(fā)明前述的及其它特性和優(yōu)點將會變得十分明顯,如附圖中所說明的。
在這一說明的結論處的權利要求中特別地指出和清楚地要求了被視為本發(fā)明的主題內容。從以下結合附圖的詳細描述,本發(fā)明的上述內容及其它特性和優(yōu)點將會變得十分明顯。另外,參考號的最左側的數字標識的附圖是參考號第一次在其中出現的附圖。
圖1是說明了本發(fā)明的一個示范性實施例的整個系統體系結構的一個計算系統組。
圖2是根據本發(fā)明的一個示范性實施例,描述了圖1中所示的組的一個組成員的一個框圖。
圖3是一個根據本發(fā)明的一個示范性實施例,選擇一或多個DASD的用于一個ASP的處理流程圖。
圖4是根據本發(fā)明的一個示范性實施例的軟件類以及每一個軟件類的職責的示范性設計。
圖5是一個根據本發(fā)明的一個示范性實施例,用于一個示范性有效性檢查器的一個有效性檢查器的面向對象的設計。
圖6是一個根據本發(fā)明的一個示范性實施例,對所選擇的ASP處理流程圖進行確認和排序的示范性非配置DASD。
圖7是一個根據本發(fā)明的一個示范性實施例的用于對群集操作的IASP的可切換性進行檢查的軟件對象的示范性集合。
圖8是一個根據本發(fā)明的一個示范性實施例,用于圖1的網點的結點和資源配置。
圖9是根據本發(fā)明的一個示范性實施例的一個初始配置處理流程圖。
具體實施例方式
計算系統組現在更詳細地參照附圖,其中,相同的數字表示貫穿各個視圖的相同部分。圖1中給出了說明本發(fā)明的一個示范性實施例的整個系統體系結構的一個計算系統組100。示范性計算系統組100示出了兩個網點,網點A102和網點B104。本發(fā)明的實施例可使用任何數目的網點計算系統組進行操作,從1個到多到有實效的無論多少個。把在這一實例中所使用的網點定義為對位于該網點物理位置中的資源擁有訪問權的計算機結點組。例如網點A 102中的結點,即結點A 110和結點B 108,擁有對資源池A 130,即資源A 116、資源B 118和資源Z 120中的資源的訪問權。相類似網點B 104中的結點,即結點C 112和結點D 114擁有對資源池B 132,即資源C 121、資源D 122和資源Y 124中的資源的訪問權。除了這些可以被在相關聯的結點處的多個結點訪問的這些資源外,網點A 102還包括僅可以被處于該網點的結點A 110訪問的資源的資源池E 140。在這一實例中,資源池E 140不能被結點B 108或位于網點B 104的結點訪問。可以被位于該網點的多個結點訪問的資源池能夠被配置成可切換的資源池,以致于可以把寄宿了該資源的操作的結點切換到同一網點處的其它結點。
這一示范性實施例中的每一個網點都擁有一定數量的結點、把網點A 102示出為具有一個結點A 110和一個結點B 108。經由一個支持同一個網點中的一部分結點與不同網點中的一部分的結點之間的數據通信的數據通信網絡106連接這些結點。
在這一實例中,去除了網點地理上的互相關系,并通過一個網點內的通信系統126使所述網點相互連接。網點內的通信系統126連接包含在每一網點中的通常較高速的數據通信網絡106。本發(fā)明的這一示范性實施例利用了一個高速連接。本發(fā)明的各實施例利用了各種網點內的通信系統126,例如傳統的WAN體系結構、陸上通信線、陸地和衛(wèi)星無線鏈路和其它通信技術。本發(fā)明的實施例還與任何數目的具有類似互連的網點一起運作,以形成網點的所有結點之間的一個連續(xù)的通信網絡。本發(fā)明的實施例還包括物理上互相接近的,但擁有不訪問同一資源池中的資源的計算機結點的“網點”。物理上接近的網點能夠共享一個單一的數據通信網絡106,并且不包括一個獨立的網點間的通信系統126。
包含在資源池中的資源,例如資源池A 130和資源池B 132包括由組內一個結點控制的數據存儲設備、打印機和其它外部設備。在計算系統組100中,把一個結點或一個成員規(guī)定為該組的主成員。主組成員寄宿了該計算組的主資源,并作為訪問點和寄宿了該組所管理的資源。
圖8中說明了根據本發(fā)明的一個示范性實施例的網點A 102的一個結點和資源配置800。網點A 102的示范性結點和資源配置800包括結點A 110、結點B 108、作為磁盤單元的一個第一立柜的資源池A 130、以及作為磁盤單元的一個第二立柜的資源池E 140??梢岳媒Y點A 110或結點B 108中的操作系統執(zhí)行群集管理操作。作為選項,結點和資源配置800也可以包括一個群集管理計算機系統820,其可專門用于執(zhí)行對結點和資源配置800的與配置、改變、維護和其它任務相關的操作??梢酝ㄟ^一個網絡把群集管理計算機系統820連接到結點和資源配置800的其它部件,并且還可以包括一個計算機系統,例如以下圖2中所描述的計算機系統200。
這一示范性實施例中的資源池A 130和資源池E 140,每一個均包括多個磁盤單元,例如多個直接訪問存儲磁盤(DASD)。這一示范性實施例的資源池A 130包括DASD 11 802、DASD 12 804、DASD 13 806以及DASD 14 808,可以建議把它們一起定義成一個獨立輔助存儲池(IASP)。資源池E 140包括DASD 21 810和DASD 22 812,可以建議把它們一起定義成一個獨立輔助存儲池(ASP)。把資源池A 130連接于結點A 110和結點B 108,從而可由結點A 110和結點B 108加以訪問。把資源E僅連接于結點A 110,從而僅可以由結點A 110加以訪問。在這一示范性實施例中,把結點A 110配置成資源池A 130的主結點,把結點B 108配置成網點A 102處的資源池A 130的備份結點(即當由于預定的或非預定的停機結點A 110變成不可用時,結點B 108變成資源池A 130的新的主結點)。
計算機結點和組成員圖2中說明了一個描述根據本發(fā)明的一個實施例中的組100的一個組成員200的框圖,在這一示范性實施例中,組成員200為一個一個計算機系統。這一示范性實施例的組成員200為一個IBM eServer iSeries服務器系統。任何適當配置的處理系統類似地能夠為本發(fā)明的實施例所使用。計算機系統200擁有一個連接于主存204、海量存儲器接口206、終端接口208以及網絡接口210的處理器202。這些系統部件由系統總線212加以互連。海量存儲器接口206用于把海量存儲設備,例如DASD設備214,連接到計算機系統200。DASD設備的一個特定的類型為軟盤驅動器,可以把其用于向軟盤216存儲數據和從軟盤216讀取數據。
主存204包含應用程序220、對象222、數據226、以及一個操作系統圖象228。盡管將說明作為當前駐留在主存204中,但顯然,不要求應用程序220、對象222、數據226以及操作系統228在所有時刻,甚至在同一時刻全部駐留在主存204中。計算機系統200利用了傳統的虛擬尋址機制,以允許程序表現為好象它們擁有對一個大的、單一的存儲實體的訪問權,此處將所述存儲實體稱為計算機系統存儲器,而不是擁有對多個、較小的存儲實體的訪問權,例如這樣的存儲實體為主存204和DASD設備214。
注意此處使用的術語“計算機系統存儲器”,一般指計算機系統200的整個虛擬存儲器。
操作系統228是一個合適的多任務操作系統,例如IBM OS/400操作系統。本發(fā)明的實施例能夠使用任何其它合適的操作系統。操作系統228包括一個DASD管理用戶接口程序230、一個DASD存儲管理程序232、以及一個組用戶接口程序234。本發(fā)明的實施例利用了允許操作系統228各部件的指令在計算機200中的任何處理器上執(zhí)行諸如一個面向對象的框架機制的體系結構。
盡管僅說明了一個用于計算機200的CPU 202,但也可以同等有效地使用具有多個CPU的計算機系統。本發(fā)明的實施例并入了多個接口,每一個接口均包括獨立的、全編程的微處理器,用于從CPU 202卸載處理。終端接口208用于把一個或多個終端218直接連接到計算機系統200。這些終端218,可以為非智能的或全編程的工作站,用于允許系統管理員和用戶與計算機系統200進行通信。
網絡接口210用于把其它計算機系統或群集資源組成員,例如站A 240和站B 240,連接于計算機系統200。本發(fā)明可與任何包括現代模擬與/或數字技術的數據通信連接一起運作,或經由一個未來網絡機制運作。
盡管在一個功能齊全的計算機系統范圍里描述了本發(fā)明的示范性實施例,但這一領域的熟練技術人員將會理解,這些實施例也能夠作為一種程序產品通過軟盤,例如軟盤216、CD-ROM、或其它形式的可記錄介質,或通過任何類型的電子傳輸機制進行分配。
本發(fā)明的實施例包括一個操作系統228,所述操作系統228包括一個DASD管理用戶接口程序230,該接口程序執(zhí)行與配置、操作以及其它管理功能相關的功能,其中包括用于為一個輔助存儲池(ASP)選擇一個或多個DASD的功能。把一個ASP定義為一組磁盤單元。一個獨立的輔助存儲池(IASP)為獨立于一個系統的一組磁盤單元。如果磁盤單元是可切換的,并遵循配置和布局規(guī)則,則可以在系統之間切換IASP。DASD管理用戶接口程序230能夠與DASD存儲管理(DSM)程序232進行通信,DASD存儲管理程序232是對管理磁盤單元提供了內部支持的操作系統228的一個部件。
處理流和示范性軟件設計圖3中說明了根據本發(fā)明的一個示范性實施例,為一個ASP選擇一個或多個DASD的處理流程圖300。在這一示范性實施例中,可以把方法300理解為說明了DASD管理用戶接口程序230的一部分,這一部分與涉及為一個連接于一個位于一個網點的結點的ASP選擇一個或多個DASD相關。方法300開始于步驟310,并在步驟320等待用戶選擇為其配置的一個或多個DASD的一個ASP。用戶可以選擇一個現存的ASP,也可以選擇一個新的ASP。在一個實施例中,可以并行地選擇和處理多個DASD和ASP。一旦用戶已經輸入ASP選擇,則在步驟330調用一個有效性檢查器,以在該結點的網點提供所有非配置DASD的有效性和排序結果。以下描述一個示范性有效性檢查器的詳細情況。在步驟340,把有效性檢查器的結果顯示給用戶,這些結果包括為所選擇的ASP的每一個非配置DASD的有效性和排序。
在一個實施例中,有效性檢查器檢查以下的規(guī)則,以確定當為磁盤池選擇磁盤單元時的有效性。應該理解,以下的規(guī)則是示范性的,也可以遵循其它系統的其它組的規(guī)則。第一個規(guī)則是確定和確保所選擇的DASD全都與包含執(zhí)行方法300的結點的網點相關聯,并全都位于包含執(zhí)行方法300的結點的網點處。另一個規(guī)則是,在可獨立切換的不同磁盤池中的磁盤單元不能處于同一可切換實體中。例如獨立可切換磁盤池不能擁有位于同一立柜中的磁盤單元。又一個規(guī)則是,不準備被切換的磁盤單元,不能處于一個包含用于將被切換的磁盤池的磁盤單元的可切換硬件實體中。例如,與某一系統(例如系統ASP、資源池E 140的ASP 32)同駐的磁盤單元不能處于與一個可切換磁盤池(例如資源池A 130的IASP 33)中的磁盤單元相同的立柜中。還有一條規(guī)則規(guī)定,將在特定系統之間被切換的一個可切換磁盤池中的磁盤單元必須處于這些具體系統可以訪問的硬件實體中。例如旨在被切換到一個備份系統的磁盤單元,不能處于該備份系統不能訪問的一個立柜中。再一條規(guī)則是,在同一磁盤池中的磁盤單元必須處于同一電源域(即一起通電/斷電)中的硬件實體之下。其它的規(guī)則,例如關于系統限制的規(guī)則,也可以用于確定對DASD選擇的有效性。
在一個實施例中,按所排序的順序,顯示網點處的有效的DASD。有效性檢查器的輸出可以為下列之一完美的、有效的、警報的和無效的。輸出“完美的”,表示對于所規(guī)定的DASD所選擇的DASD為最佳DASD。輸出“有效的”表示該DASD不具有最佳排序,但可以把該DASD放入ASP中。輸出“警報的”表示對于所規(guī)定的DASD,該DASD可能是無效的或有問題的。輸出“無效的”表示不允許把該DASD放入所規(guī)定的DASD??梢詮囊粋€LdValidityForAsp對象(即以下所討論的LdValidityForAsp對象502)得到關于所選擇的DASD和其它非配置DASD的排序的細節(jié)。
在一個實施例中,把下列因素用于對有效的DASD選擇進行排序。第一,最好是把一個磁盤池的磁盤單元保持在同一可切換硬件實體下。第二,最好主與/或備份系統擁有對可切換硬件實體(即沒有其它實體處于其間)的直接訪問權。第三,最好一個磁盤池的磁盤單元包含在一個可切換硬件實體中(即可切換硬件實體不包含一個以上的IASP)。應該理解,以上的因素是示范性的,也可以利用其它系統的其它組的因素。
在另一個實施例中,除有效的DASD外,也可以顯示無效的DASD。然而,這一示范性實施例的方法300不允許用戶為所選擇的ASP選擇要配置的無效的DASD。在另一個實施例中,以一個或多個原因顯示每個無效的DASD,因為無效的DASD對所選擇的ASP是不適當的選擇。例如,除了可切換性原因外,無效的DASD所以無效的原因可能是因為容量、保護、或其它系統規(guī)則違章。用戶可以根據無效原因把無效的DASD改變成有效的DASD(例如,通過把DASD物理地移動到一個適當的位置)。
在步驟350,方法300等待用戶按為ASP的排序順序選擇一個或多個有效的非配置DASD。在步驟360,方法300把DASD選擇傳送到一個DSM沙箱,DSM沙箱是一個用于容納DASD存儲管理程序234的參數的對象。如這一技術領域中人們所熟悉的,為該ASP(或IASP)所選擇的有效的DASD的配置,可以在步驟370完成,然后在步驟380結束方法300。
在一個實施例中,可以使用面向對象的程序設計實現方法300。圖4中說明了根據本發(fā)明的一個示范性實施例的軟件類和每一軟件類的職責的一個示范性設計400。以下參照圖5和7更詳細地描述這些類的相關的對象和方法。示范性設計400的軟件類包括一個DASD Management(DM)類405、一個LdValidityForAsp類410、一個ToyAsp類415、一個ToyLd類420、一個HdwSwitchingCapabilities類430、一個SwitchableEntity類435、一個CRGM(群集資源組管理)類440以及一個CRG(群集資源組)類445。
DASD Management類405為配置IASP提供了一個用戶接口。在一個實施例中,DASD Management類405通過創(chuàng)建一個LdValidityForAsp對象和一個LdAdder沙箱對象,實現了一個IASP配置,然后查詢沙箱中的每一個對象(此處將其稱為“ToyLd”)。LdValidityForAsp(即為ASP的邏輯DASD有效性)類410把關于非配置DASD的有效性和排序的結果保持在LdValidityForAsp對象中。
LdAdder(即邏輯DASD加法器)類425為選擇提供了所建議的DASD和ASP。直觀地,LdAdder類425包含一個代表所選擇的ASP的ToyAsp(即ToyASP)類415和一個代表非配置DASD的ToyLd(即ToyLogical DASD)類420。
HdwSwitchingCapabilities(即硬件切換能力)類430提供了用于確定其中物理地定位了DASD的立柜的可切換性的函數/方法。在一個實施例中,HdwSwitchingCapabilities類430提供了一個isParentSwitchable方法,并支持SwitchableEntity類435。所述isParentSwitchable方法確定包含磁盤單元的實體是否為可切換的。
SwitchableEntity類435提供了用于估價可切換性的函數/方法,包括一個isResourceSwitchable函數、一個isResourceAccessible函數、以及一個evaluateEntities函數。所述isResourceSwitchable函數確定是否在一個群集資源組(CRG)中定義了IASP。所述isResourceAccessible函數確定在一個CRG恢復域(即在包含該資源的網點的主和備份系統)中的結點是否可以訪問該資源。所述evaluateEntities函數確定實體是否處于相同的CRG中。
CRGM(即群集資源組管理)類440包括用于創(chuàng)建、添加、改變、刪除、以及其它與群集資源組管理有關的操作的函數/支持。CRG(即群集資源組)類445控制資源(例如IASP)的切換與故障恢復,并提供了用于配置CRG中的結點和資源的用戶接口。在一個實施例,CRG類445的操作的實現,包括利用提供在SwitchableEntity類435中的功能查詢。
圖5中說明了根據本發(fā)明的一個示范性實施例的用于操作在一個結點上的示范性有效性檢查器330的有效性檢查器的面向對象的設計500。圖6中說明了根據本發(fā)明的一個示范性實施例的、用于操作在一個結點上的、一個所選擇的ASP的一個示范性非配置DASD有效性和排序處理流程圖600??梢园烟幚砹鞒虉D600理解為在步驟330的有效性檢查器的一個實現。
方法600開始于步驟620,并前進到步驟605以創(chuàng)建一個LdValidityForAsp對象502和一個LdAdder沙箱510。所述LdValidityForAsp對象502保存可切換性結果,可切換性結果包括對位于包含這一結點的網點的非配置DASD的有效性和排序。所述LdAdder沙箱510保存所建議的ASP對象545(例如ToyAsp 32 545和ToyAsp 33 545,當對它們進行配置時,分別相應于結點和資源配置800的資源池E 140和資源池A 130)以及硬件DASD的軟件等價對象(例如ToyLd 505,一個對于每一DASD的ToyLd,包括DASD 11 802、DASD 12 804、DASD 13 806、DASD 14 808、DASD 21 810以及DASD 22 812,如圖中所示)。
在步驟610,方法600查詢其配置在所規(guī)定的ASP的LdAdder沙箱510中的每一ToyLd 505(即每一非配置DASD)。查詢是由DASD管理515通過在每一ToyLd對象505上的validToBelnAsp函數520調用的。在步驟615,ToyLd 505接下來查詢其對應的HdwSwitchingCapabilities對象525,HdwSwitchingCapabilities對象525提供了物理上包含對應于ToyLd 505的DASD的硬件實體(例如父實體)的切換能力。通過一個isParentSwitchable函數530提供硬件實體的切換能力。
然后,在步驟620,方法600查詢SwitchabilityEntity對象535,以確定資源(即包含對應于所處理的ToyLd的DASD的磁盤池)是否為可切換的。所述SwitchabilityEntity對象535查詢CRG對象540,以確定是否在一個CRG中定義了資源(例如ToyLd 33)。例如,對于ToyLd DASD 11,SwitchablityEntity對象535確定在CRG中是否把資源ToyLd 33定義為一個可以切換的IASP(例如資源550)。
接下來,在步驟625,如果資源是可切換的(即如果資源是CRG中所定義的一個IASP),則該方法繼續(xù)在步驟630和635進行更多的查詢。在步驟630,方法600進行查詢,以確定CRG恢復域555(即位于包含該資源的網點的主和備份系統)中的結點是否可以訪問該資源,并且在步驟635,方法600估計是否在同一CRG中定義了這些實體(例如資源和結點系統)。例如,位于與一個資源不同的網點的結點,不需要訪問該資源。然后,在步驟640,把非配置DASD的可切換性結果返回到LdValidityForAsp對象502。回過頭來參照步驟625,如果資源是不可切換的,那么方法600前進到步驟640,并把非配置DASD的可切換性結果返回到LdValidityForAsp對象502。然后,在步驟650,結束方法600。
在另一個實施例中,計算機系統200的操作系統228也包括一個用于群集一個群集中的兩個或兩個以上的計算機系統的群集用戶接口程序234。還可以調用有效性檢查器執(zhí)行群集用戶接口程序234的某些操作。圖7中說明了根據本發(fā)明的一個實施例的用于針對群集操作檢查IASP的可切換的性的軟件對象的一個示范性集合。總體上講,在以下的每一個實施例中,CRGM對象710調用SwitchableEntity對象720中的一或多個函數,SwitchableEntity對象720通過CRG對象730確認該群集操作。
在一個實施例中,當把一個結點添加到CRG的恢復域中時,CRGM檢查所建議的新結點是否擁有對一個或多個IASP中的DASD的訪問權。CRGMadd_node_to_recovery_domain函數712調用isResourceAccessible函數722,并且傳送包括所建議的新結點和一或多個現存IASP的參數。isResourceAccessible函數722檢查資源對象732中的IASP和RecoveryDomain對象734中的結點,并確定所建議的新結點是否擁有對該結點所屬的網點處的IASP的訪問權。如果所建議的新結點可以訪問IASP中的DASD,那么允許用戶完成CRGM操作。如果所建議的新結點不擁有對IASP中的DASD的訪問權,則把一條警告顯示給配置該所建議的新結點的用戶。
在另一個實施例中,當把一個IASP添加到CRG時,CRGM檢查所規(guī)定的恢復域中的所有結點是否擁有對被添加的IASP中的DASD的訪問權,CRGM add_iasp函數714調用isResourceAccessible函數722,且傳送包括所建議的新IASP和在所規(guī)定的恢復域中的現存結點的參數。所述isResourceAccessible函數722檢查資源對象732中的IASP和RecoveryDomain對象734中的結點,并確定在該資源的網點處的所規(guī)定的恢復域中的所有結點是否擁有對所添加的IASP中的DASD的訪問權。如果擁有訪問權,那么允許用戶完成CRGM操作。如果沒有訪問權,則把一條警告顯示給配置該所建議的新IASP的用戶。
當把一個IASP添加到CRG時,CRGM還可以檢查是否任何其它CRG具有相同的包含該IASP的可切換實體(例如可切換立柜)。CRGM add_iasp函數714用getEntities函數724,為所建議的新IASP檢索一個或多個可交切實體。然后,CRGM搜尋其它現存的CRG,以確定任何其它CRG是否具有相同的可切換實體。如果沒有其它CRG擁有相同的可切換實體,則允許用戶完成CRGM操作。如果另一個CRG具有相同的可切換實體,則把一個警報顯示給向該CRG添加所建議的IASP的用戶。
在另一個實施例中,當啟動IASP的CRG(即啟動群集)時,CRGM確認IASP的可切換性。這一額外的確認用于檢測由于硬件重定位(例如電纜和磁盤單元的移動)所引發(fā)的潛在的可切換性錯誤。這一額外的確認還可以檢測因不適當的DASD配置(例如當用戶配置一個DASD時、群集未被激活、而用戶忽視配置警報)所引發(fā)的錯誤。CRGM start_clustering函數716調用isResourceAccessible函數722,并傳送包括資源對象732中的一個或多個現存IASP的參數。所述isResourceAccessible函數722檢查資源對象732中的IASP和RecoveryDomain對象734中的結點,并確定該恢復域中的同一網點處的所有結點是否擁有對該IASP中的DASD的訪問權。如果擁有訪問權,那么允許用戶完成CRGM start_clustering函數。如果沒有訪問權,則把一條警告顯示給試圖進行這一群集操作的用戶。
把本發(fā)明的這些實施例并入分散在兩個或多個地理位置之間的計算系統組100。可以把那些組成整個計算系統組100的結點以任何組合分布在多個地理位置之間。如在此描述的,可以在群集資源組中配置那些其中已置入了兩個或兩個以上的結點的地理位置或網點,并作為包括位于那些網點的資源的恢復域的一部分加以操作。或者,一個網點只能有一個控制該網點的資源的結點。這可以降低開銷,因為不要求每一個網點有多個結點,而維持了整個計算系統組的可用性,因為該網點處一個結點發(fā)生故障能夠在另一個網點的一個結點實現故障恢復。具有一個單一計算機系統結點的網點的另一個優(yōu)點是,該網點不要求可切換的硬件。
圖9說明了根據本發(fā)明的一個示范性實施例的一個示范性初始配置處理流程900。所述示范性初始配置處理流程900適合僅擁有一個結點的網點配置,雖然擁有多個結點的網點確保有較高的可用性配置。示范性初始配置處理流程900開始于步驟902,并前進到步驟904,確定當前網點是否擁有一個以上的結點。如果這一網點確實擁有一個以上的結點,則在步驟908,對于位于這一網點的資源,通過以恢復域配置該網點處的結點而使處理繼續(xù)。如果這一網點僅擁有一個結點,則在步驟906,通過配置寄宿這一網點處資源的那一結點而使處理繼續(xù)。在配置了這一網點處的那一結點之后,在步驟910,通過把該網點處的結點作為計算系統組100的成員加以操作而使處理繼續(xù)。
無限制軟件和硬件實例可以把本發(fā)明的實施例作為和一個計算機系統一起使用的程序產品加以實現,例如圖1中所示的和此處所描述的群集計算環(huán)境。這一程序產品的一個或多個程序定義了這些實施例的功能(包括此處所描述的方法),并且可以包含于各種各樣的信號承載介質。所說明的信號承載介質包括,但不局限于(i)永久性存儲在非可寫存儲介質(例如,一個計算機中的只讀存儲器設備,例如CD-ROM驅動器可讀的CD-ROM盤)的信息;(ii)存儲在可寫存儲介質(例如,軟盤驅動器中的軟盤或硬盤驅動器)上的可改變的信息;(iii)由通信介質,例如,通過計算機或電話網絡,包括無線通信,向計算機傳送的信息。后面的實施例特別包括從Internet和其它網絡所下載的信息。當執(zhí)行指導本發(fā)明的功能的計算機可讀的指令時,這樣的信號承載介質代表了本發(fā)明的實施例。
通常,用于執(zhí)行本發(fā)明的實施例的例程,無論是作為操作系統的一部分,還是作為一個專門的應用程序、部件、程序、模塊、對象、或指令序列加以實現,此處都可將其稱為“程序”。通常,計算機程序由許多指令組成,本機計算機將這些指令翻譯成一種機器可讀的格式,從而成可執(zhí)行的指令。另外,程序由變量和數據結構組成,變量和數據結構可駐留于程序的本地區(qū)中,也可在存儲器中或存儲設備上發(fā)現。另外,對此處所描述的各種程序可以根據應用程序所標識,這些應用程序是在本發(fā)明的某一特定實施例所實現的。然而,應該理解所遵循的任何特定的程序命名法,僅僅是為了便于描述。因此,本發(fā)明不局限于僅按任何由這樣的命名法所標識與/或所意指的特定應用程序加以使用。
還應該清楚地認識到通常給出不計其數的方式,其中可以把計算機程序組織成例程、過程、方法、模塊、對象以及各種不同的方式、其中可以在駐留于典型計算機的各種軟件層(例如操作系統、程序庫、API、應用程序、小應用程序等)之間對程序功能加以分配。應該認識到,本發(fā)明不局限于此處所描述的特定的組織、分配方式、或程序功能。
還可以以硬件、軟件、或硬件與軟件的組合,實現本發(fā)明??梢园匆环N集中化的方式在一個計算機系統中,或按其中把不同的部件分散在多個互連的計算機系統之間的分布式方式,實現根據本發(fā)明的優(yōu)選實施例的系統。適合于執(zhí)行此處所描述的方法的任何種類型的計算機系統或其它裝置均是合適的。硬件與軟件的典型的組合可以是一個具有一個計算機程序的通用目的計算機系統,當加載并執(zhí)行該計算機該程序時,該計算機程序可控制計算機系統,因此它能夠執(zhí)行此處所描述的方法。
每一種計算機系統,此外可包括一個或多個計算機,以及至少一個允許計算機讀取數據、指令、消息或消息分組、以及來自信號承載介質的其它信號承載信息的信號承載介質。信號承載介質可以包括非易失存儲器,例如ROM、閃存、磁盤驅動存儲器、CD-ROM、以及其它永久性存儲器。另外,例如,計算機介質還可以包括易失存儲器,例如RAM、緩沖器、超高速緩沖存儲器、以及網絡電路。而且,信號承載介質也可以包括瞬態(tài)介質中的信號承載信息,例如一條網絡鏈路與/或一個網絡接口,包括允許計算機讀取這樣的信號承載信息的有線網絡或無線網絡。
盡管本發(fā)明的特定實施例已經被公開,本領域的技術人員會理解在不違反本發(fā)明的精神和范圍的情況下,可對特定實施例進行修改。因此發(fā)明的范圍不局限于特定的實施例。而且附加的權利要求旨在適用于本發(fā)明范圍的任何和所有的應用、修改和實施例。
權利要求
1.一種方法,用于管理一個結點中的資源,該方法包括配置至少一個為一個結點所使用的資源,其中該結點與一個包含該資源的網點相關聯;為一個資源池確認至少一個資源的可用性,其中,所述確認包括確定該結點對資源的可訪問性,并且驗證資源是被置于該網點;以及基于所述確認為該資源池選擇至少一個資源的至少一個。
2.如權利要求1所述的方法,其中,至少一個資源包括至少一個磁盤單元,該方法還包括把一個資源池配置成一個可切換的資源池。
3.如權利要求1所述的方法,其中,結點是位于網點的一個單一的結點,該結點作為地理上分散的計算系統組的一部分進行操作。
4.如權利要求1所述的方法,其中,至少一個資源包括至少一個磁盤單元,該方法還包括為該資源池排序每一磁盤單元的可用性;以及根據可用性排序,為資源池選擇至少一個有效的磁盤單元。
5.如權利要求4所述的方法,還包括向用戶提供解釋每一磁盤單元的有效性和排序的至少一個原因。
6.如權利要求1所述的方法,其中,結點為一個群集資源組的一部分。
7.如權利要求6所述的方法,其中,該群集資源組包括一個主結點和至少一個備份結點。
8,如權利要求6所述的方法,還包括當把一個結點添加到一個群集資源組恢復域時,確認資源池中的資源的可訪問性,其中確認包括確定該結點是與一個包含資源池的網點相關聯的。
9.如權利要求6所述的方法,還包括當把一個可切換資源池添加到該群集資源組時,由位于該網點的群集資源組恢復域中的每一結點驗證該可切換資源池中的每一資源的可訪問性。
10.如權利要求9所述的方法,還包括驗證包含該可切換資源池的一個可切換實體不包括在另一個群集資源組中。
11.如權利要求6所述的方法,還包括當啟動群集時,確認該可切換資源池的可切換性。
12.一種信號承載介質,包括一個程序,當由一個處理器加以執(zhí)行時,該程序執(zhí)行用于管理一個結點中資源的操作,這些操作包括配置至少一個由一個結點所使用的資源,其中該結點與一個包含該資源的網點相關聯;為一個資源池確認至少一個資源的可用性,其中,確認包括由該結點確定資源的可訪問性,并且驗證資源是位于該網點;以及基于所述確認,為該資源池選擇至少一個資源的至少一個。
13.如權利要求12所述的信號承載介質,其中,所述步驟還包括把該資源池配置成一個可切換磁盤池。
14.如權利要求12所述的信號承載介質,其中,該結點是位于該網點的一個單一的結點,該結點作為地理上分散的計算系統組的一部分進行操作。
15.如權利要求12所述的信號承載介質,其中,所述步驟還包括為該資源池排序每一個資源;以及根據排序結果,為該資源池選擇至少一個有效的資源。
16.如權利要求15所述的信號承載介質,其中,所述步驟還包括向用戶提供解釋每個資源的有效性和排序的至少一個原因。
17.如權利要求12所述的信號承載介質,其中,該結點為一個群集資源組的一部分。
18.如權利要求17所述的信號承載介質,其中,所述步驟還包括當把一個結點添加到群集資源組恢復域時,確認該資源池中的資源的可訪問性。
19.如權利要求17所述的信號承載介質,其中,所述步驟還包括當把一個可切換資源池添加到該群集資源組時,由在群集資源組恢復域的每一結點驗證該可切換資源池每一資源的可訪問性。
20.如權利要求17所述的信號承載介質,其中,所述步驟還包括驗證包含該可切換資源池的一個可切換實體不包括在另一個群集資源組中。
21.如權利要求17所述的信號承載介質,其中,所述步驟還包括當啟動群集時,確認該可切換資源池的可切換性。
22.一個系統,包括一個與一個網點相關聯的主結點;一個與該主結點相連接的資源池;以及一個處理器,其配置旨在為該資源池確認至少一個資源的可用性,并且為該資源池選擇至少一個有效的資源,其中,至少部分地基于位于該網點的一個資源確認可用性。
23.如權利要求22所述的系統,其中,還把該處理器配置成為該資源池排序每一個資源,以及根據排序,為該資源池選擇至少一個有效的的資源。
24.如權利要求23所述的系統,其中,還把該處理器配置成可向用戶提供解釋每個資源的有效性和排序的至少一個原因。
25.如權利要求22所述的系統,其中,把該資源池配置成一個可切換的資源池。
26.如權利要求25所述的系統,還包括至少一個連接到該可切換的資源池的備份結點。
27.如權利要求25所述的系統,其中,還把該處理器配置成當把一個結點添加到該群集資源組恢復域時,可確認該可切換資源池中的資源的可訪問性。
28.如權利要求25所述的系統,其中,還把該處理器配置成當把該可切換資源池添加到該群集資源組時,由在該群集資源組恢復域中的每個結點驗證該可切換資源池中的每個資源的可訪問性。
29.如權利要求25所述的系統,其中,還把該處理器配置成可驗證包含該可切換資源池的可切換實體不包括在另一個群集資源組中。
30.如權利要求25所述的系統,其中,還把該處理器配置成當啟動群集時,可確認該可切換資源池的可切換性。
全文摘要
本發(fā)明涉及用于在一個單一的網點的一個主系統和一個或多個備份系統之間可被切換的資源的確認與排序的方法與裝置。本發(fā)明的一個實施例提供了一種用于確保一個系統對一個或多個磁盤單元的可訪問性的方法,所述方法包括為系統配置一個磁盤池;為該資源池確認一個或多個磁盤單元的可用性;驗證這些磁盤單元處于與該系統相同的網點中,并為該磁盤池選擇一個或多個有效的磁盤單元。所述方法還包括為該磁盤池排序每個磁盤單元,以及基于排序為該磁盤池選擇一個或多個有效的磁盤單元。
文檔編號G06F9/46GK1581086SQ20041003355
公開日2005年2月16日 申請日期2004年4月6日 優(yōu)先權日2003年7月31日
發(fā)明者邁克爾·J·麥克德莫特, 阿馬蒂·S·皮爾森, 基斯萬托·撒伊布 申請人:國際商業(yè)機器公司