複製鏈接
請複製以下鏈接發送給好友

Andrew文件系統

鎖定
Andrew文件系統(AFS)一個分佈式網絡文件系統,其能夠使來自任何通過這個國家的 AFS 機器能夠在文件一經在本地存儲就能訪問。 AFS 一個穩定的單元,其每個單元代表文件空間中一個獨立的管理部分。單元連接在一起組成了一個在根 /afs 目錄下的一個龐大的 UNIX 文件系統。
中文名
Andrew文件系統
網    絡
分佈式網絡
特    點
高安全性
簡    稱
AFS

Andrew文件系統簡介

Andrew是由美國卡耐基-梅隆(Carnegie Mellon)大學和IBM公司聯合開發的一種分佈式計算環境。 [1]  它的主要功能是用於管理分佈在網絡不同節點上的文件,其能夠使來自任何通過這個國家的AFS機器能夠在文件一經在本地存儲就能訪問。AFS是專為在大的分佈式環境中提供可靠文件服務而設計的。該系統創建了便於管理的帶有基於網孔結構的分佈式環境。網孔是由特定機構管理的自治區域內文件服務器和客户系統的集合。它通常代表某一組織的計算資源。用户可以容易地與網孔內的其他用户共享信息。根據其他網孔管理機構授予的訪問權,用户還可以與這些單元格中的用户共享信息。

Andrew文件系統系統特點

Andrew文件系統的目標是要支持至少7000個工作站(Carnegie Mellon的學生、教員和職工每人一個),同時為用户、應用程序和系統管理提供一種合適的共享文件系統。AFS 是一個穩定的單元,其每個單元代表文件空間中一個獨立的管理部分。單元連接在一起組成了一個在根/afs 目錄下的一個龐大的 UNIX 文件系統。與普通文件系統相比,AFS的主要特點在於三個方面:分佈式、跨平台、高安全性。
所謂分佈式文件系統,主要有兩方面的含義:其一、就是説AFS是一種採用分佈式結構的文件系統,與傳統的集中式的文件系統相比,AFS的各個組件能夠分佈在網絡中的不同機器上,並通過一定的機制協同工作。它並不是簡單地C/S(客户端/服務器)結構,也並不象C/S結構的客户端那樣僅為服務器端提供接口,所有的功能都集中在服務器端。AFS的各個組件都能夠獨立的完成某種功能,同時這些組件在一定的機制協調下,又形成一個完整的系統;分佈式文件系統的第二層含義是:AFS是一種能夠管理分佈式文件數據的文件系統,它不但可以把分佈在不同網絡節點上的存儲資源組織成一個虛擬的存儲空間,而且能夠提供跨平台的文件管理功能。
AFS的跨平台管理功能夠使用户方便、高效地共享分佈在局域網或廣域網中的文件。用户並不需要考慮文件保存在什麼地方,也不用考慮文件保存在哪種操作系統上,AFS提供給用户的只是一個完全透明的、永遠唯一的邏輯路徑,通過這個邏輯路徑,用户就象面對一個文件目錄一樣,這個目錄下的內容無論是在什麼地方訪問,都絕對的一致。因此,AFS的這種功能往往被用於用户的home目錄,以使得用户的home目錄唯一、而且避免了數據的不一致性。
AFS是一種高安全性的文件系統。它通過鑑權數據庫與ACL的配合為用户提供更高的安全性。用户使用AFS,首先需要驗證身份,只有合法的AFS用户才能夠訪問相應的CELL(一個CELL就相當於一個AFS獨立結構,該CELL具有AFS文件系統的全部功能);其次,用户還需要在保護數據庫中讀取相應的ACL列表,以確定他是否有權力讀寫某一個文件。因此,AFS提供了更高於傳統UNIX系統的安全性能。
AFS的目錄結構是全球統一的。根據規定,AFS的前兩級目錄必須由“/afs/cellname”組成,其中,cellname可替換為不同單位的Cell名稱。我們已經定義了唯一的cell名:ihep. ac. cn,並建立了唯一的前兩級目錄:/afs/ihep. ac. cn/。因此,無論用户從什麼地方去訪問/afs/ihep. ac. cn下的文件,就等於連接到高能所的網絡上,並訪問了高能所內部的資源。

Andrew文件系統AFS運行模式

.AFS採用C/S(Client/Server)的工作模式,Client發送請求到Server提取文件,Server Machine提供文件給請求的Client。
當Client Machine上的某個Porcess第一次需要某個文件資料時,Client Machine上的一個名叫Cache Manager的Process,便會負責找出存放有該文件的Server(他會從CellServ配置文件中找到 VLDB服務器,在經由VLDB找到相應文件存放的Server),使用RPC通信協議來取回文件存儲於自己的Cache中,之後就可以直接讀寫於Cache中的資料了,這期間Cache Manager會適時的和Server Machine通信來更新資料,有了Cache Manager的幫助使得網絡的負荷減輕,因為當我們讀寫一個在其他機器上的資料時,不再需要每次都經由網絡去讀取,而由Cache Manage判斷在Cache的資料是否和Server Machine上所存的相同,若相同,就直接使用Cache上的資料,如此一來 節省了部分讀取文件時所需要的傳送,更減少了原本Server上的磁盤I/O負荷。

Andrew文件系統NFS和AFS的區別

NFS和AFS的區別在於對併發寫操作的處理方法上。當一個客户機向服務器請求一個文件(或數據庫記錄),文件被放在客户工作站的高速緩存中,若另一個用户也請求同一文件,則它也會被放入那個客户工作站的高速緩存中。當兩個客户都對文件進行修改時,從技術上而言就存在着該文件的三個版本(每個客户機一個,再加上服務器上的一個)。有兩種方法可以在這些版本之間保持同步:
無狀態系統 在這個系統中,服務器並不保存其客户機正在緩存的文件的信息。因此,客户機必須協同服務器定期檢查是否有其他客户改變了自己正在緩存的文件。這種方法在大的環境中會產生額外的LAN通信開銷,但對小型LAN來説,這是一種令人滿意的方法。NFS就是個無狀態系統。
回呼(Callback)系統 在這種方法中,服務器記錄它的那些客户機的所作所為,並保留它們正在緩存的文件信息。服務器在一個客户機改變了一個文件時使用一種叫回叫應答(callbackpromise)的技術通知其它客户機。這種方法減少了大量網絡通信。AFS(及OSFDCE的DFS)就是回叫系統。客户機改變文件時,持有這些文件拷貝的其它客户機就被回叫並通知這些改變。
無狀態操作在運行性能上有其長處,但AFS通過保證不會被回叫應答充斥也達到了這一點。方法是在一定時間後取消回叫。客户機檢查回叫應答中的時間期限以保證回叫應答是當前有效的。回叫應答的另一個有趣的特徵是向用户保證了文件的當前有效性。換句話説,若一個被緩存的文件有一個回叫應答,則客户機就認為文件是當前有效的,除非服務器呼叫指出服務器上的該文件已改變了。
參考資料
  • 1.    鄭扣根 譯.操作系統概念:高等教育出版社,2010.1