資訊系統與資訊管理:...

7
27 / 顏春煌 電視廣告中常聽到一句廣告詞:「有7-11真好!」因為7-11超市裡有日常 生活中最常用的必需品,而且每間超市 貨品的擺設與種類都相同,所以消費者 到任何一家7-11都能快速地找到自己需 要的用品。只要超市越普遍,人類的生 活就越方便。 而檔案(files)對於電腦系統來說 同樣是必需品,電腦系統的使用者透過 檔案系統取得檔案。遍布各地的檔案可 以透過網路分享,不過要簡化這種分享 就需要分散式的檔案系統來幫忙。 【延伸思考】現代的企業規模擴大,人員往往分布各地,雖然透過Web平台也 可以分享檔案,但是以檔案服務的安全性與透明化的要求來說,一個嚴謹的廣 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察 未來的發展與趨勢。 一、分散式檔案系統 在最理想的情況下,分散式的檔案系統(Distributed File System, DFS會讓使用者覺得使用的是一般的檔案系統,【圖1】畫出分散式檔案系統的原 始架構,使用者透過客戶端程式(client)送出對於檔案的存取請求,若檔案 位於遠端的電腦上,則提供DFS服務的軟體必須透過DFS的溝通機制向遠端的 伺服程式(server)要求取得檔案。 資訊系統與資訊管理: 破除分散式檔案系統的迷思 第五章 補充教材 電子計算機概論(二) 396 97 . 5 . 1

Upload: others

Post on 06-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

27

/ 顏春煌

電視廣告中常聽到一句廣告詞:「有7-11真好!」因為7-11超市裡有日常

生活中最常用的必需品,而且每間超市

貨品的擺設與種類都相同,所以消費者

到任何一家7-11都能快速地找到自己需

要的用品。只要超市越普遍,人類的生

活就越方便。

而檔案(files)對於電腦系統來說

同樣是必需品,電腦系統的使用者透過

檔案系統取得檔案。遍布各地的檔案可

以透過網路分享,不過要簡化這種分享

就需要分散式的檔案系統來幫忙。

【延伸思考】現代的企業規模擴大,人員往往分布各地,雖然透過Web平台也

可以分享檔案,但是以檔案服務的安全性與透明化的要求來說,一個嚴謹的廣

域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

未來的發展與趨勢。

一、分散式檔案系統

在最理想的情況下,分散式的檔案系統(Distributed File System, DFS)

會讓使用者覺得使用的是一般的檔案系統,【圖1】畫出分散式檔案系統的原

始架構,使用者透過客戶端程式(client)送出對於檔案的存取請求,若檔案

位於遠端的電腦上,則提供DFS服務的軟體必須透過DFS的溝通機制向遠端的

伺服程式(server)要求取得檔案。

資訊系統與資訊管理:破除分散式檔案系統的迷思

第五章

補充教材電子計算機概論(二) 396

空 大 學 訊 97 . 5 . 1

Page 2: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

補充教材 電子計算機概論(二)28 396

空 大 學 訊 97 . 5 . 1

(一)命名的問題(naming)

命名(naming)是邏輯物件(logical objects)與實體物件(physical

objects)之間的一種對應(mapping),對於檔案來說,使用者在使用檔案時

所知道的是檔案的名稱,至於檔案儲存在什麼地方則由系統來負責決定,這

中間需要一種對應,將檔案名稱對應到儲存的地點,例如磁碟上的磁軌所儲

存的資料方塊,或是網路上的某台伺服器。上面提到的對應是DFS也必須面對

的問題,解決的方法是命名的方式,命名時通常須達到兩個基本要求:

1.地點透明化(location transparency):檔案的名稱不需要顯示出檔案儲存所在的地點。

2.地點獨立性(location independence):當檔案的儲存地點改變時,檔案的名稱不需要隨之改變。

換句話說,檔案的名稱與檔案儲存的

地點必須分開來看,不要讓使用者費心去

瞭解檔案儲存的地方,DFS有3種可能採用

的命名方式(naming scheme),基本上都

要維持地點透明化與地點獨立性的要求:

1.透過檔案所在的主機名稱與該檔案

在該主機上的名稱來建立檔案在DFS中的

名稱。

2.透過所謂的掛載(mount)方式,將

遠端的檔案系統掛載到所在的電腦系統中使用,NFS的檔案系統就是採用這種

方式。

【圖1】分散式的檔案系統(Distributer File System, DFS)的原始架構

Page 3: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

29

3.使用全域式的命名結構(global name structure)囊括所有的檔案,但是

在實務上不是很可行,困難很多。

(二)遠端檔案的存取(remote file access)

一般的檔案存取是透過對磁碟的存取(disk access)以取得檔案。遠端檔

案的存取(remote file access)由於檔案不在所處的電腦磁碟上,所以需要透

過遠端服務的機制,例如RPC。使用者使用遠端的檔案時必須先送出請求,

透過命名服務(naming service)找到提供所需檔案的伺服器,提供遠端檔案

的伺服程式收到請求以後,將使用者需要的檔案傳送過去。

【圖2】顯示一般的檔案存取與遠端檔案存取的差異,通常在檔案存取時

可以運用快取(cache)來提升效能,減少耗時的disk I/O,遠端檔案存取也可

以運用cache,除了減少disk I/O之外還能減少網路的傳輸頻率。

【延伸思考】所謂的快取(cache)是指客戶端電腦上的儲存空間,例如硬碟

空間或記憶體空間,從遠端伺服器取得的檔案可以儲存在快取空間中,下回再

使用時就不必再向伺服器提出要求,顯然快取可以減少網路通訊、加快遠端檔

案存取的速度,但是萬一伺服端所提供的檔案被更新了,則原來儲存於快取空

間的相同檔案便失效了,必須重新再向伺服程式取得有效的版本。

【圖2】一般的檔案存取與遠端檔案的存取

遠端檔案服務有賴於穩定而

有效率的網路環境的支援。

Page 4: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

補充教材 電子計算機概論(二)30 396

空 大 學 訊 97 . 5 . 1

(三)遠端檔案服務(remote file service)

當使用者端對伺服端提出遠端檔案存取的請求時,伺服程式有兩種不同

的儲存伺服端資訊的處理方式,一種是必須持續追蹤、記錄每個客戶端存取

檔案的情況,這種伺服程式稱為stateful server,另一種則是直接提供客戶端所

需要的資料,不做記錄與追蹤,這種伺服程式則稱為stateless server。

【圖3】顯示stateful server的作業方式,當server端收到開啟檔案的請求以

後,會分配一個唯一的識別號(connection identifier)給client端的這個請求,

client端取得識別號以後,就以此資訊來進行後續的檔案存取,server端同樣以

此識別號來記錄該client端對該檔案的使用活動。

【延伸思考】stateful server保留了client端存取檔案的一些資訊,所以在連

續的遠端檔案存取過程中會有比較好的效能,例如對於循序存取的檔案請

求可以預先讀取後續的資料。Stateless server接受的檔案請求必須包含完整

的資訊,所以處理上勢必較花時間,不過若是網路或電腦系統不穩定的時

候,stateful server容易因發生失敗而必須重新提供檔案服務。AFS算是一種

stateful server,NFS則算是一種stateless server。一般在討論分散式的檔案系統

時,通常會以AFS的探討為主,NFS比較傾向歸類於一般的檔案系統,只是多

了網路檔案服務的功能。

【圖2】stateful server的作業方式

二、廣域透明化的概念

網路作業系統(Network Operating System)與網路應用(Networked

Applications)有向廣域擴展的趨勢,對於使用者而言,將可取用散布各處的

資料程式等網路資源,而不必瞭解其管理的方式與實際的位置;我們可以將

Page 5: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

31

這些新的功能統稱為所謂的「廣域透明化(Wide Area Transparency)」,多瞭

解一點廣域網路的技術,將會幫助我們使用、選擇,甚至開發各類廣域透明

化的功能。廣域透明化例子中的廣域網路(Wide Area Network)是在網路資

源散布各地無法透過區域網路直接連接的情況下,運用專屬式(Dedicated)

或交換式(Switched)的連接,來達到廣域連線的目的,所以區域網路也有幫

不上忙的時候。

三、以AFS為例

AFS(Andrew File System)使用跨越廣域的統一命名方式,所以網路上

的任何一個檔案,在AFS中只有一個唯一的名稱。分散各地的檔案在AFS中

可以變成如【圖4】中的形態,不論是在哪一台主機上,使用者看到的是相同

的網路檔案結構,命名的方式也是一致的。事實上,AFS的命名空間(Name

Space)沿襲了網際網路的網域結構(Domain Structure),例如某台主機的名

稱是hpdns.nou.edu.tw,該主機上的AFS檔案系統就叫做/afs/tw/edu/nou/hpdns,

如此一來,就不會有重複的檔案名稱。

【圖4】AFS應用的例子

典型的透過CSU/DSU來

連接廣域網路的方式。

主機甲 主機乙

/afs /afs /afs

主機丙

甲 乙 丙 甲 甲乙 乙丙 丙

a b

c d

e fg h

Page 6: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

補充教材 電子計算機概論(二)32 396

空 大 學 訊 97 . 5 . 1

AFS除了在檔案命名方式上做了改變之外,也在系統效能、安全性功能

等各方面做了各種改善,同時增強了資料暫留(Caching)的功能,使遠端檔

案在使用後,依使用頻率的多寡,將部分資料暫存起來,當同樣的檔案又被

使用時,就不必再經由通訊網路取得檔案。AFS雖然有許多NFS所沒有的優

點,但是不如NFS普及;所以,同樣的功能逐漸地被包容在分散式運算環境(

Distributed Computing Environment, DCE)的支援軟體中。AFS的相關資訊可

以參考【圖5】的OpenAFS網站。

【圖6】顯示AFS的基本架構,客戶

端的AFS程式稱為Virtue,會與伺服端的

程式Vice溝通,客戶端的使用者所看到

的檔案空間可分為本機的檔案名稱空間

(local name space),以及共享的名稱

空間(shared name space)。共享的名稱

空間是從本機的檔案名稱空間衍生下來

的,主要檔案系統(root f ile system)

是由本機的檔案名稱空間所形成的。

由於AFS檔案系統橫跨廣域網路,

所以必須有一個適當的組織,通常區域網路中的電腦會有一台AFS server,

這台server與其他區域網路中的AFS clients形成一個叢集(cluster),所以

【圖5】OpenAFS的網站(資料來源:www.openafs.org)

【圖6】AFS的基本架構

Page 7: 資訊系統與資訊管理: 破除分散式檔案系統的迷思enews.open2u.com.tw/~noupd/book_up/5199/(396)027-033.pdf · 域檔案系統還是比較符合需要,當然Web平台的技術也在演進中,還是要觀察

33

該server也稱為AFS的cluster server,同一個cluster中的client儘量使用所屬的

cluster server來進行AFS的檔案存取,這樣可以減少cluster間的網路通訊。

這種組織的方式讓AFS檔案系統能不斷地擴大(scale)。【圖7】為大型的

AFS架構。

【圖7】大型的AFS架構

【延伸思考】儲存於快取空間中的遠端檔案在下次開啟時就不必再向Vice要

求傳送,不過若是檔案被更改過,就牽涉到檔案內容一致性(consistency)

的問題,AFS的作法是在客戶端將檔案儲存到快取空間時,分配一個回傳(

callback)給該客戶端與該檔案,只要客戶端擁有callback就可以持續使用快取

空間的檔案,若是有其他的客戶端須修改同一個檔案,AFS server會先通知擁

有該檔案callback的client端,取消其callback,然後才能將該檔案的callback分

配給新的client端。

AFS檔案系統運用了快取的技術,所以必須面對檔案一致性的問題,基本

上在AFS的客戶端有另外一個名為Venus的程式,當客戶端的作業系統接收到

檔案系統的呼叫時會轉送給Venus處理,Venus會從Vice取得檔案並儲存於快取

空間中,一旦檔案被修改,Venus也會將最新版本回傳至AFS server。【圖8】

為加上Venus以後的AFS架構。

【圖8】檔案一致性的問題

(作者為本科目學科委員兼召集人)