萬盛學電腦網

 萬盛學電腦網 >> 網絡應用技術 >> 應用教程 >> 什麼是分布式文件系統

什麼是分布式文件系統

分布式文件系統的設計基於客戶機/服務器模式。一個典型的網絡可能包括多個供多用戶訪問的服務器。另外,對等特性允許一些系統扮演客戶機和服務器的雙重角色。例如,用戶可以“發表”一個允許其他客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來說就象使用本地驅動器一樣,下面是三個基本的分布式文件系統。

網絡文件系統(NFS) 最早由Sun微系統公司作為TCP/IP網上的文件共享系統開發。Sun公司估計現在大約有超過310萬個系統在運行NFS,大到大型計算機、小至PC機,其中至少有80%的系統是非Sun平台。

Andrew文件系統(AFS) 結構與NFS相似,由卡內基·梅隆大學信息技術中心(ITC)開發、現由前ITC職員組成的Transarc公司負責開發和銷售。AFS較NFS有所增強。

分布式文件系統(DFS) 是AFS的一個版本,作為開放軟件基金會(OSF)的分布式計算環境(DCE)中的文件系統部分。

如果文件的訪問僅限於一個用戶,那麼分布式文件系統就很容易實現。可惜的是,在許多網絡環境中這種限制是不現實的,必須采取並發控制來實現文件的多用戶訪問,表現為如下幾個形式:

只讀共享 任何客戶機只能訪問文件,而不能修改它,這實現起來很簡單。

受控寫操作 采用這種方法,可有多個用戶打開一個文件,但只有一個用戶進行寫修改。而該用戶所作的修改並不一定出現在其它已打開此文件的用戶的屏幕上。

並發寫操作 這種方法允許多個用戶同時讀寫一個文件。但這需要操作系統作大量的監控工作以防止文件重寫,並保證用戶能夠看到最新信息。這種方法即使實現得很好,許多環境中的處理要求和網絡通信量也可能使它變得不可接受。

NFS和AFS的區別在於對並發寫操作的處理方法上。當一個客戶機向服務器請求一個文件(或數據庫記錄),文件被放在客戶工作站的高速緩存中,若另一個用戶也請求同一文件,則它也會被放入那個客戶工作站的高速緩存中。當兩個客戶都對文件進行修改時,從技術上而言就存在著該文件的三個版本(每個客戶機一個,再加上服務器上的一個)。有兩種方法可以在這些版本之間保持同步:

無狀態系統 在這個系統中,服務器並不保存其客戶機正在緩存的文件的信息。因此,客戶機必須協同服務器定期檢查是否有其他客戶改變了自己正在緩存的文件。這種方法在大的環境中會產生額外的LAN通信開銷,但對小型LAN來說,這是一種令人滿意的方法。NFS就是個無狀態系統。

回呼(Callback)系統 在這種方法中,服務器記錄它的那些客戶機的所作所為,並保留它們正在緩存的文件信息。服務器在一個客戶機改變了一個文件時使用一種叫回叫應答(ca11backpromise)的技術通知其它客戶機。這種方法減少了大量網絡通信。AFS(及OSFDCE的DFS)就是回叫系統。客戶機改變文件時,持有這些文件拷貝的其它客戶機就被回叫並通知這些改變。

無狀態操作在運行性能上有其長處,但AFS通過保證不會被回叫應答充斥也達到了這一點。方法是在一定時間後取消回叫。客戶機檢查回叫應答中的時間期限以保證回叫應答是當前有效的。回叫應答的另一個有趣的特征是向用戶保證了文件的當前有效性。換句話說,若一個被緩存的文件有一個回叫應答,則客戶機就認為文件是當前有效的,除非服務器呼叫指出服務器上的該文件已改變了。

Network File System(NFS)網絡文件系統(NFS)

NFS是個分布式的客戶機/服務器文件系統。NFS的實質在於用戶間計算機的共享。用戶可以聯結到共享計算機並象訪問本地硬盤一樣訪問共享計算機上的文件。管理員可以建立遠程系統上文件的訪問,以至於用戶感覺不到他們是在訪問遠程文件。

NFS是個到處可用和廣泛實現的開放式系統。下面是NFS最初的設計目標:

允許用戶象訪問本地文件一樣訪問其他系統上的文件。提供對無盤工作站的支持以降低網絡開銷。

簡化應用程序對遠程文件的訪問使得不需要因訪問這些文件而調用特殊的過程。

使用一次一個服務請求以使系統能從已崩潰的服務器或工作站上恢復。

采用安全措施保護文件免遭偷竊與破壞。

使NFS協議可移植和簡單,以便它們能在許多不同計算機上實現,包括低檔的PC機。

大型計算機、小型計算機和文件服務器運行NFS時,都為多個用戶提供了一個文件存儲區。工作站只需要運行TCP/IP協議來訪問這些系統和位於NFS存儲區內的文件。工作站上的NFS通常由TCP/IP軟件支持。對DOS用戶,一個遠程NFS文件存儲區看起來是另一個磁盤驅動器盤符。對Macintosh用戶,遠程NFS文件存儲區就是一個圖標。

copyright © 萬盛學電腦網 all rights reserved