Home >> Blog >> 什麼是 DFS 分散式文件系統?
什麼是 DFS 分散式文件系統?
顧名思義,分佈式文件系統 (DFS)是分佈在多個文件伺服器或多個位置上的文件系統。它允許程式像訪問本地文件一樣訪問或存儲隔離文件,允許程式員從任何網絡或計算機訪問文件。
分佈式文件系統(DFS)的主要目的是允許物理分佈式系統的用戶使用通用文件系統共享他們的資料和資源。通過局域網 (LAN) 連接的工作站和大型機的集合是分佈式文件系統上的配置。DFS 作為操作系統的一部分執行。在 DFS 中,創建了一個命名空間,並且此過程對客戶端是透明的。
DFS 有兩個組件:
- 位置透明度——
位置透明度通過命名空間組件實現。 - 冗餘——
冗餘是通過文件複製組件完成的。
在出現故障和負載過重的情況下,這些組件通過允許將不同位置的資料共享邏輯分組到一個文件夾(稱為“DFS 根”)下,從而共同提高資料可用性。
不必同時使用 DFS 的兩個組件,可以使用命名空間組件而不使用文件複製組件,完全可以使用文件複製組件而不使用伺服器之間的命名空間組件。
DFS的特點:
- 透明度 :
- 結構透明——
客戶端無需知道文件伺服器和存儲設備的數量或位置。應提供多個文件伺服器以提高性能、適應性和可靠性。 - 訪問透明度——
本地和遠程文件都應該以相同的方式訪問。文件系統應該自動定位在被訪問的文件上並將其發送到客戶端。 - 命名透明度——
文件名中不應有任何提示文件位置的信息。一旦為文件命名,在從一個節點傳輸到另一個節點的過程中不應更改它。 - 複製透明度——
如果在多個節點上複製文件,則文件的副本及其位置都應從一個節點隱藏到另一個節點。
- 用戶移動性:
它會自動將用戶的主目錄帶到用戶登錄的節點。 - 性能:
性能基於說服客戶請求所需的平均時間。這個時間包括CPU時間+訪問二級存儲的時間+網絡訪問時間。建議分佈式文件系統的性能類似於集中式文件系統的性能。 - 簡單易用:
文件系統的用戶界面應該簡單,文件中的命令數量應該很少。
- 高可用性:
分佈式文件系統應該能夠在任何部分故障(如鍊接故障、節點故障或存儲驅動器崩潰)的情況下繼續運行。
一個高真實性和適應性的分佈式文件系統應該有不同的、獨立的文件伺服器來控制不同的、獨立的存儲設備。 - 可擴展性:
由於通過添加新機器或將兩個網絡連接在一起來擴展網絡是常規的,分佈式系統將不可避免地隨著時間的推移而增長。因此,應該構建一個良好的分佈式文件系統,以便隨著系統中節點和用戶數量的增長而快速擴展。隨著節點和用戶數量的增長,服務不應受到實質性的干擾。 - 高可靠性:
在合適的分佈式文件系統中,應盡可能減少資料丟失的可能性。也就是說,由於系統的不可靠性,用戶不應感到被迫對其文件進行備份。相反,文件系統應該創建可以在原始文件丟失時使用的關鍵文件的備份副本。許多文件系統採用穩定存儲作為高可靠性策略。 - 資料完整性:
多個用戶經常共享一個文件系統。保存在共享文件中的資料的完整性必須由文件系統來保證。即,來自多個競爭訪問同一文件的用戶的並發訪問請求必須使用並發控制方法正確同步。原子事務是一種用於資料完整性的高級並發管理機制,它經常由文件系統提供給用戶。 - 安全性:
分佈式文件系統應該是安全的,以便其用戶可以相信他們的資料將被保密。為了保護文件系統中包含的信息免受不必要的和未經授權的訪問,必須實施安全機制。 - 異質性:
分佈式系統中的異質性由於規模龐大而不可避免。異構分佈式系統的用戶可以選擇為不同目的使用多個計算機平台。
歷史 :
分佈式文件系統的伺服器組件最初是作為附加功能引入的。它被添加到 Windows NT 4.0 Server 並被稱為“DFS 4.1”。後來,它作為標準組件包含在所有版本的 Windows 2000 Server 中。客戶端支持已包含在 Windows NT 4.0 和更高版本的 Windows 中。
Linux 內核 2.6.14 及其之後的版本帶有一個稱為“cifs”的 SMB 客戶端 VFS,它支持 DFS。Mac OS X 10.7 (lion) 及更高版本支持 Mac OS X DFS。
應用:
- NFS –
NFS 代表網絡文件系統。它是一種客戶端-伺服器架構,允許計算機用戶遠程查看、存儲和更新文件。NFS 協議是網絡附加存儲 (NAS) 的幾個分佈式文件系統標準之一。 - CIFS –
CIFS 代表通用 Internet 文件系統。CIFS 是 SMB 的口音。也就是說,CIFS 是一個 SIMB 協議的應用程式,由微軟設計。 - SMB –
SMB 代表伺服器消息塊。它是一種共享文件的協議,由 IMB 發明。創建 SMB 協議是為了允許計算機通過局域網 (LAN) 對遠程主機執行文件讀取和寫入操作。遠程主機中的目錄可以通過 SMB 訪問,稱為“共享”。 - Hadoop –
Hadoop 是一組開源軟件服務。它為使用 MapReduce 編程模型對大資料進行分佈式存儲和操作提供了一個軟件框架。Hadoop 的核心包含一個存儲部分,稱為 Hadoop 分佈式文件系統 (HDFS),以及一個操作部分,即 MapReduce 編程模型。 - NetWare –
NetWare 是由 Novell, Inc 開發的廢棄計算機網絡操作系統。它主要使用組合多任務處理在個人計算機上運行不同的服務,使用 IPX 網絡協議。
DFS的工作:
DFS有兩種實現方式:
- 獨立 DFS 命名空間 -
它僅允許存在於本地計算機上且未使用 Active Directory 的那些 DFS 根。只能在創建它的計算機上獲取獨立 DFS。它不提供任何故障釋放,並且不能鏈接到任何其他 DFS。獨立的 DFS 根很少遇到,因為它們的優勢有限。 - 基於域的 DFS 命名空間——
它將 DFS 的配置存儲在 Active Directory 中,創建可在\\\ 或\\ \ 訪問的 DFS 命名空間根
優點 :
- DFS 允許多個用戶訪問或存儲資料。
- 它允許遠程共享資料。
- 它提高了文件的可用性、訪問時間和網絡效率。
- 提高了改變資料大小的能力,也提高了交換資料的能力。
- 即使伺服器或硬碟出現故障,分佈式文件系統也能提供資料透明性。
缺點:
- 在分佈式文件系統中,節點和連接需要得到保護,因此我們可以說安全受到威脅。
- 從一個節點移動到另一個節點時,網絡中的消息和資料可能會丟失。
- 分佈式文件系統的資料庫連接很複雜。
- 與單用戶系統相比,在分佈式文件系統中處理資料庫也不容易。
- 如果所有節點都嘗試一次發送資料,則可能會發生過載。