全球专业中文经管百科,由121,994位网友共同编写而成,共计436,017个条目

分散式文件系統

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

分散式文件系統(Distributed File System)

目錄

什麼是分散式文件系統

  分散式文件系統是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過電腦網路與節點相連。分散式文件系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。

  電腦通過文件系統管理、存儲數據,而信息爆炸時代中人們可以獲取的數據成指數倍的增長,單純通過增加硬碟個數來擴展電腦文件系統的存儲容量的方式,在容量大小、容量增長速度數據備份、數據安全等方面的表現都差強人意。分散式文件系統可以有效解決數據的存儲和管理難題:將固定於某個地點的某個文件系統,擴展到任意多個地點/多個文件系統,眾多的節點組成一個文件系統網路。每個節點可以分佈在不同的地點,通過網路進行節點間的通信數據傳輸。人們在使用分散式文件系統時,無需關心數據是存儲在哪個節點上、或者是從哪個節點從獲取的,只需要像使用本地文件系統一樣管理和存儲文件系統中的數據。

分散式文件系統決定因素

  文件系統最初設計時,僅僅是為區域網內的本地數據服務的。而分散式文件系統將服務範圍擴展到了整個網路。不僅改變了數據的存儲和管理方式,也擁有了本地文件系統所無法具備的數據備份、數據安全等優點。判斷一個分散式文件系統是否優秀,取決於以下三個因素:

  1.數據的存儲方式,例如有1000萬個數據文件,可以在一個節點存儲全部數據文件,在其他N個節點上每個節點存儲1000/N萬個數據文件作為備份;或者平均分配到N個節點上存儲,每個節點上存儲1000/N萬個數據文件。無論採取何種存儲方式,目的都是為了保證數據的存儲安全和方便獲取。

  2.數據的讀取速率,包括響應用戶讀取數據文件的請求、定位數據文件所在的節點、讀取實際硬碟中數據文件的時間、不同節點間的數據傳輸時間以及一部分處理器的處理時間等。各種因素決定了分散式文件系統的用戶體驗。即分散式文件系統中數據的讀取速率不能與本地文件系統中數據的讀取速率相差太大,否則在本地文件系統中打開一個文件需要2秒,而在分散式文件系統中各種因素的影響下用時超過10秒,就會嚴重影響用戶的使用體驗。

  3.數據的安全機制,由於數據分散在各個節點中,必須要採取冗餘、備份、鏡像等方式保證節點出現故障的情況下,能夠進行數據的恢復,確保數據安全。

分散式文件系統分類

  網路文件系統

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

  Andrew系統

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

  KASS系統

  KASS File System(簡稱KFS)是開始軟體自主研發基於JAVA的純分散式文件系統,功能類似於DFS、GFS、Hadoop,通過HTTP WEB為企業的各種信息系統提供底層文件存儲及訪問服務,搭建企業私有雲存儲服務平臺。

  DFS系統

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

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

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

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

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

  NFS和AFS的區別

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

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

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

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

  數據軟體

  Yonghong Z-Data Mart

  Yonghong Data Mart是一款數據存儲數據處理的軟體。

  Yonghong Data Mart採用基於ZDFS的分散式列存儲系統,就是將數據分散存儲在多台獨立的設備上。傳統的網路存儲系統採用集中的存儲伺服器存放所有數據,存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分散式網路存儲系統採用可擴展的系統結構,利用多台存儲伺服器分擔存儲負荷,利用位置伺服器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易於擴展。

  Yonghong Data Mart的分散式文件存儲系統 (ZDFS)是在Hadoop HDFS基礎上進行的改造和擴展,將伺服器集群內所有節點上存儲的文件統一管理和存儲。這些節點包括唯一的一個NamingNode,在 ZDFS 內部提供元數據服務;許多MapNode,提供存儲塊。存儲在 ZDFS 中的文件被分成塊,然後將這些塊複製到多個電腦中(Map Node)。這與傳統的 RAID 架構大不相同。塊的大小和複製的塊數量在創建文件時由客戶機決定。Naming Node監控存在伺服器集群內所有節點上的文件操作,例如文件創建、刪除、移動、重命名等

分散式文件系統具體分析

NFS介紹

  NFS定義

  (NFS)(Network File System)是個分散式的客戶機/伺服器文件系統。NFS的實質在於用戶間電腦的共用。用戶可以聯結到共用電腦並像訪問本地硬碟一樣訪問共用電腦上的文件。管理員可以建立遠程系統上文件的訪問,以至於用戶感覺不到他們是在訪問遠程文件。

  NFS是個到處可用和廣泛實現的開放式系統。

  NFS設計目標

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

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

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

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

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

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

  NFS部分功能

  伺服器目錄共用 伺服器廣播或通知正在共用的目錄,一個共用目錄通常叫做出版或出口目錄。有關共用目錄和誰可訪問它們的信息放在一個文件中,由操作系統啟動時讀取。

  客戶機訪問 在共用目錄上建立一種鏈接和訪問文件的過程叫做裝聯(mounting),用戶將網路用作一條通信鏈路來訪問遠程文件系統。

  NFS的一個重要組成是虛擬文件系統(VFS),它是應用程式與低層文件系統間的介面。

  VFS操作

  close文件關閉操作

  create 文件生成操作

  fsync將改變保存到文件中

  getattr 取文件屬性

  link 用另一個名字訪問一個文件

  lookup 讀目錄項

  mkdir建立新目錄

  open 文件打開操作

  rdwr 文件讀寫操作

  remove 刪除一個文件

  rename 文件改名

  rmdir刪除一目錄

  setattr 設置文件屬性

