分布式文件系統(tǒng)_第1頁
分布式文件系統(tǒng)_第2頁
分布式文件系統(tǒng)_第3頁
分布式文件系統(tǒng)_第4頁
分布式文件系統(tǒng)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第12章分布式文件系統(tǒng)

分布式系統(tǒng)的關(guān)鍵部分:文件系統(tǒng)

文件服務(wù)和文件服務(wù)器(1)

文件服務(wù):文件系統(tǒng)為客戶所提供的內(nèi)容的

規(guī)范說明

它描述了可用的原語,它們所使用參數(shù)以及

執(zhí)行的操作

文件服務(wù)確定了文件系統(tǒng)對客戶的界面

文件服務(wù)器是一個運行于某些機器上的進程

并幫助實現(xiàn)文件服務(wù)

良好的分布式系統(tǒng),用戶不知道文件系統(tǒng)是

如何實現(xiàn)的

文件服務(wù)和文件服務(wù)器Q)

文件服務(wù)器是在某臺機器上運行的用戶進程

(有時是內(nèi)核進程)

系統(tǒng)會有多個文件服務(wù)器,提供不同的文件

服務(wù)

12.1分布式文件系統(tǒng)設(shè)計

兩個不同的部件:文件服務(wù)和目錄服務(wù)

文件服務(wù):單個文件上的操作相關(guān),諸如讀、

寫和添加

目錄服務(wù):維護目錄有關(guān),在目錄上加、刪

文件等等

12.2.1文件服務(wù)的接口

什么是文件?

兩種文件類型

文件類型1

文件是一個不加解釋的字節(jié)序列

文件信息的意義與結(jié)構(gòu)全部由應(yīng)用程序來決

操作系統(tǒng)對之無興趣

文件類型2

文件可被組織成一串記錄

可使用操作系統(tǒng)調(diào)用來讀寫某個記錄

大多數(shù)支持把文件視作字節(jié)序列的概念

而不是關(guān)鍵記錄的序列

文件屬性

不包括在文件內(nèi)容中的

有關(guān)文件的若干條信息

常見的屬性:所有者,文件大小,建立日期

和訪問許可

文件服務(wù)通常會提供一些對屬性進行讀寫操

作的原語

文件可否修改

文件被創(chuàng)建之后,是否可被修改

?通常它們可以

?“不可改變的(immutable)”文件

僅有CREATE和READ文件操作

一個文件一旦創(chuàng)建,它就不能改變

容易支持文件緩存和復制,

消除了由于文件改變而要更新所有副本所引

起的問題

文件保護⑴

?存取能力表

每一個用戶都持有一張稱作存取能力表的票

據(jù)

用于它訪問的每一個對象

存取能力指定了哪種形式的訪問是被允許的

文件保護(2)

?存取控制表

一個文件對應(yīng)一個隱式或顯式的用戶表

指明可能訪問該文件的用戶及可能的訪問形

兩種類型文件服務(wù):

-文件的上載/下載模式

?遠程訪問模式

文件上載/下載模式(1)

?只提供兩種操作:讀文件和寫文件

?讀操作:

是將整個文件從服務(wù)器送到申請的客戶

?寫操作:

將整個文件從客戶傳遞到服務(wù)器

在服務(wù)器和客戶之間移動整個文件

文件可以按需要而保存在內(nèi)存或本地磁盤上

只提供了物理存儲和傳輸

文件上載/下載模式(2)

?優(yōu)點:概念上的簡潔性

沒有復雜的文件服務(wù)接口

整體文件傳送效率很高

?缺點:客戶端必須有足夠的存儲空間

只需文件一小部分,傳整個文件浪費

(a)上載/下載模式

客戶機向服務(wù)器發(fā)出訪問請求

(b)遠程訪問模式

遠程訪問模式

?文件服務(wù)提供

打開和關(guān)閉文件、文件讀和寫、文件內(nèi)的移

動(LSEEK)

考察和修改文件屬性等等操作

?文件系統(tǒng)運行在服務(wù)器上,而不是客戶機上

.優(yōu)點:在客戶機上無須太多的空間,

