專利名稱:集群中的動態(tài)副本卷交換的制作方法
技術領域:
本發(fā)明涉及與多個存儲設備通信的分布式多處理計算機系統(tǒng)。更具體地,本發(fā)明涉及在動態(tài)副本卷交換(dynamic replica volume swap, DRVS)操作期間處理一個或多個節(jié)點的故障。
背景技術:
在計算機科學中,集群是一起工作以形成單個計算機系統(tǒng)的一組計算機(也稱為節(jié)點)。存在不同類別的集群,包括但不限于高可用性集群和網格集群。采用高可用性集群來改進集群服務的可用性,其中集群的每個成員與多個存儲設備通信。在高可用性集群中, 當有時存儲設備可能出現(xiàn)故障時,希望提供跨越存儲故障的應用彈性。如果關鍵數(shù)據(jù)保持在已經出現(xiàn)故障或正出現(xiàn)故障的存儲設備上,那么存儲設備的故障可能導致系統(tǒng)中斷,因為即使使用同步存儲復制將最近的數(shù)據(jù)的副本保持在另一存儲系統(tǒng)中,應用也不得不在它們可以使用副本數(shù)據(jù)之前停止和重啟,并且這樣的應用運行中斷(outage)在一些企業(yè)環(huán)境中可能是不可接受的。諸如IBM 的HyperSwap 操作的動態(tài)副本卷交換操作是一種連續(xù)可用性解決方案,其中訪問包含一組存儲卷的同步復制存儲系統(tǒng)的一組節(jié)點從主存儲系統(tǒng)切換到副 (副本)存儲系統(tǒng),并且在沒有集群中的任何節(jié)點的任何應用運行中斷的情況下必須這樣做(IBM和HyperSwap是國際商用機器公司在美國、其他國家或二者的注冊商標)。動態(tài)副本卷交換操作可能因為存儲系統(tǒng)故障發(fā)生(稱為非計劃的動態(tài)副本卷交換),或者在管理控制下發(fā)生(稱為計劃的動態(tài)副本卷交換)。此外,動態(tài)副本卷交換操作可能涉及存儲系統(tǒng)中的引導卷和非引導卷兩者。圖1是圖示可能導致系統(tǒng)錯誤的、集群環(huán)境中現(xiàn)有技術的動態(tài)副本卷交換操作的示例的流程圖(100)。該示例集群由與存儲子系統(tǒng)通信的至少兩個節(jié)點構成,該存儲子系統(tǒng)具有主存儲系統(tǒng)上的一個或多個存儲卷,以及副系統(tǒng)上相應的副本卷(102)。集群中的每個節(jié)點在副本在副存儲系統(tǒng)中的情況下從主存儲系統(tǒng)中的(引導)卷引導(104)。集群中的第三節(jié)點處于臨時離線狀態(tài)(106)。調用動態(tài)副本卷交換操作(108),其中駐留在主存儲系統(tǒng)中的引導卷對于訪問不再有效,并且替代地,副存儲系統(tǒng)中的那些卷的副本是優(yōu)選的卷。 這在第三節(jié)點離線的同時出現(xiàn),作為其結果,第三節(jié)點不知道動態(tài)副本卷交換操作。在動態(tài)副本卷交換操作已經完成之后的某個時間點,第三節(jié)點變?yōu)樵诰€,并且試圖從主存儲系統(tǒng)本地的引導卷引導(110)。即使在主存儲系統(tǒng)上的引導卷在動態(tài)副本卷交換操作之后可訪問,該引導卷對于訪問也不是有效的。更具體地,由管理員對于集群中的節(jié)點進行的對于引導卷上的引導映像的所有更新將在副存儲系統(tǒng)上進行。因為在集群中(在沒有專門架構的通用計算系統(tǒng)中)不存在中央共享的存儲器以引用引導卷的位置,所以第三節(jié)點將從主存儲系統(tǒng)中錯誤的引導卷引導(110)。因此,在集群計算環(huán)境中不存在這樣的元件,其將引導卷再定位傳遞到在動態(tài)副本卷交換操作期間離線或處于變?yōu)樵诰€的過程中的節(jié)點。對于圖1中所呈現(xiàn)問題的一個解決方案是提供中央共享的存儲器設備,其總是包含要由每個節(jié)點使用的、關于重新引導的正確引導卷。然而,這樣的中央存儲器不可用于集群環(huán)境中的調節(jié)(leveraging)。因此,需要一種支持集群環(huán)境中的動態(tài)副本卷交換操作的解決方案,其將正確的引導卷傳遞到在動態(tài)副本卷交換操作期間離線或處于變?yōu)樵诰€ (即,重新加入集群)的過程中的任何節(jié)點,以便確保在受影響的(各)節(jié)點變?yōu)樵诰€并且加入集群時,從正確的引導卷引導。
發(fā)明內容
本發(fā)明的實施例包括用于支持集群環(huán)境中的動態(tài)副本卷交換操作的方法、系統(tǒng)和制品,該集群環(huán)境在所有引導階段適應所有當前和未來的集群成員節(jié)點。在本發(fā)明的一個方面,提供一種用于適應開放系統(tǒng)中的動態(tài)副本卷交換操作的方法,該方法在沒有諸如中央共享存儲器的專門硬件組件的情況下解決離線節(jié)點的引導卷訪問問題。集群中的每個節(jié)點配置有兩個或更多引導卷的列表。將用于每個節(jié)點的列表存儲在每個節(jié)點的閃速存儲器中,其中引導卷列表包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑,以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑。第一邏輯路徑指向優(yōu)選引導卷,而第二邏輯路徑指向非優(yōu)選引導卷。響應于動態(tài)副本卷交換操作,對于參與動態(tài)副本卷交換操作的每個節(jié)點,改變第一和第二邏輯路徑的角色。角色改變包括將第一邏輯路徑指向副存儲子系統(tǒng)上的非優(yōu)選引導卷,并且將第二邏輯路徑指向主存儲子系統(tǒng)中的優(yōu)選引導卷。在本發(fā)明的另一方面中,引入一種計算機系統(tǒng)來管理具有兩個或更多節(jié)點的集群上的動態(tài)副本卷交換操作。集群中的每個節(jié)點與管理節(jié)點通信。至少兩個引導卷的列表保持在每個節(jié)點上的閃速存儲器中。該列表包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑, 以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑。第一邏輯路徑指向優(yōu)選引導卷,并且第二邏輯路徑指向非優(yōu)選引導卷。管理節(jié)點的責任是響應于影響集群中的每個節(jié)點(包括離線的節(jié)點)的動態(tài)副本卷交換操作,保持跟蹤到引導卷的第一和第二邏輯路徑的角色。當動態(tài)副本卷交換操作出現(xiàn),并且假設集群中的所有節(jié)點訪問副存儲系統(tǒng)時,管理節(jié)點的任務是將信息傳遞到向其詢問弓I導卷信息的每個集群節(jié)點。該信息是到引導卷的第一邏輯路徑是副存儲子系統(tǒng)上的副本,以及到優(yōu)選引導卷的第二邏輯路徑在主存儲子系統(tǒng)上在本發(fā)明的又一方面中,提供一種具有包括計算機程序指令的計算機可讀載體的制品,該計算機程序指令配置來適應開放系統(tǒng)中的動態(tài)副本卷交換操作。提供指令,以便配置集群中的每個節(jié)點有兩個引導卷的列表,并且將用于每個節(jié)點的引導卷的列表存儲在每個節(jié)點的閃速存儲器中。該列表定義引導卷列表為具有節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑、以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑。第一邏輯路徑指向優(yōu)選引導卷,并且第二邏輯路徑指向非優(yōu)選引導卷。提供指令,以便響應于動態(tài)副本卷交換操作,對于參與動態(tài)副本卷交換操作的每個節(jié)點,改變第一和第二邏輯路徑的角色。用于改變邏輯路徑的角色的指令包括將第一邏輯路徑指向副存儲子系統(tǒng)上的非優(yōu)選引導卷,并且將第二邏輯路徑指向主存儲子系統(tǒng)中的優(yōu)選弓I導卷。動態(tài)副本卷交換操作支持將到節(jié)點的操作系統(tǒng)設備正在使用的卷的路徑從主存儲系統(tǒng)改變?yōu)橐粋€或多個存儲系統(tǒng),在該一個或多個存儲系統(tǒng)中正在同步并且無縫復制這些卷,使得在那個節(jié)點中運行并且執(zhí)行到那些卷的I/O的應用感覺不到計劃的或非計劃的故障切換(failover)。在此示出的動態(tài)副本卷交換操作可以在開放系統(tǒng)中使用,以便支持存在離線節(jié)點時跨越集群的動態(tài)副本卷交換操作,而不要求任何定制硬件。在本申請的上下文中,開放系統(tǒng)是基于其接口公共可用的架構的任何通用計算系統(tǒng)。本發(fā)明解決當重新引導在動態(tài)副本卷交換期間離線的節(jié)點以重新加入集群時,必須從存儲卷中的適當引導映像引導的問題。每個節(jié)點的用戶和內核空間每個修改為具有支持動態(tài)副本卷交換操作的管理的工具。此外,提供管理組件,以便與用戶空間中的工具通信,以跟蹤存儲子系統(tǒng)中引導卷的狀態(tài)。這些額外的工具支持分布式系統(tǒng)中的動態(tài)副本卷交換操作,其中集群中的每個節(jié)點可以在動態(tài)副本卷交換操作期間或之后加入集群或重新引導,并且將從正確的引導映像引導。因此,支持動態(tài)副本卷交換操作,而沒有用于保持引導映像的中央共享存儲器。結合附圖,本發(fā)明的其他特征和優(yōu)點將從以下本發(fā)明的當前優(yōu)選實施例的詳細描述變得明顯。
在此參照的附圖形成說明書的一部分。圖中所示的特征意味著僅說明本發(fā)明的一些實施例,而不是本發(fā)明的所有實施例,除非另外明確指明。另外不進行相反的暗示。圖1是圖示集群環(huán)境中動態(tài)副本卷交換操作的缺點的現(xiàn)有技術流程圖。圖2是具有支持動態(tài)副本卷交換操作的組件的計算機集群中的節(jié)點的框圖。圖3是駐留在集群中的分離節(jié)點中的管理組件的框圖,采用該管理組件來支持跨越集群中的所有節(jié)點的動態(tài)副本卷交換操作的協(xié)調。圖4是圖示根據(jù)本發(fā)明的優(yōu)選實施例的、用于支持在動態(tài)副本卷交換操作期間或之后的引導過程中對于節(jié)點的動態(tài)副本卷交換操作的處理的流程圖。圖5是示出支持動態(tài)副本卷交換操作的集群節(jié)點和管理節(jié)點中的組件的框圖。
具體實施例方式將容易理解,如一般地在此附圖中描述和圖示的,本發(fā)明的各組件可以以廣泛的多種不同配置安排和設計。因此,如在附圖中呈現(xiàn)的,本發(fā)明的裝置、系統(tǒng)和方法的實施例的以下詳細描述,不意圖如所要求地限制本發(fā)明的范圍,而是僅僅代表本發(fā)明的選擇實施例。在本說明書中描述的功能單元已經標記為管理器和引擎。管理器或引擎可以以諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯器件等的可編程硬件器件實現(xiàn)。管理器或引擎還可以以用于由各種類型的處理器執(zhí)行的軟件實現(xiàn)??蓤?zhí)行代碼的標識管理器或引擎例如可以包括計算機指令的一個或多個物理或邏輯塊,所述計算機指令例如可以組織為目標、過程、功能或其他結構。然而,標識管理器或引擎的可執(zhí)行代碼不需要物理上位于一起,而是可以包含存儲在不同位置的全異指令,當全異指令邏輯上結合在一起時,包含管理器或引擎,并且實現(xiàn)管理器或弓I擎所聲明的目的。實際上,可執(zhí)行代碼的管理器或引擎可以是單個指令或許多指令,并且甚至可以分布遍及若干不同代碼段、在多個不同應用中、以及跨越若干存儲器設備。類似地,在此可以在管理器和/或引擎中識別和說明操作數(shù)據(jù),并且可以以任何合適的形式體現(xiàn)、以及在任何合適類型的數(shù)據(jù)結構內組織操作數(shù)據(jù)。操作數(shù)據(jù)可以收集為單個數(shù)據(jù)集,或者可以分布遍及包括跨不同存儲設備上的不同位置,并且可以至少部分地作為系統(tǒng)或網絡上的電子信號存在。貫穿本說明書對于“選擇實施例”、“一個實施例”或“實施例”的引用意味著結合實施例描述的特定特征、結構或特性包括在本發(fā)明的至少一個實施例中。因此,在貫穿本說明書的不同位置的短語“選擇實施例”、“一個實施例”或“實施例”的出現(xiàn)不必指相同的實施例。此外,描述的特征、結構或特性可以以任何合適的方式組合在一個或多個實施例中。在以下描述中,提供許多具體細節(jié),諸如在經歷計劃的或非計劃的動態(tài)副本卷交換操作的計算機集群中引導節(jié)點的示例,以便提供本發(fā)明實施例的徹底理解。然而,相關領域的技術人員將認識到可以在沒有一個或多個具體細節(jié)或者用其他方法、組件、材料等實踐本發(fā)明。在其他情況下,已知的結構、材料或操作沒有詳細示出或描述,以便避免使本發(fā)明的各方面不明顯。參照附圖將最好地理解本發(fā)明圖示的實施例,其中相同的部分始終由相同的標號指定。以下描述僅通過示例意圖,并且簡單說明與如在此要求保護的發(fā)明一致的設備、系統(tǒng)和處理的某些選擇實施例。技術細節(jié)在以下實施例的描述中,對于附圖進行參照,附圖形成實施例的一部分,并且通過圖示的方式示出可以實踐本發(fā)明的具體實施例。要理解的是,可以利用其他實施例,因為可以進行結構改變而不背離本發(fā)明的精神和范圍。圖2是其中具有組件的計算機集群的框圖000),該組件在適應優(yōu)選引導卷到有效存儲系統(tǒng)的分配的同時支持動態(tài)副本卷交換操作。如所示的,集群中存在至少兩個節(jié)點 (第一節(jié)點(210)和第二節(jié)點Q20))以及至少兩個存儲子系統(tǒng)(第一存儲子系統(tǒng)(212)和第二子系統(tǒng)022))。第一和第二存儲子系統(tǒng)(21 和(22 的每個可以分別包括一個或多個存儲卷。在一個實施例中,計算機集群(200)可以擴展為包括額外的節(jié)點和存儲子系統(tǒng)。 第一存儲子系統(tǒng)(212)是所有同步鏡像關系的來源,并且第二存儲子系統(tǒng)(222)是所有同步鏡像關系的目標。節(jié)點(210)和Q20)的每個配置為支持動態(tài)副本卷交換操作。因此, 每個集群成員具有對于第一存儲子系統(tǒng)012)中的至少一個存儲卷的存儲依賴,其中第一存儲子系統(tǒng)(212)中的每個卷通過同步鏡像關系鏈接到第二存儲子系統(tǒng)(222)中的同一組卷。如所示的,第一節(jié)點(210)具有操作系統(tǒng)070),其具有內核空間072)和用戶空間(276)。類似地,第二節(jié)點(220)具有操作系統(tǒng)(觀0),其具有內核空間(282)和用戶空間086)。在一個實施例中,集群擴展為包括額外的節(jié)點,其中每個節(jié)點配置有具有內核空間和用戶空間的操作系統(tǒng)。任何節(jié)點中通過應用對存儲的訪問通過內核空間中的擴展設備驅動器選通。對于圖2中的元件,節(jié)點(210)具有內核空間072)中的擴展設備驅動器 074),并且節(jié)點(220)具有內核空間( 中的擴展設備驅動器084)。在現(xiàn)有技術中, 內核空間中的設備驅動器管理到單個存儲系統(tǒng)卷的多條路徑,將從節(jié)點的操作系統(tǒng)到該卷的所有路徑虛擬化為對于邏輯卷管理器可見的單個設備。本發(fā)明的優(yōu)選實施例要求的第一和第二節(jié)點(210)和Q20)中的擴展設備驅動器(274)和(觀4)分別處理從集群中的節(jié)點 (210)和Q20)的每個到兩個存儲系統(tǒng)中的兩個分離卷的至少兩條邏輯路徑的管理,兩個存儲系統(tǒng)的內容經由同步存儲系統(tǒng)復制保持同步。更具體地,如在此對于節(jié)點(210)所示,示出處理到主存儲子系統(tǒng)(21 中的卷的第一邏輯路徑(234),以及到副存儲子系統(tǒng)(222) 中的副本卷的第二邏輯路徑(236)的擴展設備驅動器074)。因此,從節(jié)點操作系統(tǒng)到卷和其副本的所有路徑虛擬化為單個設備。擴展設備驅動器074)、(284)便利了對于動態(tài)副本卷交換操作的邏輯路徑和對于集群Q00)中的每個節(jié)點的管理。更具體地,第一和第二節(jié)點010)、(220)的擴展設備驅動器074)、(284)分別實現(xiàn)每個主要卷及其副本作為節(jié)點操作系統(tǒng)中的單個設備的虛擬化。每條邏輯路徑可以由到每個存儲系統(tǒng)的多條物理路徑構成。當執(zhí)行動態(tài)副本卷交換操作時,兩條邏輯路徑改變角色,使得對于所有存儲卷的訪問指向副存儲子系統(tǒng)022)。僅當執(zhí)行故障恢復(failback)操作時,訪問切換回主存儲子系統(tǒng)012)。在一個實施例中, 采用管理器來改變邏輯路徑的角色,使得一條邏輯路徑指向副設備上的非優(yōu)選引導卷,并且第二邏輯路徑指向主存儲子系統(tǒng)上的優(yōu)選引導卷。此外,之前在動態(tài)副本卷交換操作期間不活動的第三節(jié)點的重新引導期間,可以采用管理器來改變該第三節(jié)點中邏輯路徑的排序。因此,內核空間中擴展設備驅動器將存儲請求指向沿著節(jié)點和優(yōu)選存儲子系統(tǒng)之間的邏輯路徑。除了內核本地的設備驅動器之外,采用每個節(jié)點的用戶空間本地的管理組件。更具體地,第一節(jié)點Ο ο)的用戶空間(276)提供有仲裁引擎078),并且第二節(jié)點(220)的用戶空間(286)提供有仲裁引擎(288) 0仲裁引擎(278), (288)分別與在各自節(jié)點的內核空間中的擴展設備驅動器074)、(284)通信,并且還到在集群中另一節(jié)點中運行的外部管理組件,以便控制跨越所有受影響的存儲子系統(tǒng)和節(jié)點的集群動態(tài)副本卷交換。駐留在用戶空間中的仲裁引擎078)、(288)配置為在非分頁存儲器中執(zhí)行。要求該配置,使得如果分頁卷在故障的存儲子系統(tǒng)中,則通過避免交換出代碼的分頁進入 (paging-in),存儲子系統(tǒng)故障不能抑制基于節(jié)點的代碼的操作。駐留在內核空間072)、 (282)的擴展設備驅動器(274)、(觀4)也配置為在非分頁存儲器中執(zhí)行。擴展設備驅動器 (274), (284)的配置與駐留在用戶空間(276), (286)中的仲裁引擎(278), (288)的配置一起分別支持對于處理存儲子系統(tǒng)故障的要求。圖3是與各個節(jié)點和存儲子系統(tǒng)通信的管理組件的框圖(300)。存在在此示出的管理節(jié)點(30 本地的三個組件,包括開放交換(OpenSwap)管理器(310)、排序引擎(320) 和復制管理器(RM)代理(330)。管理組件(310)、(320)和(330)的每個駐留在管理節(jié)點 (305)外部,因為沒有對于通過動態(tài)副本卷交換操作的連續(xù)可用性要保護的應用在運行管理組件的節(jié)點上執(zhí)行。管理組件因此可以在分頁存儲器中運行。開放交換管理器(310)提供用于管理動態(tài)副本卷交換配置的接口。在一個實施例中,該接口是基于Web的接口。開放交換管理器(310)的管理特征包括但不限于動態(tài)副本卷交換配置建立、配置的初始化、 計劃的動態(tài)副本卷交換操作的發(fā)起、故障恢復操作的發(fā)起、當前系統(tǒng)狀態(tài)的顯示、以及操作日志的瀏覽。排序引擎(320)與集群中每個節(jié)點(340)的用戶空間(344)中的仲裁引擎 (346)通信。更具體地,排序引擎(320)實施集中狀態(tài)機,用于協(xié)調跨越存儲集群中一個或多個節(jié)點的動態(tài)副本卷交換操作。排序引擎(320)調節(jié)RM代理組件(330),以便發(fā)出復制服務(存儲復制管理)命令到動態(tài)副本卷交換操作中涉及的存儲子系統(tǒng)(350)。RM代理組件(330)使用應用程序接口(API),以便在計劃的和非計劃的動態(tài)副本卷交換操作期間管理存儲子系統(tǒng)(350)組件的同步鏡像關系和狀態(tài)。在一個實施例中,RM代理組件(330)在動態(tài)副本卷交換配置建立期間使用相同的API調用,以便詢問存儲子系統(tǒng)上的同步鏡像關系。在動態(tài)副本卷交換操作之前,系統(tǒng)中的每個節(jié)點具有通過優(yōu)先權排序的引導設備的列表。每個節(jié)點基于引導設備的分級表示,從列表中的第一設備引導,并且如果該引導失敗,那么節(jié)點向列表下進行。當執(zhí)行動態(tài)副本卷交換操作時,改變用于系統(tǒng)中操作的每個節(jié)點的引導設備的列表。更具體地,在動態(tài)副本卷交換操作之后,參與動態(tài)副本卷交換操作的每個在線節(jié)點上的引導卷列表,改變?yōu)橹付▋?yōu)選路徑到作為副設備上的一個引導卷的引導卷。結果,在動態(tài)副本卷交換操作期間在線的每個節(jié)點將知道必須從副設備中的引導卷引導。圖4是描述在動態(tài)副本卷交換期間離線的節(jié)點如何在其變?yōu)樵诰€之后調整其引導卷列表的流程圖G00)。節(jié)點重新引導002)。在通過運行基本輸入輸出系統(tǒng)¢10 代碼執(zhí)行引導的初步階段時,節(jié)點從非易失性存儲器獲得本地引導列表G04)。從列表中的下一個設備執(zhí)行引導006)。如果引導不成功,則節(jié)點嘗試從列表中的下一個設備引導006)。如果引導列表中不存在更多用于嘗試的設備,并且引導還沒有成功,那么其必定是所有引導卷都不可達的情況,在此情況下,節(jié)點自身重新引導以便再一次開始整個引導過程002)。相反,如果引導成功,那么節(jié)點聯(lián)系排序引擎G10)。然而,如果因為聯(lián)網問題或因為排序引擎本身離線,節(jié)點不能聯(lián)系排序引擎G14),則在適當?shù)牡却龝r段之后,節(jié)點自身重新引導以便重啟整個過程G02)。如果可以聯(lián)系排序引擎,并且其向節(jié)點傳遞動態(tài)副本卷交換操作當前在進行中G16),那么節(jié)點自身重新引導002),因為狀態(tài)不斷變動。然而,如果不是該情況,那么節(jié)點從排序引擎得到當前動態(tài)副本卷交換狀態(tài)。得到動態(tài)副本卷交換狀態(tài)的處理包括得知哪個存儲系統(tǒng)為主,哪個為副,并且相應地什么是新排序的引導卷的列表。如果該列表匹配節(jié)點中的當前引導卷列表,那么節(jié)點已經從正確的卷引導。從排序引擎獲得動態(tài)副本卷交換方向和狀態(tài)信息,之后是節(jié)點的操作系統(tǒng)(42 配置來訪問的其他設備的連續(xù)安裝。然而,如果排序引擎提供的引導列表與節(jié)點的本地列表不匹配,那么更新本地引導列表(424),并且節(jié)點經歷重新引導(402)。如圖2和3所示,集群環(huán)境中的每個節(jié)點修改為支持動態(tài)副本卷交換操作。圖5是圖示嵌入集群環(huán)境的每個節(jié)點的用戶和內核空間二者的工具的計算機系統(tǒng)的框圖(500)。 為了圖示和說明的目的,僅示出和描述了集群中的一個節(jié)點。如所示的,提供節(jié)點(502)與至少兩個存儲子系統(tǒng)(550)和(560)通信。示出節(jié)點(502)具有通過總線(506)與存儲器 (508)通信的處理器(504)。處理器(504)與包括用戶空間(520)和內核空間(530) 二者的操作系統(tǒng)(510)通信。用戶空間(520)是執(zhí)行和支持用戶處理的操作系統(tǒng)的部分。如在此所示,用戶空間(520)包括應用(522)和庫(5 )。作為對照,內核空間(530)是操作系統(tǒng)(510)的中央模塊,并且是首先加載且保留在主存儲器中的操作系統(tǒng)的部分。在一個實施例中,內核(530)負責存儲器管理(532)、進程和任務管理(534)、以及盤管理(536)。此外,為了支持動態(tài)副本卷交換操作,內核空間(530)修改為包括設備驅動器(538),并且用戶空間(520)修改為包括仲裁引擎(5 )。應用(52 和仲裁引擎(526)經由設備驅動器 (538)與存儲子系統(tǒng)(550)和(560)通信。節(jié)點(50 配置有閃速存儲器(525),以便存儲引導卷的列表(515a)。閃速存儲器(525)標識至少兩個存儲子系統(tǒng)(550)和(560)中的優(yōu)選引導卷和非優(yōu)選引導卷二者。除了節(jié)點集群成員的修改外,提供與集群通信但是遠離各個節(jié)點集群成員的一組管理組件(570)、(572)和(574),以便支持動態(tài)副本卷交換操作。該組管理組件包括但不限于開放交換管理器(570)、排序引擎(572)和RM代理(574)。關于圖3描述管理組件的支持角色的細節(jié)。在一個實施例中,管理組件(570)-(574)駐留在存儲集群外部,并且配置為與用戶空間(520)中的仲裁引擎(526)和存儲子系統(tǒng)(550)和(560) 二者通信。管理組件(570)-(574)可以以存儲器本地的軟件組件或者駐留在存儲器外部的硬件組件的形式提供。仲裁引擎(526)和設備驅動器(538)示出為駐留在操作系統(tǒng)的各自層中的軟件組件。 然而,本發(fā)明不應限制為軟件實施例。例如,在一個實施例中,仲裁引擎(526)和/或設備驅動器(538)可以是硬件工具的形式。因此,提供來支持動態(tài)副本卷交換操作的工具可以成為軟件工具、硬件工具或軟件和硬件工具的組合的形式。在本發(fā)明范圍內的實施例還包括制造的制品,其包括具有在其中編碼的程序代碼的程序存儲裝置(means)。這樣的程序存儲裝置可以是可以通過通用或專用計算機訪問的任何可用介質。作為示例,并且不是限制,這樣的程序存儲裝置可以包括RAM、R0M、EEPR0M、 ⑶-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設備、或者可以用于存儲希望的程序代碼裝置并且可以由通用或專用計算機訪問的任何其他介質。上面的組合應該還包括在程序存儲裝置的范圍內。介質可以是電、磁、光、電磁或紅外介質,或者半導體系統(tǒng)(或者裝置或設備)。計算機可讀介質的示例包括半導體或固態(tài)存儲器、磁帶、可移除計算機磁盤、隨機存取存儲器 (RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當前示例包括只讀緊湊盤B(CD-ROM)、讀 /寫緊湊盤B (CD-R/W)和DVD。適于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)將包括通過系統(tǒng)總線直接或間接耦合到存儲器元件的至少一個處理器。存儲器元件可以包括在程序代碼的實際執(zhí)行期間采用的本地存儲器、大容量存儲器和高速緩沖存儲器,高速緩沖存儲器提供至少某程序代碼的臨時存儲,以便減少在執(zhí)行期間必須從大容量存儲器取回代碼的次數(shù)。輸入/輸出或者I/O設備(包括但不限于鍵盤、顯示器、指示設備等)可以直接或通過居間I/O控制器耦合到系統(tǒng)。網絡適配器也可以耦合到系統(tǒng),以便使得數(shù)據(jù)處理系統(tǒng)能夠變?yōu)橥ㄟ^居間專用或公共網絡耦合到其他數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設備。軟件實施可以采用從計算機可用或計算機可讀介質可訪問的計算機程序產品的形式,計算機可用或計算機可讀介質提供由計算機或任何指令執(zhí)行系統(tǒng)使用、或與計算機或任何指令執(zhí)行系統(tǒng)結合的程序代碼。替代實施例將理解的是,盡管在此已經為了說明的目的描述了本發(fā)明的具體實施例,但是可以進行各種修改而不背離本發(fā)明的精神和范圍。因此,本發(fā)明的保護范圍僅由權利要求及其等價物限制。
權利要求
1.一種重新引導方法,包括配置集群中的每個節(jié)點具有兩個引導卷的列表;將用于每個節(jié)點的引導卷的列表存儲在每個節(jié)點的閃速存儲器中,包括定義引導卷列表為包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑、以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑,其中第一邏輯路徑指向優(yōu)選引導卷,并且第二邏輯路徑指向非優(yōu)選引導卷;響應于動態(tài)副本卷交換操作,對于參與動態(tài)副本卷交換操作的每個節(jié)點,改變第一和第二邏輯路徑的角色,包括將第一邏輯路徑指向副存儲子系統(tǒng)上的非優(yōu)選引導卷,并且將第二邏輯路徑指向主存儲子系統(tǒng)中的優(yōu)選引導卷;以及在動態(tài)副本卷交換操作期間不活動的第三節(jié)點的重新引導期間,改變第三節(jié)點中第一和第二邏輯路徑的排序。
2.如權利要求1所述的方法,還包括對于在動態(tài)副本卷交換操作期間不活動的第三節(jié)點,查詢本地閃速存儲器中的引導卷的列表,并且從在閃速存儲器中標識的第一邏輯路徑引導該節(jié)點。
3.如權利要求2所述的方法,還包括在訪問任何數(shù)據(jù)卷之前,查詢用于確定到優(yōu)選引導卷的邏輯路徑的標識以及數(shù)據(jù)卷的位置的管理節(jié)點。
4.如權利要求3所述的方法,還包括修改重新引導的節(jié)點的閃速存儲器中的到引導卷的邏輯路徑的列表,以便反映優(yōu)選邏輯路徑的精確排序。
5.如權利要求4所述的方法,還包括響應于用于節(jié)點的到引導卷的邏輯路徑的不正確列表,在改正邏輯路徑的列表之后重新引導該節(jié)點。
6.如權利要求1所述的方法,還包括對于集群中的每個活動節(jié)點,改變第一和第二邏輯路徑的角色的步驟。
7.一種計算機系統(tǒng),包括具有至少兩個節(jié)點的計算機集群,每個節(jié)點與相關聯(lián)的處理器和閃速存儲器通信,并且每個節(jié)點與管理節(jié)點通信;保持在每個節(jié)點的閃速存儲器中的至少兩個引導卷的列表;閃速存儲器,用于存儲用于每個節(jié)點的引導卷的列表,引導卷的列表包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑、以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑,其中第一邏輯路徑指向優(yōu)選弓I導卷,并且第二邏輯路徑指向非優(yōu)選弓I導卷;管理器,用于響應于動態(tài)副本卷交換操作并且對于操作中的每個參與節(jié)點,改變第一和第二邏輯路徑的角色,包括管理器將第一邏輯路徑指向副存儲子系統(tǒng)上的非優(yōu)選引導卷,并且將第二邏輯路徑指向主存儲子系統(tǒng)上的優(yōu)選引導卷;以及在動態(tài)副本卷交換操作期間不活動的第三節(jié)點的重新引導期間,管理器改變第三節(jié)點中第一和第二邏輯路徑的排序。
8.如權利要求7所述的系統(tǒng),還包括節(jié)點管理器,對于在動態(tài)副本卷交換操作期間不活動的第三節(jié)點,查詢本地閃速存儲器中的引導卷的列表,并且從在閃速存儲器中標識的第一邏輯路徑引導該節(jié)點。
9.如權利要求8所述的系統(tǒng),還包括在訪問任何數(shù)據(jù)卷之前,管理器查詢管理節(jié)點,以便確定到優(yōu)選引導卷的邏輯路徑的標識以及數(shù)據(jù)卷的位置。
10.如權利要求9所述的系統(tǒng),還包括管理器修改重新引導的節(jié)點的閃速存儲器中的到引導卷的邏輯路徑的列表,以便反映優(yōu)選邏輯路徑的精確排序。
11.如權利要求10所述的系統(tǒng),還包括響應于用于節(jié)點的到引導卷的邏輯路徑的不正確列表,節(jié)點管理器在改正邏輯路徑的列表之后重新引導該節(jié)點。
12.—種制品,包括計算機可讀載體,包括配置來適應開放系統(tǒng)中的動態(tài)副本卷交換操作的計算機程序指令,計算機程序指令包括用于配置集群中的每個節(jié)點具有兩個引導卷的列表的指令;用于將用于每個節(jié)點的引導卷的列表存儲在每個節(jié)點的閃速存儲器中的指令,其中列表定義引導卷列表為包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑、以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑,其中第一邏輯路徑指向優(yōu)選引導卷,并且第二邏輯路徑指向非優(yōu)選引導卷;響應于動態(tài)副本卷交換操作,用于對于參與動態(tài)副本卷交換操作的每個節(jié)點,改變第一和第二邏輯路徑的角色的指令,包括將第一邏輯路徑指向副存儲子系統(tǒng)上的非優(yōu)選引導卷,并且將第二邏輯路徑指向主存儲子系統(tǒng)中的優(yōu)選引導卷;以及在動態(tài)副本卷交換操作期間不活動的第三節(jié)點的重新引導期間,用于改變第三節(jié)點中第一和第二邏輯路徑的排序的指令。
13.如權利要求12所述的制品,還包括對于在動態(tài)副本卷交換操作期間不活動的第三節(jié)點,用于查詢本地閃速存儲器中的引導卷的列表,并且從在閃速存儲器中標識的第一邏輯路徑引導該節(jié)點的指令。
14.如權利要求13所述的制品,還包括在訪問任何數(shù)據(jù)卷之前,用于查詢管理節(jié)點的指令,以便確定到優(yōu)選引導卷的邏輯路徑的標識以及數(shù)據(jù)卷的位置。
15.如權利要求14所述的制品,還包括用于修改重新引導的節(jié)點的閃速存儲器中到引導卷的邏輯路徑的列表的指令,以便反映優(yōu)選邏輯路徑的精確排序。
16.如權利要求15所述的制品,還包括響應于用于節(jié)點的到引導卷的邏輯路徑的不正確列表,用于在改正邏輯路徑的列表之后重新引導該節(jié)點的指令。
17.—種適應集群計算機系統(tǒng)中的動態(tài)副本卷交換操作的方法,包括將用于每個節(jié)點的引導卷的列表存儲在每個節(jié)點本地的閃速存儲器中;定義引導卷列表為包括節(jié)點和主存儲子系統(tǒng)之間的第一邏輯路徑,以及節(jié)點和副存儲子系統(tǒng)之間的第二邏輯路徑,其中第一邏輯路徑指向優(yōu)選引導卷,并且第二邏輯路徑指向非優(yōu)選引導卷;進行用于改變第一和第二邏輯路徑的角色的動態(tài)副本卷交換操作;在動態(tài)副本卷交換操作期間不活動的第三節(jié)點的引導期間,傳遞第三節(jié)點中第一和第二邏輯路徑的排序;以及第三節(jié)點從分配到第二邏輯路徑的引導卷引導。
全文摘要
提供一種方法、系統(tǒng)和制品,以便實現(xiàn)集群計算機系統(tǒng)中的動態(tài)副本卷交換操作。系統(tǒng)中的每個節(jié)點配置有閃速存儲器,其中具有引導卷的分級列表。在動態(tài)副本卷交換操作之后,將當前引導卷傳遞到集群中的每個節(jié)點和加入集群的每個節(jié)點。從正確的一個引導卷重新引導曾從不恰當?shù)囊龑Ь硪龑У乃兄安换顒拥墓?jié)點,并且修改閃速存儲器以反映正確的引導卷。
文檔編號G06F11/20GK102597963SQ201080048479
公開日2012年7月18日 申請日期2010年10月21日 優(yōu)先權日2009年10月26日
發(fā)明者A.M.巴希爾, M.J.西曼, P.薩卡爾, S.薩卡爾 申請人:國際商業(yè)機器公司