分布式系統閱讀筆記(十二) 分布式檔案系統

2022-05-05 09:36:06 字數 2123 閱讀 3816

乙個分布式系統本質上就是一段程式能夠儲存和訪問遠端檔案就像訪問本地檔案類似,能夠允許任何連上網路上的使用者都可以訪問。在後面的記錄中,主要是對2大檔案系統nfs和afs做詳細的介紹和分析。

1、檔案系統在最初的設計時往往是按照中心結點服務的方式構建,在中心節點伺服器中保持著大量的檔案資源。

2、對於檔案系統的分塊有下面的分法:1、目錄模組。2、檔案模組。3、訪問控制模組。4、檔案訪問模組。5、block檔案塊模組。6、裝置模組,主要指的是磁碟io,和快取。

3、檔案系統的作用主要有:組織,儲存,命名,共享和保護檔案的作用。

4、乙個檔案包括資料和屬性,而乙個目錄是乙個特殊型別的檔案,本身不包含資料,他提供了乙個文字名字對於一組內部檔案識別符號的對映。

5、在乙個檔案系統中,為了對於裡面所有的檔案進行有效的管理,在系統的元資料中會儲存額外的一些檔案資訊。

6、對於乙個分布式檔案系統,有許多的要求:1、透明度,包括訪問透明,擴充套件性透明。2、併發更新的控制。3、檔案副本的存放。4、硬體作業系統的異構性。5、容錯性。6、資料一致性問題。7、安全。8、效率效能方面,

7、乙個檔案服務的結構一般包括乙個客戶端模組和乙個服務端模組。

乙個檔案服務對於內部的元件構成進行了清晰的劃分,包括3個元件1、純檔案的服務。2、目錄服務。3、客戶端模組。3個模組之間相互關聯,其中檔案服務和模組服務都是放在server模組的。

1、在file service中用ufid來標示每個獨有的檔案。

2、目錄服務就提供乙個name到一組ufid組的對映。

3、客戶端模組只要通過和服務端定義好的一系列的介面的形式與服務端進行互動。

4、與檔案對應的一系列定義的介面類似,對於目錄服務也定義了一組介面。

5、在早起的模型中,對於檔案的操作介面,每次都要在請求的時候額外傳使用者id做認證檢驗,後來這種方式可以被kerberos認證所取代。

6、在檔案系統中有檔案組的概念,就是一堆檔案的集合,檔案組的標示採用了32位的ip的位址+16位的date時間加以區分,如果純用ip位址是有問題的,因為檔案組可以被移動到不同的機子上。

nfs中文叫做網路檔案系統,計算機可以通過網路對於檔案進行操作。

1、在nfs中,客戶端和服務端模組是通過rpc的方式進行互動的。

2、在nfs中,為了實現訪問的透明性,增加了vfs虛擬檔案系統一層,在虛擬檔案系統的下面,有對應的各個具體的檔案系統的實現。

3、在nfs中,每個file的識別符號用file handles。

4、不同於傳統的unix檔案系統,nfs檔案系統是無狀態的,他不保留客戶端中開啟的檔案列表,在訪問控制的檢測時需要每次重新整理請求,檢測裡面的使用者標示。

5、nfs客戶端中的本地檔案掛載可以掛載在服務端檔案系統的某個子樹下,但是到時路徑名字的轉換得在客戶端中進行轉換,才能保證與服務端中的一致。

6、檔案系統的掛載分為軟掛載和硬掛載。

7、自動掛載技術。當客戶端中存在乙個空的掛載點時,服務端會傳送訊息,第乙個回覆的將會進行掛載操作。

8、服務端快取策略,傳統的unix系統常用的辦法就是主記憶體buffer空間,nfs服務端採取的策略是read ahead讀優先和delayed-write延時寫的策略,在客戶端中則會維持著一系列客戶端最近操作過的檔案的結果,避免客戶端的再次呼叫。

9、客戶端的本地快取的資料項,存在一定過期時間,超過一定時間會進行更新。nfs的效能通過在客戶端快取了檔案塊因而提公升了許多。

afs檔案系統也是乙個分布式檔案系統。afs最初的設計目標就是為了服務於大規模的使用者和節點,他的高擴充套件性是器一大特點。他的其中非常有效的策略是在在客戶端快取了數百個使用者最近用過的檔案。

1、afs中包括了2個重要元件,venus和vice,前者存在客戶端,後者在server中。檔案服務在vice中實現,目錄在venu中實現,afs中的檔案識別符號採用96位的fid表示,類似於nfs的ufid。

2、afs中快取一致性的實現是基於call-base**的方式。當服務端的檔案發生update操作之後,他會傳送請求給所有持有此檔案副本的客戶端,進行更新操作。

許多要求和效能已經在afs和nfs中都得到了實現和改進,但是分布式檔案系統的發展還是有很長的一段要走,比如在nfs中也可以實現類似於afs的基於**方式的更新操作。

參考文獻:<>原版第五版,author:george coulouris,jean dollimore, tim kindberg,gordon

blair

分布式 分布式系統的設計

在計算機領域,當單機效能達到瓶頸時,一般有兩種方式解決效能問題 而分布式系統的設計說白了就是 如何合理將乙個系統拆分成多個子系統部署到不同機器上。講設計方法前,先介紹分布式系統的特性 1 分布性 空間中隨機分布。這些計算機可以分布在不同的機房,不同的城市,甚至不同的國家。2 對等性 分布式系統中的計...

分布式 分布式鎖

本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...

分布式 分布式事務

是資料庫執行過程中的乙個邏輯單位,由乙個有限的資料庫操作序列構成。事務的acid四大特性 原子性 atomicity 事務作為乙個整體被執行。一致性 consistency 從乙個一致的狀態轉換到另乙個一致的狀態。隔離性 isolation 多個事務併發執行時,併發事務之間互相影響的程度。永續性 d...