AFS伺服器

  Andrew File System(AFS)Andrew文件系統(AFS)

  AFS是專門為在大型分散式環境中提供可靠的文件服務而設計的。它通過基於單元的結構生成一種可管理的分散式環境。一個單元是某個獨立區域中文件伺服器和客戶機系統的集合,這個獨立區域由特定的機構管理。通常代表一個組織的計算資源。用戶可以和同一單元中其他用戶方便地共用信息,他們也可以和其他單元內的用戶共用信息,這取決於那些單元中的機構所授予的訪問許可權。

  文件伺服器進程 這個進程響應客戶工作站對文件服務的請求,維護目錄結構,監控文件和目錄狀態信息,檢查用戶的訪問。

  基本監察(BOS)伺服器進程 這個進程運行於有BOS設定的伺服器。它監控和管理運行其他服務的進程並可自動重啟伺服器進程,而不需人工幫助。

  卷宗伺服器進程 此進程處理與卷宗有關的文件系統操作,如卷宗生成、移動、複製、備份和恢復。

  卷宗定位伺服器進程 該進程提供了對文件卷宗的位置透明性。即使卷宗被移動了,用戶也能訪問它而不需要知道卷宗移動了。

  鑒別伺服器進程 此進程通過授權和相互鑒別提供網路安全性。用一個“鑒別伺服器”維護一個存有口令和加密密鑰的鑒別資料庫,此系統是基於Kerberos的。

  保護伺服器進程 此進程基於一個保護資料庫中的訪問信息,使用戶和組獲得對文件服務的訪問權。

  更新伺服器進程 此進程將AFS的更新和任何配置文件傳播到所有AFS伺服器

  AFS還配有一套用於差錯處理,系統備份和AFS分散式文件系統管理的實用工具程式。例如,SCOUT定期探查和收集AFS文件伺服器的信息。信息在給定格式的屏幕上提供給管理員。設置多種閾值向管理者報告一些將發生的問題,如磁碟空間將用完等。另一個工具是USS,可創建基於帶有欄位常量模板的用戶帳戶。Ubik提供資料庫複製和同步服務。一個複製的資料庫是一個其信息放於多個位置的系統以便於本地用戶更方便地訪問這些數據信息。同步機制保證所有資料庫的信息是一致的。

KFS 文件庫

  KFS(KASS File System)

  實現價值

  1、高性能和高可靠性。支持通過增加伺服器實現高併發、大存儲量、大吞吐量,且有效避免單點故障。

  2、可作為多個系統之間的文件共用存放平臺,多個系統均可遠程訪問 KFS 文件庫,避免文件孤島。

  3、文件得到有效保護,多副本方式有效防止文件因單點故障導致無法及時訪問或丟失、損壞的問題。

  4、支持廣域網異地分散式存儲,同時控制流與數據流分離的模式,有效解決多網點辦公環境下公司文檔集中管理分散訪問的問題,極大的優化文檔管理模式與傳輸速度。

功能特點

  1、完全基於 JAVA 實現,支持跨平臺部署。

  2、可獨立運行,也可內嵌至任何支持 JAVA 的 WEB 容器中運行。

  3、不依賴任何第三方程式,也不依賴任何資料庫

  4、 二次開發非常簡單。客戶端只需發送簡單的 HTTP 請求至 KFS 伺服器的指定 URL 地址,即可完成 KFS 功能的遠程調用。開發人員可以通過 IE 瀏覽器來完成所有的 KFS 功能調用。

  5、提供了豐富的功能。與操作系統提供的文件操作功能比較,我們提供了豐富的高級功能,如版本管理、文件刪除恢復、文件副本、文件日誌、事件驅動等等。

  6、系統高可靠性。優異的架構,無單點故障的設計,集群同步的支持,信息流與數據流的分離設計,多副本機制,從多方面保障了整個系統的高可靠性和可用性。

  7、系統高可擴展性。系統通過簡單配置即可實現文件存儲空間的擴展,可通過擴展名稱伺服器集群來提高名稱伺服器的併發性能,可通過增加副本文件來實現存儲伺服器的 I/O 吞吐量擴展。

  8、支持跨廣域網文件存儲。由於文件有多項副本存在,支持多項副本存儲在不同城市的數據伺服器,以實現各地快速訪問文件目的。

本條目對我有幫助2
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"分散式文件系統"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

下载APP

闽公网安备 35020302032707号