消除零碎空間中放入整個文件的問題

12.1.2目錄服務(wù)器

?提供創(chuàng)建和刪除目錄、對文件命名和改名

把文件從一個目錄移向另一個目錄

?文件命名規(guī)則:

可以是從1到某個最大的數(shù)字,字符或一些

特殊字符

文件擴展名:

文件名劃分為兩部分,通常用一個分開

名字第二部分,稱為文件擴展名,標識了文

件的類型

擴展名而用一個顯性屬性來達到這個目的

目錄和子目錄

目錄下包含子目錄,可把相關(guān)文件放在一起

系統(tǒng)提供創(chuàng)建、刪除、進入以及移動子目錄

和從子目錄中查找文件的功能

層次型文件系統(tǒng)

子目錄可再包含子目錄從而形成樹型目錄

目錄的鏈接

某些系統(tǒng)中,能創(chuàng)建到任一目錄的鏈接或指

不僅構(gòu)建樹,而且構(gòu)建任意目錄圖,功能更

設(shè)計分布式文件系統(tǒng)的一個關(guān)鍵問題

所有機器和進程都應(yīng)該對目錄層次有相同的

認識

應(yīng)有一個全局性的,并為所有機器所確認的

根目錄

目錄的藪邕指向目錄

機器1

(a)也)

目錄樹在一臺機器內(nèi)在在兩臺機器內(nèi)的目錄圖

(b)所有客戶機對某文件系統(tǒng)都有相同認識的系統(tǒng)

(c)不同的客戶機對某文件系統(tǒng)有不同認識的系統(tǒng)

名稱解析透明性

定位透明性

服務(wù)器可以在網(wǎng)絡(luò)中隨意移動,其路徑名也

無需改動

文件在移動時無需改變其名稱時,稱為定位

獨立性

在路徑名中嵌入了服務(wù)器名稱顯然不是定位

獨立的

不易實現(xiàn)的,是一個在分布式系統(tǒng)中所希望

具有的性質(zhì)

名稱解析三個處理方式:

?機器+路徑解析,諸如/machine/path或

machine:path

?把遠程文件系統(tǒng)安裝到本地文件層次中

?對所有機器都視同一致的單一名稱空間

前兩項容易實現(xiàn)

后者較困難,需要仔細地設(shè)計

兩級名稱解析(1)

?二級命名法

對用戶:文件(及其它對象)有符號名

對機器:有系統(tǒng)內(nèi)部使用二進制名

要提供這兩個名字解析間的一種映射

在一個有多個自含文件服務(wù)器的系統(tǒng)中

二進制名實質(zhì)上就是一個本地的I?結(jié)點數(shù)

通用名稱解析方案:

二進制名指向服務(wù)器和里面的某個特定文件

兩級名稱解析Q)

?符號鏈

符號鏈是一個目錄項,映射到一個(服務(wù)器

文件名)中的字符串上

通過字符串,可通過命名的服務(wù)器找到二進

制名

符號鏈本身實際上就是路徑名

兩級名稱解析(3)

?利用二進制名能力

查找一個ASCII碼名字

包括物理的或邏輯的機器號

或適當?shù)姆?wù)器網(wǎng)絡(luò)地址

物理地址就可用來向服務(wù)器發(fā)消息

通過通過廣播或者在名字服務(wù)器上查找

能夠定位一個虛擬地址

12.1.3文件共享的語義

?多用戶文件共享要嚴格定義讀與寫語義

?UNIX語義學

當READ操作接著WRITE操作時

READ所返回的值正是剛寫入的

類似地,當兩個WRITE操作連續(xù)出現(xiàn)后跟

一個READ操作

讀的值是最后一次寫的值

?系統(tǒng)按絕對的時間序列執(zhí)行所有操作

且總是返回最后一次操作的值

單一服務(wù)器文件系統(tǒng)

在實踐中,單一服務(wù)器文件系統(tǒng)性能,通常很差

改進:允許客戶機在其私有空間中維護文件本地副

客戶在本地修改緩存區(qū)文件

