亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在群集文件系統(tǒng)中的文件系統(tǒng)安裝的制作方法

文檔序號:6477777閱讀:227來源:國知局
專利名稱:在群集文件系統(tǒng)中的文件系統(tǒng)安裝的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及分布式文件系統(tǒng),更具體來說,涉及在發(fā)生通信 故障之后快速而有效地防止群集文件系統(tǒng)中的節(jié)點解除自身防守而 安裝文件系統(tǒng)。
背景技術(shù)
通信技術(shù)的進(jìn)步已經(jīng)允許許多機(jī)器聚合成具有實際上無限制的 處理能力和存儲容量的計算群集,其可以用來解決比單個機(jī)器能夠解 決的問題大得多的問題。由于群集由獨立而冗余的計算機(jī)構(gòu)成,因此, 它們具有容錯的潛力。這使得它們適合于其他類型問題,在這些類型 的問題中可靠性是最主要的。結(jié)果,在過去幾年,人們對于群集技術(shù) 有巨大的興趣。
現(xiàn)有技術(shù)中發(fā)現(xiàn)的群集文件系統(tǒng)包括IBM General Parallel File System (GPFS)TM。 GPFS是可用于RS/6000 SPTM并行巨型計 算機(jī)以及Linux 群集上的群集計算機(jī)的并行、共享磁盤文件系統(tǒng), 提供與在單個機(jī)器上運(yùn)行的通用POSIX文件系統(tǒng)的行為盡可能相 近的行為(IBM、 GPFS、 RS/600和SP是IBM />司在美國,其他 國家或兩者的商標(biāo)。Linux是Linus Torvalds在美國,其他國家或 兩者的商標(biāo))。
群集的一個缺點是,程序必須分割,以在多臺機(jī)器上運(yùn)行。這些 被分割的程序難以協(xié)作或共享資源。也許最重要的 一 個資源是文件系 統(tǒng)。在沒有群集文件系統(tǒng)的情況下,某些群集文件系統(tǒng)允許客戶端節(jié) 點直接訪問元數(shù)據(jù),如與文件數(shù)據(jù)(分布式元數(shù)據(jù))并排存儲在數(shù)據(jù) 服務(wù)器上的目錄和文件屬性,并使用分布式鎖定協(xié)議使更新與這些元 數(shù)據(jù)同步。諸如SAN-FS、 Lustre和P-NFS之類的其他系統(tǒng),使用一個或多個專用的元數(shù)據(jù)服務(wù)器節(jié)點來處理元數(shù)據(jù)。群集文件系統(tǒng)與傳統(tǒng)文件服務(wù)器相比的優(yōu)點是通過將數(shù)據(jù)分布在許多數(shù)據(jù)服務(wù)器上,可以提供更高的聚合數(shù)據(jù)吞吐量。
當(dāng)在群集上運(yùn)行時,傳統(tǒng)的超級計算應(yīng)用需要從跨群集共享的文
件內(nèi)的多個節(jié)點進(jìn)行并行存取。其他應(yīng)用,包括可擴(kuò)展的文件和Web服務(wù)器和大型數(shù)字圖書館,其特征通常是文件間的并行存取。在后一類應(yīng)用程序中,單個文件中的數(shù)據(jù)不一定被并行地訪問。但是,由于文件駐留在共同的目錄中,并在相同的磁盤上分配空間,文件系統(tǒng)數(shù)據(jù)結(jié)構(gòu)(元數(shù)據(jù))仍被并行地訪問。在大型計算系統(tǒng)中,甚至諸如添加磁盤或從文件系統(tǒng)中刪除磁盤或跨磁盤重新平衡文件之類的管理動作,也會涉及大量的工作。
群集文件系統(tǒng)的磁盤可以跨構(gòu)成群集的某些或全部節(jié)點分布。許多磁盤驅(qū)動系統(tǒng)都依賴于諸如小型計算機(jī)系統(tǒng)接口 (SCSI)總線之類的標(biāo)準(zhǔn)化的總線,來將主計算機(jī)連接到控制器,并連接控制器和磁盤驅(qū)動器。SCSI是已經(jīng)變得越來越普及地用于將計算機(jī)及其他I/O設(shè)備互連在一起的通信協(xié)議標(biāo)準(zhǔn)。為此,SCSI在邏輯上是分層的。這種分層允許軟件接口保持相對不變,同時又能接納基于串行互連,如Fibre Channel和串行存儲體系結(jié)構(gòu)(SSA)的新的lfr釅直蓬像案。在ANSI X3.131-1986中描述了 SCSI (SCSI-1)的第一個版本。隨著驅(qū)動器速度的加快和容量的增大,SCSI標(biāo)準(zhǔn)已經(jīng)經(jīng)過了許多次修改。設(shè)計了 SCSI-3規(guī)范,以進(jìn)一步改善功能和接納高速串行傳輸接口。
當(dāng)檢測到節(jié)點故障時,人們不能確信該節(jié)點是不是在物理上損壞了,或者是不是通信網(wǎng)絡(luò)發(fā)生故障,使得該節(jié)點看起來像發(fā)生故障,而事實上節(jié)點非??赡苋允怯行У?。因此,文件系統(tǒng)日志恢復(fù)必須延遲足夠長的時間,以確保在此時間點之后發(fā)生故障的節(jié)點將不能執(zhí)行任何I/O,直到可以肯定地確定發(fā)生故障的節(jié)點的狀態(tài)。隨著系統(tǒng)的復(fù)雜性的增大,越來越不希望在磁盤驅(qū)動器級別或者在控制器級別發(fā)生中斷故障。結(jié)果,系統(tǒng)變得更加可靠。盡管如此,萬一磁盤驅(qū)動系統(tǒng)發(fā)生故障或離線,會對用戶造成更大的不方便;盡管問題可以相對來說快速地得到校正。
當(dāng)在非并行模式下操作時,高可用性群集多處理可以使用SCSI的Reserve/Release命令來控制對磁盤存儲設(shè)備的訪問。在美國專利No. 6,954,881中描述了使用SCSI畫3 Persistent Reserve命令通過多路徑對邏輯巻的共享的非并行訪問,該專利以引用的方式并入本文中。高可用性群集多處理提供了由于硬件或軟件故障而將對磁盤存儲設(shè)備的訪問的故障轉(zhuǎn)移到另 一 個節(jié)點的方式。
Persistent Reserve是引用一組SCSI - 3標(biāo)準(zhǔn)命令和命令選項的技術(shù),它們給SCSI啟動程序提供對于指定的目標(biāo)設(shè)備來建立、搶先、查詢,和復(fù)位預(yù)留策略的能力。由Persistent Reserve命令所提供的功能是Reserve/Release命令的超集。Persistent Reserve不足以提供在大型文件系統(tǒng)中常常需要的數(shù)據(jù)完整性和快速恢復(fù)。
所需要的是在發(fā)生通信故障之后快速而有效地防止節(jié)點解除自身防守而安裝文件系統(tǒng)的方法。

發(fā)明內(nèi)容
在所附的權(quán)利要求中對本發(fā)明進(jìn)行了定義,現(xiàn)在應(yīng)該參考所附的權(quán)利要求。該方法的優(yōu)選實施例在發(fā)生故障之后防止節(jié)點解除自身防守而安裝文件系統(tǒng)。選擇一個群集管理器節(jié)點來管理節(jié)點群集的磁盤I/O。在群集中的一個有效節(jié)點安裝文件系統(tǒng)之前,該節(jié)點必須首先向群集管理器節(jié)點發(fā)送一個遠(yuǎn)程過程調(diào)用(RPC),請求驗證群集管理器仍將發(fā)出請求的節(jié)點視為群集內(nèi)的有效節(jié)點。發(fā)出請求的節(jié)點在采取行動之前一直等待,直到它從群集管理器收到適當(dāng)?shù)牧钆?。在群集管理器從發(fā)出請求的節(jié)點接收到RPC之后,但是在它以適當(dāng)?shù)牧钆谱鞒鲰憫?yīng)之前,群集管理器向法定節(jié)點發(fā)送RPC。群集管理器請求驗證法定節(jié)點是否仍認(rèn)為該群集管理器是該特定文件系統(tǒng)的管理器節(jié)點。所有法定節(jié)點都將適當(dāng)?shù)刈鞒鲰憫?yīng)。如果,基于從被查詢的法定節(jié)點接收到的響應(yīng),判斷它們將該群集管理器視為該文件系統(tǒng)的當(dāng)
8前群集管理器節(jié)點,那么該群集管理器回復(fù)發(fā)出請求的節(jié)點的有效狀
態(tài)驗證RPC。 一旦發(fā)出請求的節(jié)點從群集管理器接收到群集管理器將發(fā)出請求的節(jié)點視為有效節(jié)點(不是發(fā)生故障的節(jié)點)的響應(yīng),那么發(fā)出請求的節(jié)點解除自身防守并安裝文件系統(tǒng)。另一方面,如果群集管理器沒有從法定節(jié)點接收到應(yīng)答,那么群集管理器認(rèn)為,它已經(jīng)由于某種原因失去了與法定節(jié)點的通信或者其作為群集管理器的職責(zé)已經(jīng)由于某種原因而降級。在這種情況下,群集管理器作出它不是群集管理器節(jié)點的應(yīng)答,發(fā)出請求的節(jié)點將向新選擇的群集管理器重發(fā)RPC (如果可以選擇一個新的群集管理器的話)。群集管理器節(jié)點進(jìn)入預(yù)定狀態(tài),等待開始/結(jié)束的恢復(fù)操作,或表明已經(jīng)發(fā)生故障。如此,快速而有效地阻止被認(rèn)由于軟件或者硬件故障而發(fā)生故障的節(jié)點安裝文件系統(tǒng),如此,防止在該故障之后損壞數(shù)據(jù)。
下面將結(jié)合某些所顯示的實施例只作為示例描述本發(fā)明。應(yīng)該理解,在不偏離本發(fā)明的精神或范圍的情況下,所屬領(lǐng)域的技術(shù)人員可以進(jìn)行各種變化和修改。


