百科解釋
分布式文件系統(tǒng) Distributed File Systems
分布式文件系統(tǒng)的設(shè)計(jì)基于客戶(hù)機(jī)/服務(wù)器模式。一個(gè)典型的網(wǎng)絡(luò)可能包括多個(gè)供多用戶(hù)訪問(wèn)的服務(wù)器。另外,對(duì)等特性允許一些系統(tǒng)扮演客戶(hù)機(jī)和服務(wù)器的雙重角色。例如,用戶(hù)可以“發(fā)表”一個(gè)允許其他客戶(hù)機(jī)訪問(wèn)的目錄,一旦被訪問(wèn),這個(gè)目錄對(duì)客戶(hù)機(jī)來(lái)說(shuō)就象使用本地驅(qū)動(dòng)器一樣,下面是三個(gè)基本的分布式文件系統(tǒng)。
網(wǎng)絡(luò)文件系統(tǒng)(NFS) 最早由Sun微系統(tǒng)公司作為T(mén)CP/IP網(wǎng)上的文件共享系統(tǒng)開(kāi)發(fā)。Sun公司估計(jì)現(xiàn)在大約有超過(guò)310萬(wàn)個(gè)系統(tǒng)在運(yùn)行NFS,大到大型計(jì)算機(jī)、小至PC機(jī),其中至少有80%的系統(tǒng)是非Sun平臺(tái)。
Andrew文件系統(tǒng)(AFS) 結(jié)構(gòu)與NFS相似,由卡內(nèi)基·梅隆大學(xué)信息技術(shù)中心(ITC)開(kāi)發(fā)、現(xiàn)由前ITC職員組成的Transarc公司負(fù)責(zé)開(kāi)發(fā)和銷(xiāo)售。AFS較NFS有所增強(qiáng)。
分布式文件系統(tǒng)(DFS) 是AFS的一個(gè)版本,作為開(kāi)放軟件基金會(huì)(OSF)的分布式計(jì)算環(huán)境(DCE)中的文件系統(tǒng)部分。
如果文件的訪問(wèn)僅限于一個(gè)用戶(hù),那么分布式文件系統(tǒng)就很容易實(shí)現(xiàn)。可惜的是,在許多網(wǎng)絡(luò)環(huán)境中這種限制是不現(xiàn)實(shí)的,必須采取并發(fā)控制來(lái)實(shí)現(xiàn)文件的多用戶(hù)訪問(wèn),表現(xiàn)為如下幾個(gè)形式:
只讀共享 任何客戶(hù)機(jī)只能訪問(wèn)文件,而不能修改它,這實(shí)現(xiàn)起來(lái)很簡(jiǎn)單。
受控寫(xiě)操作 采用這種方法,可有多個(gè)用戶(hù)打開(kāi)一個(gè)文件,但只有一個(gè)用戶(hù)進(jìn)行寫(xiě)修改。而該用戶(hù)所作的修改并不一定出現(xiàn)在其它已打開(kāi)此文件的用戶(hù)的屏幕上。
并發(fā)寫(xiě)操作 這種方法允許多個(gè)用戶(hù)同時(shí)讀寫(xiě)一個(gè)文件。但這需要操作系統(tǒng)作大量的監(jiān)控工作以防止文件重寫(xiě),并保證用戶(hù)能夠看到最新信息。這種方法即使實(shí)現(xiàn)得很好,許多環(huán)境中的處理要求和網(wǎng)絡(luò)通信量也可能使它變得不可接受。
NFS和AFS的區(qū)別在于對(duì)并發(fā)寫(xiě)操作的處理方法上。當(dāng)一個(gè)客戶(hù)機(jī)向服務(wù)器請(qǐng)求一個(gè)文件(或數(shù)據(jù)庫(kù)記錄),文件被放在客戶(hù)工作站的高速緩存中,若另一個(gè)用戶(hù)也請(qǐng)求同一文件,則它也會(huì)被放入那個(gè)客戶(hù)工作站的高速緩存中。當(dāng)兩個(gè)客戶(hù)都對(duì)文件進(jìn)行修改時(shí),從技術(shù)上而言就存在著該文件的三個(gè)版本(每個(gè)客戶(hù)機(jī)一個(gè),再加上服務(wù)器上的一個(gè))。有兩種方法可以在這些版本之間保持同步:
無(wú)狀態(tài)系統(tǒng) 在這個(gè)系統(tǒng)中,服務(wù)器并不保存其客戶(hù)機(jī)正在緩存的文件的信息。因此,客戶(hù)機(jī)必須協(xié)同服務(wù)器定期檢查是否有其他客戶(hù)改變了自己正在緩存的文件。這種方法在大的環(huán)境中會(huì)產(chǎn)生額外的LAN通信開(kāi)銷(xiāo),但對(duì)小型LAN來(lái)說(shuō),這是一種令人滿意的方法。NFS就是個(gè)無(wú)狀態(tài)系統(tǒng)。
回呼(Callback)系統(tǒng) 在這種方法中,服務(wù)器記錄它的那些客戶(hù)機(jī)的所作所為,并保留它們正在緩存的文件信息。服務(wù)器在一個(gè)客戶(hù)機(jī)改變了一個(gè)文件時(shí)使用一種叫回叫應(yīng)答(ca11backpromise)的技術(shù)通知其它客戶(hù)機(jī)。這種方法減少了大量網(wǎng)絡(luò)通信。AFS(及OSFDCE的DFS)就是回叫系統(tǒng)。客戶(hù)機(jī)改變文件時(shí),持有這些文件拷貝的其它客戶(hù)機(jī)就被回叫并通知這些改變。
無(wú)狀態(tài)操作在運(yùn)行性能上有其長(zhǎng)處,但AFS通過(guò)保證不會(huì)被回叫應(yīng)答充斥也達(dá)到了這一點(diǎn)。方法是在一定時(shí)間后取消回叫。客戶(hù)機(jī)檢查回叫應(yīng)答中的時(shí)間期限以保證回叫應(yīng)答是當(dāng)前有效的;亟袘(yīng)答的另一個(gè)有趣的特征是向用戶(hù)保證了文件的當(dāng)前有效性。換句話說(shuō),若一個(gè)被緩存的文件有一個(gè)回叫應(yīng)答,則客戶(hù)機(jī)就認(rèn)為文件是當(dāng)前有效的,除非服務(wù)器呼叫指出服務(wù)器上的該文件已改變了。
Network File System(NFS)網(wǎng)絡(luò)文件系統(tǒng)(NFS)
NFS是個(gè)分布式的客戶(hù)機(jī)/服務(wù)器文件系統(tǒng)。NFS的實(shí)質(zhì)在于用戶(hù)間計(jì)算機(jī)的共享。用戶(hù)可以聯(lián)結(jié)到共享計(jì)算機(jī)并象訪問(wèn)本地硬盤(pán)一樣訪問(wèn)共享計(jì)算機(jī)上的文件。管理員可以建立遠(yuǎn)程系統(tǒng)上文件的訪問(wèn),以至于用戶(hù)感覺(jué)不到他們是在訪問(wèn)遠(yuǎn)程文件。
NFS是個(gè)到處可用和廣泛實(shí)現(xiàn)的開(kāi)放式系統(tǒng)。
下面是NFS最初的設(shè)計(jì)目標(biāo):
允許用戶(hù)象訪問(wèn)本地文件一樣訪問(wèn)其他系統(tǒng)上的文件。提供對(duì)無(wú)盤(pán)工作站的支持以降低網(wǎng)絡(luò)開(kāi)銷(xiāo)。
簡(jiǎn)化應(yīng)用程序?qū)h(yuǎn)程文件的訪問(wèn)使得不需要因訪問(wèn)這些文件而調(diào)用特殊的過(guò)程。
使用一次一個(gè)服務(wù)請(qǐng)求以使系統(tǒng)能從已崩潰的服務(wù)器或工作站上恢復(fù)。
采用安全措施保護(hù)文件免遭偷竊與破壞。
使NFS協(xié)議可移植和簡(jiǎn)單,以便它們能在許多不同計(jì)算機(jī)上實(shí)現(xiàn),包括低檔的PC機(jī)。
大型計(jì)算機(jī)、小型計(jì)算機(jī)和文件服務(wù)器運(yùn)行NFS時(shí),都為多個(gè)用戶(hù)提供了一個(gè)文件存儲(chǔ)區(qū)。工作站只需要運(yùn)行TCP/IP協(xié)議來(lái)訪問(wèn)這些系統(tǒng)和位于NFS存儲(chǔ)區(qū)內(nèi)的文件。工作站上的NFS通常由TCP/IP軟件支持。對(duì)DOS用戶(hù),一個(gè)遠(yuǎn)程N(yùn)FS文件存儲(chǔ)區(qū)看起來(lái)是另一個(gè)磁盤(pán)驅(qū)動(dòng)器盤(pán)符。對(duì)Macintosh用戶(hù),遠(yuǎn)程N(yùn)FS文件存儲(chǔ)區(qū)就是一個(gè)圖標(biāo)。
NFS的客戶(hù)機(jī)和服務(wù)器部分的功能如下:
服務(wù)器目錄共享 服務(wù)器廣播或通知正在共享的目錄,一個(gè)共享目錄通常叫做出版或出口目錄。有關(guān)共享目錄和誰(shuí)可訪問(wèn)它們的信息放在一個(gè)文件中,由操作系統(tǒng)啟動(dòng)時(shí)讀取。
客戶(hù)機(jī)訪問(wèn) 在共享目錄上建立一種鏈接和訪問(wèn)文件的過(guò)程叫做裝聯(lián)(mounting),用戶(hù)將網(wǎng)絡(luò)用作一條通信鏈路來(lái)訪問(wèn)遠(yuǎn)程文件系統(tǒng)。
NFS的一個(gè)重要組成是虛擬文件系統(tǒng)(VFS),它是應(yīng)用程序與低層文件系統(tǒng)間的接口。
VFS提供的一些操作如下:
close文件關(guān)閉操作
create 文件生成操作
fsync將改變保存到文件中
getattr 取文件屬性
link 用另一個(gè)名字訪問(wèn)一個(gè)文件
lookup 讀目錄項(xiàng)
mkdir建立新目錄
open 文件打開(kāi)操作
rdwr 文件讀寫(xiě)操作
remove 刪除一個(gè)文件
rename 文件改名
rmdir刪除一目錄
setattr 設(shè)置文件屬性
Andrew File System(AFS)Andrew文件系統(tǒng)(AFS)
AFS是專(zhuān)門(mén)為在大型分布式環(huán)境中提供可靠的文件服務(wù)而設(shè)計(jì)的。它通過(guò)基于單元的結(jié)構(gòu)生成一種可管理的分布式環(huán)境。一個(gè)單元是某個(gè)獨(dú)立區(qū)域中文件服務(wù)器和客戶(hù)機(jī)系統(tǒng)的集合,這個(gè)獨(dú)立區(qū)域由特定的機(jī)構(gòu)管理。通常代表一個(gè)組織的計(jì)算資源。用戶(hù)可以和同一單元中其他用戶(hù)方便地共享信息,他們也可以和其他單元內(nèi)的用戶(hù)共享信息,這取決于那些單元中的機(jī)構(gòu)所授予的訪問(wèn)權(quán)限。
AFS服務(wù)器運(yùn)行下列進(jìn)程:
文件服務(wù)器進(jìn)程 這個(gè)進(jìn)程響應(yīng)客戶(hù)工作站對(duì)文件服務(wù)的請(qǐng)求,維護(hù)目錄結(jié)構(gòu),監(jiān)控文件和目錄狀態(tài)信息,檢查用戶(hù)的訪問(wèn)。
基本監(jiān)察(BOS)服務(wù)器進(jìn)程 這個(gè)進(jìn)程運(yùn)行于有BOS設(shè)定的服務(wù)器。它監(jiān)控和管理運(yùn)行其他服務(wù)的進(jìn)程并可自動(dòng)重啟服務(wù)器進(jìn)程,而不需人工幫助。
卷宗服務(wù)器進(jìn)程 此進(jìn)程處理與卷宗有關(guān)的文件系統(tǒng)操作,如卷宗生成、移動(dòng)、復(fù)制、備份和恢復(fù)。
卷宗定位服務(wù)器進(jìn)程 該進(jìn)程提供了對(duì)文件卷宗的位置透明性。即使卷宗被移動(dòng)了,用戶(hù)也能訪問(wèn)它而不需要知道卷宗移動(dòng)了。
鑒別服務(wù)器進(jìn)程 此進(jìn)程通過(guò)授權(quán)和相互鑒別提供網(wǎng)絡(luò)安全性。用一個(gè)“鑒別服務(wù)器”維護(hù)一個(gè)存有口令和加密密鑰的鑒別數(shù)據(jù)庫(kù),此系統(tǒng)是基于Kerberos的。
保護(hù)服務(wù)器進(jìn)程 此進(jìn)程基于一個(gè)保護(hù)數(shù)據(jù)庫(kù)中的訪問(wèn)信息,使用戶(hù)和組獲得對(duì)文件服務(wù)的訪問(wèn)權(quán)。
更新服務(wù)器進(jìn)程 此進(jìn)程將AFS的更新和任何配置文件傳播到所有AFS服務(wù)器。
AFS還配有一套用于差錯(cuò)處理,系統(tǒng)備份和AFS分布式文件系統(tǒng)管理的實(shí)用工具程序。例如,SCOUT定期探查和收集AFS文件服務(wù)器的信息。信息在給定格式的屏幕上提供給管理員。設(shè)置多種閾值向管理者報(bào)告一些將發(fā)生的問(wèn)題,如磁盤(pán)空間將用完等。另一個(gè)工具是USS,可創(chuàng)建基于帶有字段常量模板的用戶(hù)帳戶(hù)。Ubik提供數(shù)據(jù)庫(kù)復(fù)制和同步服務(wù)。一個(gè)復(fù)制的數(shù)據(jù)庫(kù)是一個(gè)其信息放于多個(gè)位置的系統(tǒng)以便于本地用戶(hù)更方便地訪問(wèn)這些數(shù)據(jù)信息。同步機(jī)制保證所有數(shù)據(jù)庫(kù)的信息是一致的。
相關(guān)名詞[編輯本段]
相關(guān)條目:Distributed Computing分布式計(jì)算;Distributed Computing Environment,OSF 開(kāi)放軟件基金會(huì)(OSF)的分布式計(jì)算環(huán)境;Distributed Database分布式數(shù)據(jù)庫(kù);File Systems in the Network Environment 網(wǎng)絡(luò)環(huán)境中的文件系統(tǒng)。