接著另一個客戶從服務(wù)器讀取該文件

第二個客戶會得到一個陳舊的文件

解決方法:向服務(wù)器播送對緩存區(qū)文件的全部修改

概念盡管簡單,但處理是低效率的

(a)在單處理器上,當READ跟隨WRITE,返回的值是剛才寫入

的值

(b)有緩存區(qū)的分布式系統(tǒng)中,可能被返回的是陳舊值

替代解法:會話語義(sessionsemantics)

放松文件共享的語義學要求

新的規(guī)則:“對打開文件的修改,僅對修改

該文件的進程是初始可見的”

重新定義了正確的操作的實際行為

當A關(guān)閉文件時,它送一個副本給服務(wù)器

所以后續(xù)的READ得到了所需要的新值

會話語義的問題

?更多的客戶同時在同一個緩存區(qū)上修改會怎

樣?

?一種解決方法:

當每個文件依次關(guān)閉時,其值回送給服務(wù)器

?最后的結(jié)果取決于誰最后關(guān)閉

不可更改文件

操作只有CREATE與READ

雖然文件不能更新,但可以更新目錄

問題就不存在了

共享文件的第四個方法:原子事務(wù)

確保在事務(wù)中的所有調(diào)用都會按序執(zhí)行

不會被任何其它的、并發(fā)的事務(wù)所干擾

方式評論

UNIX語義在文件上的每一操作

對所有進程均是立即可見的

會話語義在文件關(guān)閉之前,

變化對其它進程是不可見的

不可變文件不能更新,簡化了共享和復制處理

原子事務(wù)所有修改有,全是-或-全不是的性質(zhì)

12.2.1文件的使用

文件使用的模式

多數(shù)文件較?。ǖ陀?0k)

讀比寫要多得多

讀和寫是順序的,很少隨機訪問

多數(shù)文件壽命很短

文件共享是不尋常的

平均看進程只使用少量文件

存在不同特性的顯然不同的文件類型

12.2.2系統(tǒng)結(jié)構(gòu)

“客戶機和服務(wù)器有差別嗎?”

在一些系統(tǒng)中(比如:NFS)

客戶機和服務(wù)器之間沒有差別

另一個極端

客戶機和服務(wù)器在軟硬件上是完全不同的

服務(wù)器甚至可以運行和客戶機不同的操作系

統(tǒng)

怎樣構(gòu)造文件和目錄服務(wù)

一種方法:兩種服務(wù)組織到單獨的服務(wù)器里

用戶送一個符號名給目錄服務(wù)器

目錄服務(wù)器返回服務(wù)器可以識別的二進制文

件名

目錄在

文件文件

層次化目錄

層次化目錄有可能分段處在多個服務(wù)器上

經(jīng)常地尋找路徑名,特別是多重目錄服務(wù)器

費用會很昂貴

提示快捷棧

保存最近查找的名字以及查找的結(jié)果

另一種方法:把它們分隔開

擁有兩個服務(wù)器將需要更多的通訊

客戶機的狀態(tài)(1)

一個派認為服務(wù)器應(yīng)是無狀態(tài)(stateless)的

當客戶機向服務(wù)器發(fā)出請求,服務(wù)器執(zhí)行了

這個請求

發(fā)送回答信息,在請求之間,沒有保留客戶

機狀態(tài)信息

每個請求必須自我包含信息

包含全文件名及文件內(nèi)的偏移量,以允許服

務(wù)器完成工作

信息增加了消息的長度

客戶機的狀態(tài)Q)

另一派認為保留客戶機請求間的狀態(tài)信息是

完全有必要的

服務(wù)器狀態(tài)

容錯較短的請求消息

無需OPEN/CLOSE調(diào)用較好的性能

不在表上浪費服務(wù)器空間有可能預(yù)讀

打開文件數(shù)量無限制較易實現(xiàn)

客戶機失效時不受影響文件加鎖有可能

12.2.3緩存區(qū)處理(Caching)

四個地方存放文件:

服務(wù)器硬盤

服務(wù)器主存

客戶機硬盤(若存在的話)

客戶機主存