附圖被引入并且附圖與下面的詳細(xì)描述一起,構(gòu)成了說明書的一部分,用于進(jìn)一步顯示各個實施例,并說明根據(jù)本發(fā)明的各種原理和優(yōu)點,其中在各個視圖中,類似的附圖標(biāo)記表示相同的或功能上類似的元件。
圖1示出了本發(fā)明的新穎的特征可以應(yīng)用到其中的群集文件系統(tǒng)的共享磁盤體系結(jié)構(gòu);以及
圖2是示出了本發(fā)明的一個實施例的流程圖。
具體實施例方式
所提供的是建立一個新穎的協(xié)議的方法,該協(xié)議用于確保有效節(jié)點構(gòu)成的群集文件系統(tǒng)中的發(fā)生故障的節(jié)點在發(fā)生使該節(jié)點與群集中的一個或多個節(jié)點失去通信的故障之后不安裝文件系統(tǒng)。快速而有效地防止發(fā)生故障的節(jié)點解除自身防守而安裝文件系統(tǒng)。
本領(lǐng)域技術(shù)人員應(yīng)該輕松地熟悉并行文件系統(tǒng)中固有的概念,以
及與文件/數(shù)據(jù)共享背景中的并行性關(guān)聯(lián)的那些概念。此外,本領(lǐng)域技
術(shù)人員還應(yīng)該精通計算機(jī)編程領(lǐng)域的技術(shù),因為它涉及群集文件系統(tǒng)
環(huán)境中的節(jié)點、令牌和鎖定等等。
對于這些目的,機(jī)器可讀介質(zhì)是一種產(chǎn)品,如通常在本領(lǐng)域中找
到的軟盤、大容量只讀存儲器、以光學(xué)方式可讀取的壓縮光盤或
CD-ROM或DVD、磁帶、諸如數(shù)字或模擬通信鏈路之類的傳輸類型的介質(zhì)等等。
為了更好地理解所描述的本發(fā)明的實施例的描述,提供了這里所使用的某些術(shù)語的簡要概述。
文件是包括可以被計算機(jī)應(yīng)用程序訪問的 一 串比特的帶名稱的數(shù)據(jù)對象。文件具有某些屬性,如長度、修改時間,以及最后一次訪問的時間,這里僅舉幾個例子。
元數(shù)據(jù)被定義為由文件系統(tǒng)軟件所創(chuàng)建的控制結(jié)構(gòu),以描述文件的結(jié)構(gòu)以及包含文件系統(tǒng)的磁盤的用途。適用于這種類型的文件系統(tǒng)的元數(shù)據(jù)的特定類型包括信息點(inode)、目錄、分配圖以及日志。信息點包含文件的屬性,以及一 系列指向磁盤的包含構(gòu)成此文件的數(shù)據(jù)的區(qū)域的指針。信息點可以通過間接塊來補(bǔ)充,如果文件比較大的話,間接塊用額外的指針補(bǔ)充信息點。目錄是將名稱與一組由信息點表示的數(shù)據(jù)關(guān)聯(lián)的控制結(jié)構(gòu)。分配圖是表明磁盤的特定區(qū)域或諸如信息點之類的其他控制結(jié)構(gòu)是否正在使用中或可用的控制結(jié)構(gòu)。這允許軟件向新文件有效地分配可用的塊和信息點。日志代表用于在發(fā)生故障的情況下使其他類型元數(shù)據(jù)保持同步的記錄。它包含描述對多個結(jié)構(gòu)的相關(guān)的更新的單個記錄。
文件結(jié)構(gòu)是磁盤上的數(shù)據(jù)對象的組織。除文件數(shù)據(jù)其本身之外,文件結(jié)構(gòu)通常還包含元數(shù)據(jù)將文件名映射到對應(yīng)的文件的目錄,包含有關(guān)文件的信息的文件元數(shù)據(jù),以及文件數(shù)據(jù)在磁盤上的位置(即,哪些磁盤塊存放了文件數(shù)據(jù))。這包括記錄了哪些磁盤塊當(dāng)前正被用
10來存儲元數(shù)據(jù)和文件數(shù)據(jù)的分配圖,以及包含有關(guān)文件結(jié)構(gòu)的總體信 息(例如,目錄的位置、分配圖及其他元數(shù)據(jù)結(jié)構(gòu))的超級塊。
文件系統(tǒng)是允許其他應(yīng)用程序在諸如磁盤驅(qū)動器之類的介質(zhì)上 存儲和檢索數(shù)據(jù)的計算機(jī)程序。軟件組件管理定義的一組磁盤,該組
磁盤以由與文件數(shù)據(jù)相關(guān)的一組Xopen和POSIX標(biāo)準(zhǔn)規(guī)定的方式 提供對數(shù)據(jù)的訪問。術(shù)語"文件系統(tǒng)"還描述了特定一組磁盤內(nèi)包含的 數(shù)據(jù)集和元數(shù)據(jù)。為了簡便起見,這里的連續(xù)的討論將使用術(shù)語"磁 盤",但是,該概念適用于任何類似的塊結(jié)構(gòu)的存儲介質(zhì)。文件系統(tǒng) 允許應(yīng)用程序創(chuàng)建文件并為它們命名,向文件中存儲或?qū)懭霐?shù)據(jù),從 文件中讀取數(shù)據(jù),刪除文件,以及對文件執(zhí)行其他操作。
共享磁盤文件系統(tǒng)是其中駐留在一個或多個磁盤上的文件結(jié)構(gòu) 由在分開的計算機(jī)上運(yùn)行的多個文件系統(tǒng)訪問的一種文件系統(tǒng)。所有 計算機(jī)都是對等的,因為任何計算機(jī)都可以執(zhí)行管理數(shù)據(jù)所需的任何 角色??梢愿鶕?jù)需要將作為節(jié)點的特定角色分配給特定計算機(jī)。共享 磁盤連接是利用一個協(xié)議將磁盤連接到多臺計算機(jī)的方法,使磁盤看 起來像本地連接到每一個文件系統(tǒng)的方法。針對每一臺計算機(jī)的確切 的連接協(xié)議不重要,但是包括各種形式網(wǎng)絡(luò)連接的磁盤、交換的磁 盤連接,或存儲轉(zhuǎn)發(fā)連接。關(guān)鍵問題是,它對文件系統(tǒng)來說看起來像 本地,并且看起來對文件系統(tǒng)的所有實例都是相同的。
節(jié)點的群集,在其上面運(yùn)行了使用該群集的文件系統(tǒng)和應(yīng)用程 序,通過交換結(jié)構(gòu)連接到磁盤或磁盤子系統(tǒng),其中,群集中的節(jié)點可 以訪問所有磁盤。文件系統(tǒng)代碼管理由應(yīng)用程序請求的讀取和寫入。 此管理使用應(yīng)用程序請求和元數(shù)據(jù)來在文件系統(tǒng)內(nèi)創(chuàng)建訪問數(shù)據(jù)。此 功能是成批的處理,常常在群集中的所有計算機(jī)上都相同。
群集文件系統(tǒng)一般包括一組客戶端節(jié)點、數(shù)據(jù)服務(wù)器以及一個或 多個元數(shù)據(jù)服務(wù)器??蛻舳斯?jié)點通過塊存儲協(xié)議(例如,SCSI)、對 象存儲協(xié)議(例如,T10 OSD)或文件存取協(xié)議(例如,P-NFS), 通過SAN或其他通信網(wǎng)絡(luò)(例如,以太網(wǎng)或InfiniBand),訪問存 儲在數(shù)據(jù)服務(wù)器上的數(shù)據(jù)。 一般而言,群集系統(tǒng)承擔(dān)常規(guī)的塊I/O接口,在磁盤上沒有特定智能。這里假設(shè),計算機(jī)(或節(jié)點)沒有共享 存儲器,盡管它們可以并在許多可能的實現(xiàn)方式中將具有本地存儲器 和至少某個共享的存儲器,它們以某種方法,如總線或交換網(wǎng)絡(luò)或某 種其他通信網(wǎng)絡(luò),連接到文件結(jié)構(gòu)駐留在其上面的磁盤。假設(shè),節(jié) 點通過類似的手段相互進(jìn)行通信。
在群集文件系統(tǒng)中,大文件通常被分為相等大小的塊,連續(xù)的塊 通常以循環(huán)的方式被放置在不同磁盤中。為最小化搜索開銷,塊大小
比較大。比較大的塊允許從每一個磁盤中在單一的I/O中檢索大量
的數(shù)據(jù)。小文件和大文件的結(jié)尾可以存儲在被稱為子塊的較小的單元
中,子塊可以是完整的塊的大小的1/32那么小,或更'J、一些。
請參看圖1,該圖顯示了在其上可以應(yīng)用本發(fā)明的群集文件系統(tǒng) 的共享磁盤體系結(jié)構(gòu)10。圖1的群集文件系統(tǒng)一般包括在其上面運(yùn) 行了應(yīng)用程序的總起來說12個計算機(jī)(節(jié)點)的群集。這些節(jié)點通 過交換結(jié)構(gòu)14與多個磁盤或磁盤子系統(tǒng),總起來說16個,進(jìn)行通 信。群集中的所有節(jié)點通常對所有磁盤具有相等的訪問權(quán)限。
通??缥募到y(tǒng)中的所有磁盤將文件分條。跨多個磁盤將數(shù)據(jù)分 條是在不同的磁盤上存儲連續(xù)的數(shù)據(jù)塊(例如, 一個文件的)的技術(shù)。 在分條時,文件系統(tǒng)根據(jù)磁盤編號O,...,N-l的某種循環(huán)排列,將文件 的連續(xù)的塊寫入到不同的磁盤上。除平衡磁盤上的負(fù)載之外,分條 實現(xiàn)了磁盤子系統(tǒng)所能支持的完全吞吐量。
將文件系統(tǒng)節(jié)點連接到磁盤的交換結(jié)構(gòu)可以包括存儲區(qū)域網(wǎng)絡(luò) (SAN),(例如,光纖信道或iSCSI)。作為替代,各個磁盤可以連 接到允許通過在通用通信網(wǎng)絡(luò)上運(yùn)行的軟件層從文件系統(tǒng)節(jié)點進(jìn)行 訪問的某些數(shù)量的I/O服務(wù)器節(jié)點。
為在從單一線程的應(yīng)用程序讀取比較大的文件時利用磁盤并行 性,數(shù)據(jù)常常被預(yù)取到緩沖池中。預(yù)取是在文件系統(tǒng)中用于縮短I/O 延遲的本領(lǐng)域的慣用技術(shù)。這是通過在由應(yīng)用程序請求數(shù)據(jù)之前讀取 按順序訪問的文件的塊來實現(xiàn)的。并行地向所需數(shù)量的磁盤發(fā)出I/O 請求,以實現(xiàn)交換結(jié)構(gòu)所能支持的帶寬。類似地,不再被訪問的臟數(shù)
12據(jù)緩沖區(qū)并行地被寫入到磁盤中。此方法允許以基礎(chǔ)的磁盤子系統(tǒng)和 交換結(jié)構(gòu)支持的聚合數(shù)據(jù)速度從單一文件讀取數(shù)據(jù)/向單一文件寫入 數(shù)據(jù)。
圖1的共享磁盤實現(xiàn)方式提供了用于將數(shù)據(jù)從磁盤移動到正在 使用的應(yīng)用程序/從正在使用的應(yīng)用程序移動到磁盤的最短的可用路 徑。在路徑中沒有用于數(shù)據(jù)或者元數(shù)據(jù)的文件系統(tǒng)服務(wù)器。可以使用 任何可用的路徑來避免瓶頸或單一故障點。
為了更好地理解本發(fā)明,這里提供了并行文件系統(tǒng)的相關(guān)的方面 的一般描述。應(yīng)該理解,這是為給不熟悉的讀者提供本發(fā)明涉及的主 題的基本理解。本領(lǐng)域的技術(shù)人員將理解簡潔性,而同時認(rèn)識到,要
更加全面的理解本主題,需要更加全面的學(xué)習(xí)。授予Schmuck等 人的一系列專利描述了共享并行磁盤文件系統(tǒng)的各個方面,包括編 號為5,893,086、 5,940,838、 5,950,199、 5,963,963、 5,974,424、 5,987,477、 5,999,976、 6,021,508、 6,023,706、 6,032,216、 7,120,650和7,216,135
的美國專利。
文件系統(tǒng)一般包括帶有單個文件名條目的多個目錄。對于要檢索 的或創(chuàng)建的文件,如果文件名已經(jīng)存在,或者如果還不存在的話向目 錄塊中添加文件名,都一定能在目錄中查找到文件名。比較大的文件 系統(tǒng)可以具有非常大的目錄,包含數(shù)百萬單個文件,每一個單個文件 都具有自己的文件名。為了支持在非常大的目錄中進(jìn)行有效的文件名 查找,常常使用可擴(kuò)展的散列來組織一個目錄內(nèi)的多個目錄條目。可 擴(kuò)展的散列與要求從開始就知道最大數(shù)量的散列存儲桶的標(biāo)準(zhǔn)散列 技術(shù)相比先進(jìn)一些??蓴U(kuò)展的散列通過使用來自散列函數(shù)的值的可變 數(shù)量的比特,解決了此問題。
對于占用一個以上的磁盤塊的目錄,可以通過向文件名應(yīng)用散列 函數(shù)并使用散列值的n個低階比特作為塊號,來查找包含特定名稱 的目錄條目的塊,其中,n取決于目錄的大小。隨著目錄的增長,可 擴(kuò)展的散列一次添加一個新目錄塊。當(dāng)創(chuàng)建操作在新的文件名的散列 值指定的目錄塊中找不到更多空間時,它把塊拆分為兩個。當(dāng)散列存儲桶被拆分時,添加一個新的散列存儲桶,某些記錄被從現(xiàn)有的散列 存儲桶移到新的散列存儲桶中。通過重新對散列函數(shù)進(jìn)行求值,并使
用再一個比特來確定散列存儲桶號,確定移動哪些記錄附加比特是 零的記錄保留在現(xiàn)有的存儲桶中,而那些附加比特為1的記錄被移 到新的存儲桶中。通過在n+l比特位置添加"l",從舊塊號得到新目 錄塊的邏輯塊號,并將在它們的散列值的n+l比特中帶有"l"的目錄 條目移動到新的塊。其他目錄塊保持不變。
在文件系統(tǒng)中,向常規(guī)文件寫入的數(shù)據(jù)常常存儲在磁盤上的一個 或多個磁盤塊中。UNIX⑧和類似于UNIX的文件系統(tǒng)接口允許向文 件的當(dāng)前結(jié)尾之后寫入新的數(shù)據(jù)(UNIX是The Open Group在美國 及其他國家的注冊商標(biāo))。這允許創(chuàng)建帶有間隙或"空穴",即文件內(nèi)的 從未寫入數(shù)據(jù)的區(qū)域的文件。這樣的文件常常被稱為稀疏文件。支持 稀疏文件的文件系統(tǒng)實現(xiàn)方式僅對于文件的向其中寫入了數(shù)據(jù)的區(qū) 域,有效地分配磁盤存儲器,而對于空穴或至少對于大于塊大小或文 件系統(tǒng)所使用的磁盤分配的單位的空穴,不會有效地分配磁盤存儲 器。
基于可擴(kuò)展的散列的比較大的目錄可以表示為稀疏文件,文件中 的空穴代表還沒有被拆分的目錄塊。通過檢查目錄文件中的稀疏的區(qū) 域,可以確定拆分目錄塊的頻度,如此,要使用多少比特的散列值才 能定位包含給定文件名的目錄塊。查找操作只要求單一 目錄塊存取, 不管目錄文件的大小和結(jié)構(gòu)如何。對稀疏文件的讀取操作返回零,其 中,讀取偏移和長度相交成一個空穴。
散列樹可以表示為磁盤上的稀疏文件。當(dāng)拆分散列存儲桶時,重 新定位記錄。每一個散列存儲桶都存儲在文件中的作為i*s給出的偏 移處,其中,i是散列存儲桶號(從零開始),s是散列存儲桶大小。 目錄開始時是空白文件。當(dāng)插入第一記錄時,它存儲在散列存儲桶0 中,隨后被寫入到文件,將文件大小從0增大到s。當(dāng)散列存儲桶0 需要拆分時,存儲桶1被寫入,將文件大小從s增大到2*s。拆分 的下一散列存儲桶將寫入散列存儲桶2或3,取決于頭兩個存儲桶中的哪一個需要被接下來拆分。如果存儲桶1被接下來拆分,則散
列存儲桶3將被寫入,將文件大小從2*s增大到4*s,在散列存儲 桶2將去這里的偏移2*s處留下有空穴的文件。給定了文件大小、 最長的散列樹樹枝的深度(在帶有最大深度d的散列樹中,所有散 列存儲桶號都是d比特或稍小,至少一個散列存儲桶必須具有其中第 d比特是1的存儲桶號),可以計算出最大深度d,作為最大的散 列存儲桶號中的比特的數(shù)量,f/s-l,其中,f是文件大小。要查找?guī)?有給定鍵的記錄,通過給定鍵的散列值的深度d最低有效比特,計 算出散列存儲桶號b。如果散列樹的所有樹枝都具有相同深度,則我 們將確信能找到由該鍵給出的散列存儲桶中的記錄。由于存儲了給定 鍵的樹枝可以具有小于d的深度,則存儲桶b可能不存在于散列樹 中。如果是這種情況,則文件將在偏移b*s處具有空穴。因此,如 果找到了空穴,則可以通過使用散列值的小于1的比特,計算新的 散列存儲桶號b'。如果散列樹樹枝具有深度d-l,這將產(chǎn)生記錄的位 置。只要遇到文件中的空穴,就重復(fù)此過程。 一旦找到非空穴,帶有 給定鍵的記錄必須位于該散列存儲桶中,如果它存在的話。
雖然所描述的可擴(kuò)展的散列實現(xiàn)方式適用于任何散列存儲桶容 量,但是,如果存儲桶容量與文件系統(tǒng)塊大小相同或是塊大小的倍數(shù), 則將會更加有效。這是因為,稀疏文件的有效的實現(xiàn)方式不要求任何 磁盤I/O來讀取空穴,如果空穴在文件系統(tǒng)塊邊界上對齊的話。因 此,如果該散列存儲桶當(dāng)前沒有被緩存的話,所有查找都要求至多一 個磁盤I/O來讀取將持有記錄的實際散列存儲桶。注意,這里假設(shè), 包含文件的磁盤塊的位置的文件元數(shù)據(jù)被緩存。
分配圖也是文件結(jié)構(gòu)的一部分,通常存儲在磁盤上,作為駐留在 一個或多個磁盤塊的文件結(jié)構(gòu)的一部分。分配圖記錄了文件系統(tǒng)中的 所有磁盤塊的分配狀態(tài)(空閑的或在使用中的)。優(yōu)選情況下,圖被 分為比較大的固定數(shù)量n個分別可鎖定的區(qū)域。每一個區(qū)域都包含 文件系統(tǒng)中的每個磁盤上的磁盤塊l/nth的分配狀態(tài)。此圖布局允許 通過一次只訪問單一分配區(qū)域,將分配的》茲盤空間正確地跨所有磁盤分條。優(yōu)選情況下,在文件系統(tǒng)創(chuàng)建時,基于群集中的期望的節(jié)點數(shù), 確定區(qū)域的總數(shù)。
如果包括共享磁盤文件系統(tǒng)的節(jié)點沒有正確地使它們對共享磁 盤的訪問同步,它們可能會損壞文件結(jié)構(gòu)。這特別適用于分配圖。為 說明這一點,考慮分配空閑塊的過程。假設(shè)兩個節(jié)點同時嘗試分配一 個塊。在執(zhí)行此項操作的過程中,它們兩者都能讀取同一個分配圖塊,
兩者都發(fā)現(xiàn)描述空閑塊(i,j)的同一個元素A (i,j), 兩者都更新 A (i,j),將塊(i,j)顯示為已分配,兩者都將塊寫回到磁盤,兩者都 繼續(xù)將塊(i,j)用于不同的目的,如此,違犯了文件結(jié)構(gòu)的完整性。 如果A(X)和A(Y)兩者都包含在同一個圖塊中,即使節(jié)點同時分配 不同塊X和Y,也會發(fā)生比較細(xì)微的但嚴(yán)重的問題。在此情況下, 第一節(jié)點將A(X)設(shè)置為已分配,第二節(jié)點將A(Y)設(shè)置為已分配, 兩者都同時將它們的圖塊的緩沖的副本寫入到磁盤。取決于哪一個寫 入操作是首先執(zhí)行的,塊X或Y在磁盤上的圖中將顯示為空閑的。 如果,例如,第二節(jié)點的寫入操作是在第一節(jié)點的寫入操作之后執(zhí)行 的,則塊X在磁盤上的圖上將是空閑的。第一節(jié)點將繼續(xù)使用塊X (例如,存儲文件的數(shù)據(jù)塊),但是,在以后的某一時間,另一個節(jié) 點可以分配塊X用于某種其他的用途,再次導(dǎo)致違犯文件結(jié)構(gòu)的完 整性。
分配磁盤空間要求對分配圖進(jìn)行更新,更新必須在節(jié)點之間保持 同步。盡管分配圖結(jié)構(gòu)大大地減少了同時寫入文件的節(jié)點之間的干 擾,但是,某些干擾是可能的。這是由于這一事實當(dāng)切換區(qū)域時, 節(jié)點沒有有關(guān)其選擇切換到哪 一 個區(qū)域所依據(jù)的信息。在理想情況 下,它應(yīng)該切換到目前沒有被另一個節(jié)點使用的區(qū)域,以及具有足夠 的空閑塊以允許它持續(xù)寫入而沒有進(jìn)一步的區(qū)域切換的那個區(qū)域。利 用分配管理器來提供使節(jié)點能進(jìn)行區(qū)域的知情選擇的手段。
對于每一個文件系統(tǒng),群集中的其中一個節(jié)點負(fù)責(zé)維護(hù)有關(guān)所有
分配區(qū)域的空閑空間統(tǒng)計信息。當(dāng)安裝文件系統(tǒng)時,此分配管理器節(jié) 點通過讀取分配圖,初始化空閑空間統(tǒng)計信息。通過周期性的消息,不嚴(yán)格地使統(tǒng)計信息保持最新,在消息中,每一個節(jié)點都報告在最后 的階段分配的或釋放的磁盤空間的凈額。除了所有節(jié)點分別地搜索仍 包含空閑空間的區(qū)域,每當(dāng)節(jié)點用盡在它當(dāng)前正在使用的區(qū)域中的磁 盤空間時,節(jié)點向分配管理器要求一個區(qū)域來試試。在可能的范圍內(nèi), 分配管理器通過將不同節(jié)點定向到不同的區(qū)域,防止節(jié)點之間的鎖定 沖突。
上文定位了用于文件創(chuàng)建的分配圖訪問。但是,由于刪除文件也 會更新分配圖,因此,文件刪除有可能導(dǎo)致頻繁的區(qū)域切換,因此, 會干擾同時正在寫入文件的節(jié)點。即使單個文件中的塊被定位到單一
區(qū)域,仍常常會發(fā)生這樣的情況 一個節(jié)點將刪除由不同節(jié)點所創(chuàng)建 的或在不同的時間創(chuàng)建的并因此從不同區(qū)域分配的許多文件(例如, 一個目錄的內(nèi)容)。由在幾百個節(jié)點上運(yùn)行的并行程序所創(chuàng)建的文 件可能已經(jīng)在幾百個區(qū)域分配了塊。刪除文件要求鎖定和更新這些區(qū) 域中的每一個,也許要從當(dāng)前分配它們的節(jié)點取出,這會對性能產(chǎn)生 不利的影響。因此,不是在在其上面文件被刪除的節(jié)點上處理所有分 配圖更新,而是將更新已知正在被其他節(jié)點使用中的區(qū)域的那些分配 圖更新發(fā)送到那些節(jié)點供執(zhí)行。分配管理器周期性地分發(fā)有關(guān)哪些區(qū) 域正在被哪些節(jié)點使用的提示,以促進(jìn)取消分配請求的發(fā)送。
為避免損壞文件結(jié)構(gòu),節(jié)點必須在將每一個位圖塊讀取到存儲器 之前獲取每一個位圖塊的令牌。如果節(jié)點修改塊(即,通過分配或釋 放塊),則它必須在釋放令牌之前將塊寫入到磁盤中。令牌允許節(jié)點 緩存它從磁盤中讀取的數(shù)據(jù),因為在令牌沒有被撤銷的情況下數(shù)據(jù)不 能在別處被修改。
常常利用多個令牌管理子系統(tǒng)來向節(jié)點授予令牌。鎖定管理器處 理共享磁盤文件系統(tǒng)所需的不同的恢復(fù)范例,還添加對同 一個文件進(jìn) 行并行更新所需的額外的鎖定狀態(tài)。由于鎖定管理器中的所需的中心 功能與特定計算機(jī)沒有連接,因此,它們可以從一臺計算機(jī)遷移到另 一臺計算機(jī),以滿足性能和可用性需求。
從令牌管理器子系統(tǒng)獲取令牌的開銷,以及在釋放塊上保存的令
17牌之前向磁盤寫回圖塊的開銷,會大大地降低共享磁盤文件系統(tǒng)的性 能。令牌管理器跟蹤給予群集中的所有節(jié)點的所有鎖定令牌。獲取、 放棄令牌、使令牌升級或降級需要向令牌管理器發(fā)送請求消息。只鎖 定文件的立即需要的部分是昂貴的,將對每個應(yīng)用程序調(diào)用都需要對 令牌鎖定管理器進(jìn)行調(diào)用。努力最小化令牌管理調(diào)用的數(shù)量是十分重 要的。
為分配分條的文件的連續(xù)的塊,節(jié)點獲取一個區(qū)域的令牌,并使 用該區(qū)域中的空閑塊(即,其分配圖元素指出它們的狀態(tài)的塊是自由 的),根據(jù)分條排列,分配連續(xù)的塊。在釋放令牌之前,節(jié)點將該區(qū)
域?qū)懟氐酱疟P。如果當(dāng)試圖分配該磁盤上的一個塊時,節(jié)點切換區(qū)域 它將一個區(qū)域?qū)懟氐酱疟P,并釋放令牌,然后,獲取另一個區(qū)域的令 牌,并嘗試從那里進(jìn)行分配。如果節(jié)點在試圖在特定磁盤上找到空閑 塊的嘗試中嘗試了所有區(qū)域都未成功,那么它可以(取決于文件系統(tǒng) 的分條策略)分配另一個磁盤上的塊或者向應(yīng)用程序返回"沒有空間" 狀態(tài)。在前一種情況下,當(dāng)未成功地嘗試了所有磁盤,文件系統(tǒng)返回 "沒有空間"狀態(tài)。作為性能增強(qiáng),文件系統(tǒng)通常會允許其他節(jié)點偷取 其在文件塊寫入之間的區(qū)域的令牌。響應(yīng)令牌偷取請求,節(jié)點將該區(qū) 域?qū)懭氲酱疟P,并放棄令牌。
要解除塊的分配,文件系統(tǒng)讀取包含描述了塊的分配圖的區(qū)域, 將其狀態(tài)更新為空閑,并在釋放令牌之前將該區(qū)域?qū)懟氐酱疟P。
由令牌沖突所引起的磁盤I/O的開銷在令牌管理器消息的開銷 中占據(jù)主要地位。對令牌管理器節(jié)點上高負(fù)載的一個最有可能的原因 是引起令牌撤銷的鎖定沖突。當(dāng)一個節(jié)點使令牌降級或放棄令牌時, 被該令牌覆蓋的臟數(shù)據(jù)或元數(shù)據(jù)必須清空到磁盤,和/或從緩存中丟 棄。因此,縮小令牌管理器負(fù)載和改善總體性能的更加有效的方式是 一開始就避免鎖定沖突。
可以優(yōu)化令牌協(xié)議,以進(jìn)一步降低令牌管理的開銷和縮短響應(yīng)時 間。當(dāng)需要撤銷令牌時,負(fù)責(zé)撤銷的節(jié)點的職責(zé)是向在沖突模式中持 有令牌的所有節(jié)點發(fā)送撤銷消息,從這些節(jié)點收集應(yīng)答,并將這些應(yīng)
18答作為單一消息轉(zhuǎn)發(fā)到令牌管理器。如此,獲取一個令牌將很少需要向令牌管理器發(fā)送兩個以上的請求消息,不管多少節(jié)點可能在沖突模式中持有令牌。
群集文件系統(tǒng)可以將I/O吞吐量提高到單一節(jié)點可以實現(xiàn)的I/O吞吐量之上。為保持文件系統(tǒng)一致性和POSIX語義要求使從多
個節(jié)點對數(shù)據(jù)和元數(shù)據(jù)的訪問同步。同步可以通過分布式鎖定來實現(xiàn)。分布式鎖定允許比集中管理實現(xiàn)更大的并行性,只要不同的節(jié)點對不同數(shù)據(jù)/元數(shù)據(jù)片段進(jìn)行操作。
分布式鎖定管理器連同每一個文件系統(tǒng)節(jié)點中的本地鎖定管理器一起使用在群集中的其中一個節(jié)點上運(yùn)行的集中式全局鎖定管理器。全局鎖定管理器,通過散發(fā)傳遞授予分布式鎖定權(quán)限的鎖定令牌,來協(xié)調(diào)本地鎖定管理器之間的鎖,無需在每次獲取或釋放鎖定時的單獨的消息交換。
從同 一 個節(jié)點對同 一 個磁盤對象的重復(fù)訪問只要求單 一 消息以獲取取得對象的鎖定的權(quán)限(鎖定令牌)。 一旦一個節(jié)點已經(jīng)從令牌
管理器或"令牌服務(wù)器"或"鎖定管理器"獲取了令牌,在同一個節(jié)點上發(fā)出的隨后的操作可以取得同一個對象的鎖定,無需額外的消息。只有在另一個節(jié)點上的操作要求同一個對象上的沖突的鎖定的情況下才需要額外的消息,以從第一節(jié)點撤銷鎖定令牌,以便可以將它授予其他節(jié)點。鎖定令牌還起著維持節(jié)點之間的高速緩存一致性的作用。當(dāng)鎖定沖突頻繁發(fā)生時,分布式鎖定的開銷可能超出向中央節(jié)點轉(zhuǎn)發(fā)請求的開銷。在這種情況下,常常被從不同節(jié)點訪問和更新的數(shù)據(jù)或元數(shù)據(jù)可以更好地通過比較集中的方法進(jìn)行管理,其中,所有發(fā)生沖突的操作都被轉(zhuǎn)發(fā)到執(zhí)行請求讀取或更新操作的指定的節(jié)點。
獲得一個鎖定通常要求首先獲取令牌,這被視為代價大的操作。通過預(yù)期文件的訪問模式,在節(jié)點上緩存令牌將是有益的。另一方面,獲取不需要的令牌可能會降低性能,因為此令牌將被另一個節(jié)點需要。串行化對不同節(jié)點上的進(jìn)程并行地向其寫入的文件中的不同區(qū)域的訪問是通過分布式字節(jié)范圍鎖定來進(jìn)行的。字節(jié)范圍鎖定被用來使對文件數(shù)據(jù)的讀取和寫入操作同步。這允許并行應(yīng)用程序并發(fā)地向同 一個文件的不同部分進(jìn)行寫入,而同時又
可維持POSIX讀取/寫入的原子性語義。不需要POSIX語義的應(yīng)
用程序可以利用數(shù)據(jù)轉(zhuǎn)移,以繞過字節(jié)范圍鎖定和避免令牌狀態(tài)問題。然而,在讀取/寫入調(diào)用過程中獲取字節(jié)范圍的令牌,然后釋放它,會增大鎖定開銷。
當(dāng) 一個進(jìn)程需要鎖定字節(jié)范圍時,它首先需要獲取適當(dāng)?shù)淖止?jié)范
圍令牌。對于指定的字節(jié)范圍,檢查字節(jié)范圍令牌請求通過將該請求與整個多節(jié)點系統(tǒng)中的現(xiàn)有的相互沖突的范圍進(jìn)行比較,并授予不需要從另一臺計算機(jī)進(jìn)行令牌撤銷的可能的最大的字節(jié)范圍。這會降低發(fā)出請求的節(jié)點上的下一操作需要另 一個令牌請求的概率。
字節(jié)范圍令牌代表節(jié)點的對文件的一部分的訪問權(quán)限。如此,如果一個節(jié)點持有文件X的范圍(100,200)的讀模式的字節(jié)范圍令牌,這就意味著,該節(jié)點可以安全地讀取該文件的那個部分。然而,為防止偷取令牌,在實際讀取操作之前,節(jié)點必須鎖定令牌,因為如果另一個節(jié)點需要向同一部分進(jìn)行寫入,它可以偷取令牌。鎖定令牌,可以防止偷取。在讀取操作完成之后,可以安全地將令牌解鎖。
字節(jié)范圍令牌通常是按如下方式協(xié)商的。通過指定對應(yīng)于當(dāng)前正在處理的寫入系統(tǒng)調(diào)用的偏移和長度的必要范圍,以及包括可能的未來的訪問的希望范圍,在令牌協(xié)商過程中,傳遞有關(guān)寫入偏移的信息。對于順序訪問,希望范圍將從當(dāng)前寫入偏移到無窮遠(yuǎn)處。令牌協(xié)議將只從與必要范圍沖突的節(jié)點撤銷字節(jié)范圍。然后,令牌服務(wù)器將在不與仍被其他節(jié)點持有的范圍沖突的情況下,授予希望范圍的盡可能大的子范圍。
向文件寫入的第一節(jié)點將獲取整個文件的字節(jié)范圍令牌(零到無窮遠(yuǎn))。只要沒有其他節(jié)點訪問同一個文件,所有讀取和寫入操作都在本地處理,沒有節(jié)點之間的進(jìn)一步的交互。當(dāng)?shù)诙?jié)點開始向同一個文件進(jìn)行寫入時,它將需要撤銷第一節(jié)點持有的字節(jié)范圍令牌的至少一部分。當(dāng)?shù)谝还?jié)點接收到撤銷請求時,它會檢查文件是否仍正在使用中。如果文件已經(jīng)被關(guān)閉,則第一節(jié)點將放棄整個令牌,然后第二節(jié)點將能夠獲取涵蓋整個文件的令牌。如此,在沒有并發(fā)寫操作共享的情況下,字節(jié)范圍鎖定表現(xiàn)伊如整個文件鎖定一樣。這是有效的,因為單 一令牌交換足以訪問整個文件。
如果在第一節(jié)點關(guān)閉文件之前第二節(jié)點開始向文件進(jìn)行寫入,則第一節(jié)點將只放棄其字節(jié)范圍令牌的一部分。如果第一節(jié)點正在在偏
移(h處按順序?qū)懭?,第二?jié)點在偏移02處寫入,則第一節(jié)點將放棄從02到無窮遠(yuǎn)處的令牌(如果02Xh)或從零到Oi處的令牌(如
果02〈0j。這將允許兩個節(jié)點從它們的當(dāng)前寫入偏移處向前繼續(xù)寫
入,而不會發(fā)生進(jìn)一步的令牌沖突。 一般而言,當(dāng)多個節(jié)點正在按順序向同一個文件的不相重疊的部分進(jìn)行寫入時,每一個節(jié)點都將能夠獲取必要的令牌,以單一令牌交換作為其第一寫入操作的一部分。
當(dāng)試圖鎖定字節(jié)范圍時,首先查詢令牌管理器,以確定節(jié)點上是否存在兼容的令牌。探測的范圍是操作所需的最小范圍。如果令牌在本地可用,則將它鎖定,沒有進(jìn)一步的令牌活動發(fā)生。然而,如果令牌不可用,那么請求令牌?;谄坪臀募僮鞯拈L度,計算必要范圍。希望范圍基于文件的訪問模式。如果隨機(jī)地訪問文件,那么希望范圍將等于必要范圍,因為從其他節(jié)點偷取令牌可能沒有益處。然而,如果文件是按順序訪問的,則希望范圍從必要范圍的開始處開始,但是,在無窮遠(yuǎn)處結(jié)束(有一個特殊值代表無窮遠(yuǎn))。這是最小化未來的令牌請求的嘗試,因為可以預(yù)測未來鎖定的必要性(通過提示)。
當(dāng)一個節(jié)點持有與另一個節(jié)點上令牌請求有沖突的令牌,則它獲得撤銷請求。該請求包含發(fā)出請求的節(jié)點的必要范圍以及希望范圍。這里,節(jié)點必須判斷它可以放棄什么范圍。如果必要范圍等于希望范圍,則判斷是容易的,給予的范圍就是所需(并且也是希望)范圍。然而,如果希望范圍不同于必要范圍,這意味著,發(fā)出請求的節(jié)點正在按順序訪問文件,并且它希望具有一個令牌,該令牌在必要范圍的開始處開始,但是在無窮遠(yuǎn)結(jié)束。
然后,節(jié)點遍及訪問文件的其活動進(jìn)程,并檢查它們是按順序還
21是隨機(jī)地訪問文件。如果它們中全部都隨機(jī)地訪問文件,那么節(jié)點授予必要范圍。然而,如果一個或多個進(jìn)程是按順序訪問文件的,則放棄必要范圍是一種浪費,因為以比較高的概率,我們知道不久將請求什么令牌。在此情況下,檢查所有順序操作的文件指針(即,下一操作的預(yù)期位置),并計算最小偏移??梢灶A(yù)料,這些操作將不會訪問低于此最小值的文件區(qū)域,因為它們是順序的。如果高于必要范圍,則將給予的范圍伸展到該計算出的最小值。對于文件訪問模式允許緩存令牌節(jié)省了令牌的獲取,這是開銷大的操作,如此,改善了系統(tǒng)的
總體性能。
元節(jié)點(metanode)管理文件元數(shù)據(jù),以便在共享磁盤環(huán)境下進(jìn)行并行讀取和寫入。雖然如果節(jié)點在它們讀取或?qū)懭氲牟糠址胖眠m當(dāng)?shù)逆i,節(jié)點可以在文件的不同區(qū)域讀取和寫入,但是,它們都需要訪問相同的元數(shù)據(jù)。通過調(diào)節(jié)對元數(shù)據(jù)的訪問,元節(jié)點使讀取/寫入操作同步,以便從所有節(jié)點都可以得到文件的一致的視圖。
為每一個文件指定了負(fù)責(zé)訪問并更新文件的元數(shù)據(jù)的單一節(jié)點。借助于令牌管理器或令牌服務(wù)器,動態(tài)地選擇特定文件的元節(jié)點。元節(jié)點負(fù)責(zé)處理往返于元數(shù)據(jù)駐留在其上面的磁盤的元數(shù)據(jù)的I/O活動。所有其他節(jié)點都與元節(jié)點進(jìn)行通信,以便獲取或更新元數(shù)據(jù)信息。這些節(jié)點不直接地訪問磁盤上的元數(shù)據(jù)信息。節(jié)點訪問元節(jié)點,以獲取元數(shù)據(jù)。元節(jié)點阻止了極大量的磁盤活動。
當(dāng)節(jié)點首次訪問 一 個文件時,它試圖(從元節(jié)點令牌服務(wù)器那里)獲取該文件節(jié)點的元節(jié)點令牌。令牌被授予這樣做的第一個節(jié)點。而其他節(jié)點了解元節(jié)點的身份。如此,在沒有并發(fā)文件共享的傳統(tǒng)的工作負(fù)荷中,每一個節(jié)點都變?yōu)樗褂玫奈募脑?jié)點,并在本地處理所有元數(shù)據(jù)更新。當(dāng)不再在元節(jié)點上訪問文件時,并在該節(jié)點上不再被緩存,節(jié)點放棄其元節(jié)點令牌,并停止充當(dāng)元節(jié)點。當(dāng)它隨后從另一個節(jié)點接收到元數(shù)據(jù)請求時,它發(fā)送否定答復(fù)。然后,其他節(jié)點將試圖通過獲取元節(jié)點令牌來接替作為元節(jié)點。文件的元節(jié)點傾向于停留在積極地訪問文件的節(jié)點集內(nèi)。
22元節(jié)點保留了反映磁盤上的元數(shù)據(jù)的元數(shù)據(jù)的緩存副本。其他節(jié) 點還保留了它們過去從元節(jié)點讀取的并且它們根據(jù)需要擴(kuò)充了的元 數(shù)據(jù)的緩存副本。每一個元數(shù)據(jù)元素都具有其自己的使用模式和特殊 特征。
元節(jié)點保留了有關(guān)文件的元數(shù)據(jù)的信息,并充當(dāng)磁盤和所有訪問 文件的節(jié)點之間的智能緩存。有元節(jié)點停止提供此功能的情況。為了 進(jìn)行平穩(wěn)的操作和恢復(fù),這些情況需要加以處理。用于訪問元節(jié)點的 節(jié)點需要直接選擇一個新的元節(jié)點。選擇過程考慮了文件的訪問模 式。在一個實施例中,每個文件只有一個元節(jié)點。
對于每一個文件,都定義了元節(jié)點令牌。對于元節(jié)點令牌,通常
有三種才莫式"ro"(只讀),"ww,,(弱寫入)和"xw,,(排它性寫入)。 規(guī)則是"xw"令牌與所有模式都有沖突,"ww"與"xw"和其本身有沖 突,"ro"只與"xw"有沖突。如此,有兩種可能性要么0個或多個 節(jié)點持有"ro,,的令牌,于是,至多一個節(jié)點可以持有"ww,,的令牌。或 者,只有一個節(jié)點持有"xw"的令牌。當(dāng)節(jié)點第一次打開一個文件時, 它試圖獲取"ww"模式的元節(jié)點令牌。如果沒有其他節(jié)點持有"ww"或 "xw,,的令牌,則令牌管理器授予"ww,,令牌。如果發(fā)生這種情況,則 該節(jié)點變?yōu)樵?jié)點管理器。然而,如果另一個節(jié)點持有"ww"的令牌, 則令牌管理器授予"ro"令牌。然后,節(jié)點知道另一個節(jié)點是元節(jié)點。 它可以查詢令牌管理器,以確定誰是此文件的元節(jié)點。
有節(jié)點必須變?yōu)樵?jié)點的情況。在此情況下,要求"ww"令牌不 會有幫助,因為舊元節(jié)點不會將其令牌降級。這里,希望變?yōu)樵?jié)點 的節(jié)點要求"xw"令牌。這將導(dǎo)致向現(xiàn)有的元節(jié)點發(fā)送撤銷消息。然后, 舊元節(jié)點將其令牌"ro"降級,令牌管理器將向新的元節(jié)點返回"ww,, 令牌。如果一個節(jié)點要求"xw,,令牌,并且根本沒有其他節(jié)點持有此令 牌,那么令牌管理器將在該模式下授予令牌。如果一個節(jié)點持有"xw" 令牌,那么它是此文件的元節(jié)點,但是,此外,沒有其他節(jié)點打開 此文件。在此情況下,如果一個節(jié)點試圖獲取"ww,,令牌,則向元節(jié) 點發(fā)送撤銷消息。結(jié)果,節(jié)點使其"xw,,令牌降級為"ww",如此,令每個節(jié)點都可以請求帶有特定模式的命名令牌。如果模式不與被
授予其他節(jié)點的同名的令牌發(fā)生沖突,則令牌管理器向該節(jié)點授予令 牌。對于每一個令牌,有可能的模式的列表和沖突表格。如果被請求 的令牌與被被授予另一個節(jié)點的令牌有沖突,則撤回,發(fā)生沖突的節(jié) 點將其令牌模式降級為不會與被請求的模式發(fā)生沖突的模式。如果模
式不與被授予其他節(jié)點的同名的令牌發(fā)生沖突,則令牌管理器向該節(jié) 點授予令牌。
在大型文件系統(tǒng)中,每當(dāng)安裝文件系統(tǒng)時或每當(dāng)群集中的一個節(jié) 點下線時,運(yùn)行文件系統(tǒng)檢查(fsck)以檢驗/恢復(fù)文件系統(tǒng)一致性是 不可行的。而是將影響文件系統(tǒng)一致性的所有的元數(shù)據(jù)更新都記錄在 日記中或"寫前日志"中。
每一個節(jié)點都具有它安裝的每一個文件系統(tǒng)的單獨的日志。日志 存儲在該文件系統(tǒng)中。因為此日志可以被所有其他節(jié)點讀取,因此, 任何節(jié)點都可以代表發(fā)生故障的節(jié)點執(zhí)行恢復(fù)。不需要等待發(fā)生故障 的節(jié)點恢復(fù)正常。在一個節(jié)點發(fā)生故障之后,可以通過簡單地重新應(yīng) 用記錄在發(fā)生故障的節(jié)點的日志里的所有的更新,迅速地恢復(fù)文件系 統(tǒng)一致性。例如,創(chuàng)建新文件需要更新目錄塊以及新文件的信息點。 在獲得目錄塊和信息點上的鎖之后,兩者都在高速緩沖存儲器中被更 新,描述了兩個更新的日志記錄被假脫機(jī)。在修改過的信息點或目錄 塊凈皮允許寫回》茲盤之前,對應(yīng)的日志記錄必須纟皮推向磁盤。如此,如 果在寫入目錄塊之后但是在信息點被寫入到磁盤之前節(jié)點發(fā)生故障, 則保證節(jié)點的日志重做錯過的信息點更新。 一旦由日志記錄描述的更 新被寫回磁盤,不再需要日志記錄,并可以將其丟棄。日志可以是固 定大小,因為可以在任何時候通過在后臺將臟的元數(shù)據(jù)清空回磁盤來 釋放日志中的空間。
在日志恢復(fù)完成之后,其他節(jié)點可以獲得被發(fā)生故障的節(jié)點持有 的任何元節(jié)點令牌,如此,接管元節(jié)點的角色。如果另一個節(jié)點向舊 的元節(jié)點發(fā)送了元數(shù)據(jù)更新,但是,在發(fā)生故障時,還沒有收到更新被提交到磁盤的確認(rèn),則它向新的元節(jié)點重發(fā)更新。這些更新可以由
新的元節(jié)點重新應(yīng)用。
萬一令牌管理器發(fā)生故障,另一個節(jié)點將接管此職責(zé),并通過查
詢所有的幸存的節(jié)點,詢問它們當(dāng)前持有的令牌,重建令牌管理器狀
態(tài)。由于新的令牌管理器不知道哪些令牌被發(fā)生故障的節(jié)點持有,因
此,它不會授予任何新的令牌,直到日志恢復(fù)完成。幸存的節(jié)點當(dāng)前
持有的令牌不受影響。
類似地,由發(fā)生故障的節(jié)點執(zhí)行的其他特殊功能(例如分配管理 器)可以分配給另一個節(jié)點,該另一個節(jié)點通過從磁盤讀取信息與/ 和查詢其他節(jié)點來重建必要的狀態(tài)。
可以由通過周期性脈動消息監(jiān)視節(jié)點和通信鏈接并執(zhí)行組員身 份協(xié)議的組服務(wù)層來檢測節(jié)點故障。當(dāng)一個節(jié)點發(fā)生故障時,組服務(wù) 層可以將組員身份的變化通知給其余的節(jié)點。這就會觸發(fā)任何必需的 恢復(fù)動作。當(dāng)一個節(jié)點發(fā)生故障時,文件系統(tǒng)管理器將防御磁盤存取, 以防止數(shù)據(jù)損壞。
考慮下列情況。節(jié)點1打算安裝文件系統(tǒng)。節(jié)點1向文件系統(tǒng)
管理器節(jié)點發(fā)送遠(yuǎn)程過程調(diào)用(RPC),請求適當(dāng)?shù)陌惭b文件系統(tǒng)的許 可令牌。文件系統(tǒng)管理器收到RPC,并向節(jié)點1發(fā)回適當(dāng)?shù)脑S可令 牌。現(xiàn)在假定,在許可令牌抵達(dá)節(jié)點1之前,網(wǎng)絡(luò)發(fā)生故障,節(jié)點1 不再與群集中的一個或多個有效節(jié)點進(jìn)行通信。文件系統(tǒng)管理器節(jié)點
認(rèn)識到,它與節(jié)點1失去聯(lián)絡(luò),并阻止(防御)節(jié)點1進(jìn)行磁盤存 取。但是,在故障發(fā)生之前,節(jié)點1收到已經(jīng)發(fā)送的許可令牌。在 收到適當(dāng)?shù)脑S可之后,節(jié)點1相信現(xiàn)在可以解除自身防守,并開始 向構(gòu)成文件系統(tǒng)的磁盤進(jìn)行寫入。同時,群集中的其他節(jié)點認(rèn)為節(jié)點 1已經(jīng)完全地防御避免進(jìn)行磁盤存取。如果其他有效節(jié)點開始向這些 相同的磁盤進(jìn)行寫入,那么將發(fā)生數(shù)據(jù)損壞。
在優(yōu)選實施例中,本發(fā)明的方法通過已知的一組SCSI-3 Persistent Reserve命令來實現(xiàn)。
在一個實施例中,指定群集中的一個節(jié)點充當(dāng)群集中的具有節(jié)點
25管理職責(zé)的群集管理器節(jié)點。群集管理器與群集中的所有的有效節(jié)點 進(jìn)行通信。群集管理器本身是一個有效節(jié)點。群集管理器的管理職責(zé) 的一部分包括檢驗?zāi)男┕?jié)點在群集中是有效的,并查詢有效節(jié)點,以 確定是否有法定有效節(jié)點認(rèn)為群集管理器仍是群集的管理器。通過示 例描述本發(fā)明。
請參看圖2,該圖顯示了本發(fā)明的一個實施例的流程。 假設(shè)節(jié)點1希望安裝文件系統(tǒng)。節(jié)點1向群集管理器發(fā)送遠(yuǎn)程 過程調(diào)用(RPC),請求適當(dāng)?shù)陌惭b文件系統(tǒng)的許可令牌。群集管理器 向節(jié)點1發(fā)送適當(dāng)?shù)脑S可令牌。 一旦發(fā)出請求的節(jié)點1收到許可令 牌,但是在節(jié)點1解除自身防守并安裝文件系統(tǒng)之前,節(jié)點l在20 向群集管理器發(fā)送RPC,請求驗證群集管理器節(jié)點將節(jié)點1視為有 效節(jié)點。在這期間,節(jié)點1不進(jìn)行任何操作,直到它從群集管理器 收到適當(dāng)?shù)捻憫?yīng)。在節(jié)點1收到適當(dāng)?shù)捻憫?yīng)之后,它進(jìn)一步解除自 身防守并安裝文件系統(tǒng)。如果節(jié)點1失去了與群集管理器的通信,則 群集管理器不會收到請求進(jìn)行有效狀態(tài)驗證的RPC,因此,不會恰 當(dāng)?shù)刈鞒鲰憫?yīng)。雖然基礎(chǔ)的通信機(jī)制還可能向客戶端節(jié)點指出,不能 發(fā)送RPC。
在群集管理器節(jié)點響應(yīng)節(jié)點1的有效狀態(tài)驗證請求之前,與此 一致,群集管理器在22中查詢具有其自己的請求驗證的RPC的法 定節(jié)點,查詢是否有法定節(jié)點相信,群集管理器仍具有該文件系統(tǒng)的 管理職責(zé)。群集管理器節(jié)點不會對發(fā)出請求的節(jié)點1的RPC作出 反應(yīng),直到它從群集中的大多數(shù)法定節(jié)點收到響應(yīng)。在24中,法定 節(jié)點對群集管理器的查詢作出響應(yīng)。在26中,如果根據(jù)收到的響應(yīng),
群集中的大多數(shù)法定節(jié)點回答,群集管理器實際上仍是該文件系統(tǒng)的 管理器,那么在28中,群集管理器對節(jié)點1的有效狀態(tài)驗證RPC 作出回復(fù),節(jié)點1仍被視為有效的。
另一方面,如果群集管理器從群集中的法定節(jié)點的子集聽到回 應(yīng),那么群集管理器以為存在一些災(zāi)禍性故障。在30中,群集管理 器響應(yīng)發(fā)出請求的節(jié)點,它不再是群集管理器。此時,發(fā)出請求的節(jié)點必須知道誰是新的群集管理器,并啟動新的請求。選擇新的群集管 理器的機(jī)制以及將該新的信息傳播到群集中的有效節(jié)點是現(xiàn)有技術(shù)
中已知的。在32中,群集管理器實現(xiàn)恢復(fù)協(xié)議?;謴?fù)協(xié)議將取決于 故障的性質(zhì)。在一個實施例中,群集管理器節(jié)點等候進(jìn)一步的指令。 在另一個實施例中,它等候用戶干預(yù)。另一方面,如果群集管理器沒 有從群集中的任何節(jié)點收到答復(fù),那么群集管理器節(jié)點假設(shè)它一定受 到通信故障的負(fù)面影響,因為它不再與群集內(nèi)的其余的有效節(jié)點進(jìn)行 通信。優(yōu)選情況下,群集管理器節(jié)點已經(jīng)對RPC請求進(jìn)行排隊。在 這種情況下,群集管理器節(jié)點不會響應(yīng)已經(jīng)排隊的任何RPC。注意, 本技術(shù)也有利地處理其中群集管理器節(jié)點希望向磁盤寫入并認(rèn)為本 身仍有效,但是已經(jīng)丟失與群集的其余的部分的通信的情況。在一個 實施例中,群集管理器使其自己的作為群集管理器的狀態(tài)降級,并執(zhí) 行節(jié)點故障協(xié)議。在另一個實施例中,群集管理器等待接收系統(tǒng)恢復(fù) 過程的指令,或者,等待用戶干預(yù)。
在再一個實施例中,由于有效節(jié)點已經(jīng)失去了與它們的群集管理 器節(jié)點的通信,因此,有效節(jié)點執(zhí)行一個協(xié)議,其中,它們同意選擇 (升級)群集中的另一個有效節(jié)點來擔(dān)當(dāng)新的群集管理器。在這一情 況下,文件系統(tǒng)仍能正常地運(yùn)行,而恢復(fù)過程試圖確定群集管理器發(fā) 生了什么情況,并修復(fù)該節(jié)點,或以別的方式使其重新上線。在替代 實施例中,在群集管理器節(jié)點重新上線之后,有效節(jié)點恢復(fù)群集管理 器節(jié)點的群集管理職責(zé)。在另一個實施例中,有效節(jié)點等待用戶干預(yù)。
本發(fā)明的新穎的方法在文件安裝過程中確保文件系統(tǒng)的完整性, 而不會對系統(tǒng)總開銷造成不利的影響。
應(yīng)該理解,本領(lǐng)域的技術(shù)人員將輕易地能夠在他們自己特定的文 件系統(tǒng)結(jié)構(gòu)中,在優(yōu)選實施例中,利用SCSI-3 Persistent Reserve命 令,實現(xiàn)這里所公開的技術(shù),無需過度的實驗。
前面的對本發(fā)明的示例性的實施例的描述只是為了說明和描述。
它不是窮盡或?qū)⒈景l(fā)明限于所公開的準(zhǔn)確的形式。根據(jù)上述教導(dǎo),許 多修改方案和變化也是可以的。其他軟件和硬件實現(xiàn)方式都落入主張
27了權(quán)利的本發(fā)明的范圍內(nèi)。
雖然允許了本發(fā)明的特定實施例,但是,那些本領(lǐng)域的技術(shù)人員 將理解,在不偏離本發(fā)明的精神或范圍的情況下,可以對特定實施例 作出更改。因此,本發(fā)明的范圍不被限制于特定實施例。此外,所附 的權(quán)利要求應(yīng)該涵蓋本發(fā)明的范圍內(nèi)的所有這樣的應(yīng)用、修改和實施 例。
為避免引起懷疑,術(shù)語"包括",如在整個說明書和權(quán)利要求中所 使用的,不應(yīng)該理解為"只包括"的意思。
權(quán)利要求
1.一種用于在具有多個有效節(jié)點的群集文件系統(tǒng)中發(fā)生故障之后防止發(fā)出請求的節(jié)點解除防守而安裝文件系統(tǒng)的方法,包括將所述群集中的一個有效節(jié)點升級到群集管理器節(jié)點;將大多數(shù)的有效節(jié)點定義為所述群集中的法定節(jié)點;將所述群集管理器與所述群集中的有效節(jié)點進(jìn)行通信;向所述群集管理器分配職責(zé),部分包括從所述群集中的所述發(fā)出請求的節(jié)點接收有效狀態(tài)請求;查詢所述法定節(jié)點,查詢每一個節(jié)點是否認(rèn)為所述群集管理器仍然具有所述文件系統(tǒng)的群集管理職責(zé);判斷大多數(shù)法定節(jié)點是否已經(jīng)響應(yīng)了所述查詢;以及如果大多數(shù)所述法定節(jié)點認(rèn)為所述群集管理器仍具有所述文件系統(tǒng)的群集管理職責(zé),那么所述群集管理器響應(yīng)所述發(fā)出請求的節(jié)點的有效狀態(tài)請求;以及在收到對所述有效狀態(tài)請求的所述響應(yīng)之后,所述發(fā)出請求的節(jié)點安裝所述文件系統(tǒng)。
2. 根據(jù)權(quán)利要求1所述的方法,與所述群集中的其他節(jié)點進(jìn)行通信的所述群集節(jié)點,至少部分地利用SCSI-3 Persistent Reserve 命令的子集。
3. 根據(jù)權(quán)利要求1或2所述的方法,所述發(fā)出請求的節(jié)點首 先從所述群集管理器請求授權(quán)允許安裝所述文件系統(tǒng)的令牌。
4. 根據(jù)權(quán)利要求1、 2或3所述的方法,所述群集管理器節(jié) 點進(jìn)一步訪問所述群集中的有效節(jié)點的列表。
5. 根據(jù)前面的權(quán)利要求中任一項所述的方法,所述大多數(shù)法定 節(jié)點是在檢測到節(jié)點故障之后被動態(tài)地判斷的。
6. 根據(jù)前面的權(quán)利要求中任一項所述的方法,在所述法定節(jié)點 的所述查詢中,所述群集管理器將有效狀態(tài)請求排隊。
7. 根據(jù)前面的權(quán)利要求中任一項所述的方法,如果大多數(shù)所述法定節(jié)點不認(rèn)為所述群集管理器仍具有所述文件系統(tǒng)的群集管理職 責(zé),那么所述群集管理器對所述發(fā)出請求的節(jié)點作出響應(yīng),表明所述 群集管理器不再具有所述文件系統(tǒng)的管理職責(zé)。
8. 包含用于在具有多個有效節(jié)點的群集文件系統(tǒng)中發(fā)生故障 之后防止發(fā)出請求的節(jié)點解除防守而安裝文件系統(tǒng)的指令集的機(jī)器 可讀介質(zhì),所述指令集包括將所述群集中的一個有效節(jié)點升級到群集管理器節(jié)點;將大多數(shù)的有效節(jié)點定義為所述群集中的法定節(jié)點; 將所述群集管理器與所述群集中的有效節(jié)點進(jìn)行通信; 向所述群集管理器分配職責(zé),部分包括 從所述群集中的所述發(fā)出請求的節(jié)點接收有效狀態(tài)請求; 查詢所述法定節(jié)點,查詢每一個節(jié)點是否認(rèn)為所述群集管理器仍然具有所述文件系統(tǒng)的群集管理職責(zé);判斷大多數(shù)法定節(jié)點是否已經(jīng)響應(yīng)了所述查詢;以及 如果大多數(shù)所述法定節(jié)點認(rèn)為所述群集管理器仍具有所述文件系統(tǒng)的群集管理職責(zé),那么所述群集管理器響應(yīng)所述發(fā)出請求的節(jié)點的有效狀態(tài)請求;以及在收到對所述有效狀態(tài)請求的所述響應(yīng)之后,所述發(fā)出請求的節(jié)點安裝所述文件系統(tǒng)。
9. 根據(jù)權(quán)利要求8所述的機(jī)器可讀介質(zhì),其中所述發(fā)出請求 的節(jié)點直到它已收到對所述有效狀態(tài)請求的所述響應(yīng)才安裝文件系 統(tǒng)。
10. 根據(jù)權(quán)利要求8或9所述的機(jī)器可讀介質(zhì),與所述群集中 的其他節(jié)點進(jìn)行通信的所述群集節(jié)點,至少部分地利用SCSI-3 Persistent Reserve命令的子集《
11. 根據(jù)權(quán)利要求8、 9或10所述的機(jī)器可讀介質(zhì),所述發(fā) 出請求的節(jié)點首先從所述群集管理器請求授權(quán)允許安裝所述文件系 統(tǒng)的令牌。
12. 根據(jù)權(quán)利要求8到11中任一項所述的機(jī)器可讀介質(zhì),所述大多數(shù)法定節(jié)點是在檢測到節(jié)點故障之后被動態(tài)地判斷的。
13. 根據(jù)權(quán)利要求8到12中任一項所述的機(jī)器可讀介質(zhì),如 果大多數(shù)所述法定節(jié)點不認(rèn)為所述群集管理器仍具有所述文件系統(tǒng) 的群集管理職責(zé),那么所述群集管理器對所述發(fā)出請求的節(jié)點作出響 應(yīng),表明所述群集管理器不再具有所述文件系統(tǒng)的管理職責(zé)。
14. 一種在發(fā)生故障之后防止發(fā)出請求的節(jié)點解除防守而在所 述群集文件系統(tǒng)安裝文件系統(tǒng)的計算機(jī)節(jié)點的群集文件系統(tǒng),所述系 統(tǒng)包括多個有效節(jié)點,其中大多數(shù)有效節(jié)點是法定節(jié)點; 與所述有效節(jié)點進(jìn)行通信的至少一個群集管理器節(jié)點,所述群集管理器職責(zé)部分包括從所述發(fā)出請求的節(jié)點接收有效狀態(tài)請求; 查詢所述法定節(jié)點,查詢每一個節(jié)點是否認(rèn)為所述群集管理器仍然具有所述文件系統(tǒng)的群集管理職責(zé);判斷至少大多數(shù)法定節(jié)點是否已經(jīng)響應(yīng)了所述查詢;以及 如果大多數(shù)所述法定節(jié)點認(rèn)為所述群集管理器仍具有群集管理職責(zé),那么所述群集管理器響應(yīng)所述發(fā)出請求的節(jié)點的有效狀態(tài)請求;以及在收到對所述有效狀態(tài)請求的所述響應(yīng)之后,所述發(fā)出請求的節(jié) 點安裝所述文件系統(tǒng)。
15. 根據(jù)權(quán)利要求14所述的群集文件系統(tǒng),其中所述發(fā)出請求 的節(jié)點直到它已收到對所述有效狀態(tài)請求的所述響應(yīng)才安裝文件系 統(tǒng)。
16. 根據(jù)權(quán)利要求14或15所述的群集文件系統(tǒng),與所述群集 中的其他節(jié)點進(jìn)行通信的所述群集節(jié)點,至少部分地利用SCSI-3 Persistent Reserve命令的子集。
17. 根據(jù)權(quán)利要求15所述的群集文件系統(tǒng),所述發(fā)出請求的節(jié) 點首先從所述群集管理器請求授權(quán)允許安裝所述文件系統(tǒng)的令牌。
18. 根據(jù)權(quán)利要求14到17中任一項所述的群集文件系統(tǒng),所述大多數(shù)法定節(jié)點是在檢測到節(jié)點故障之后被動態(tài)地判斷的。
19.根據(jù)權(quán)利要求14到18中任一項所述的群集文件系統(tǒng),如 果大多數(shù)所述法定節(jié)點不認(rèn)為所述群集管理器仍具有所述文件系統(tǒng) 的群集管理職責(zé),那么所述群集管理器對所述發(fā)出請求的節(jié)點作出響 應(yīng),表明所述群集管理器不再具有所述文件系統(tǒng)的管理職責(zé)。
全文摘要
一種在具有多個有效節(jié)點的群集文件系統(tǒng)中發(fā)生故障之后有效地防止發(fā)出請求的節(jié)點解除防守而安裝文件系統(tǒng)的方法。該方法包括首先將群集中的一個有效節(jié)點升級,作為群集管理器節(jié)點。群集管理器與所有的有效節(jié)點進(jìn)行通信。給群集管理器分配管理器職責(zé),其中,包括首先從請求安裝文件系統(tǒng)的節(jié)點接收有效狀態(tài)請求。群集管理器首先查詢法定節(jié)點,以判斷每一個節(jié)點是否都認(rèn)為群集管理器仍具有文件系統(tǒng)的群集管理職責(zé)。如果大多數(shù)法定節(jié)點認(rèn)為群集管理器仍具有文件系統(tǒng)的群集管理職責(zé),那么群集管理器響應(yīng)發(fā)出請求的節(jié)點的有效狀態(tài)請求。其后,發(fā)出請求的節(jié)點繼續(xù)安裝文件系統(tǒng)。
文檔編號G06F11/00GK101689129SQ200880023511
公開日2010年3月31日 申請日期2008年6月26日 優(yōu)先權(quán)日2007年7月10日
發(fā)明者B·希爾, F·施穆克, K·岡達(dá) 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1