服務(wù)器硬盤

所有文件在服務(wù)器的硬盤上

文件可被所有客戶機所訪問

一個文件只有一套拷貝,不存在一致性問題

客戶機主內(nèi)存服務(wù)器磁盤

網(wǎng)絡(luò)

可存放文件的四個地方

13-9

服務(wù)器主存

在服務(wù)器主存上緩存最近使用過的文件

可使性能獲得高的提升

主存一般都比磁盤小

需要算法決定文件的哪部分留在緩存區(qū)

客戶機的主存

客戶機主存有三種選擇

方案一最簡單:把緩存文件直接放在用戶進

程自有地址空間中

大多數(shù)進程只讀一個文件一項

所以在庫中設(shè)緩存區(qū)并沒有多大的價值

在客戶機主存中運用緩存區(qū)的不同方式

(a)無緩存區(qū)

(b)在每一進程中設(shè)緩存區(qū)

(c)在內(nèi)核中設(shè)緩存區(qū)

(d)視作用戶進程的緩存區(qū)管理器

客戶機緩存區(qū)地方是內(nèi)核

缺點是,需要內(nèi)核的調(diào)用

這種緩存區(qū)比在進程中設(shè)緩存區(qū)效果為好

方案二:緩存區(qū)在不同的用戶級緩存區(qū)

管理器中

優(yōu)點:內(nèi)核同文件系統(tǒng)代碼無關(guān)

容易編程,因為它它完全隔離

且更具靈活性

緩存區(qū)一致性

客戶機把不一致性引入了系統(tǒng)

方法評價

遍寫工作,但不影響寫的操作

延遲寫更好的性能,但可能帶來二義性

閉寫滿足會話語義要求

集中控制UNIX語義,但魯棒性和可伸縮性差

不可改變的文件

吸引力,可在機器上進行緩存處理的能力

不用擔心機器會有改變它的可能性

12.2.4復制性(replication)

分布式系統(tǒng)常常提供文件復制服務(wù)給他們的客戶

主要的原因中有:

可靠性:每一文件的各自獨立的副本增強了可靠性

有效性:即使在服務(wù)器關(guān)閉時,也允許訪問文件

性能:所有文件放在一臺服務(wù)器上會造成性能瓶頸

多服務(wù)器上復制文件,最輕載的將會被使用

符號名多重二進制地址(a)顯式文件復制

(b)空閑復制

(a)

(c)使用組的文件復制

13-12

三種復制

復制關(guān)鍵問題是透明度問題

顯式文件復制;空閑復制;組通訊

顯式文件復制

程序員控制整個復制進程

進程在某服務(wù)器上創(chuàng)建個文件

如果需要的話,可以在其他服務(wù)器上備份多份

如果目錄服務(wù)器允許文件的多份拷貝同時存在

那么備份的網(wǎng)上地址都與文件名相關(guān)

只要給出文件名,所有的備份都能被找到

空閑復制(Lazyreplication)

每個文件只在一服務(wù)器中建立

在服務(wù)器空閑時自動復制到另外的服務(wù)器中

復制過程對用戶透明

在后臺復制文件時,注意原文件是否已被修

改過

組通訊方式

全部“寫”調(diào)用同時發(fā)往所有服務(wù)器

后備文件與原件同時產(chǎn)生

空閑復制與組通訊方式主要有兩個區(qū)別:

在空閑復制方式中只須一個服務(wù)器地址,而

不是一個組;

空閑復制空閑時在后臺進行

而組通訊方式中,所有文件同時產(chǎn)生

如何更新

原本復制(primarycopyreplication)

一臺服務(wù)器被指定為主機。其它的當作輔機

已復制文件需要更新時,首先告訴主機,把主機文

件修改

然后主機命令輔機,要求它們修改

缺點:一旦被指定主機不能工作,對文件的修改不

能進行

復制更可靠的方法:“投票表決法(voting)”

基本思想:無論讀或?qū)懸褟椭莆募r,用戶應(yīng)向多

臺服務(wù)器提出請求并獲得同意

"幽靈表決法(vot

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論