基本介紹
線上檔案系統是指用戶不受地域限制,可以通過網路登錄檔案系統,並進行檔案有關的操作。分散式檔案系統就是一種線上檔案系統。線上檔案系統一般使用 檔案傳輸協定( File Transfer Protocol, FTP)進行檔案傳送。
檔案系統
基本信息
作業系統中負責管理和存取檔案信息的軟體機構稱為檔案管理。檔案系統是指作業系統中與檔案管理有關的那部分軟體和被管理的檔案,以及實現管理所需要的一些數據結構的總體。從系統角度看,檔案系統是對檔案存儲空間進行組織、分配,並負責檔案的存儲、保護和檢索的系統。從用戶角度來看,檔案系統主要是實現“按名存取”,並向用戶提供簡便、統一的使用檔案的接口。
檔案功能
一個理想的檔案系統應具備以下功能。
(1)實現檔案的“按名存取”功能。也叫“透明存取”功能,即用戶不必了解檔案存放的物理結構、物理位置、查找方法、I/O實現細節等與外存存儲介質有關的物理特性,只要知道檔案名稱,給出有關操作要求便可存取信息。
(2)實現能夠快速定位檔案的目錄結構,如樹形目錄,考慮如何組織目錄檔案,即目錄項的設計和檔案控制塊的存儲組織方法,這也直接影響到檢索檔案的速度。
(3)向用戶提供一套使用方便.簡單的操作命令。主要有兩類命令,一是面向用戶編程的,由若干系統調用組成,如read()、write()分別是讀檔案和寫檔案命令:二是面向鍵盤的命令,供用戶在線上時或編寫Shell過程時或編寫作業說明書時使用。例如複製檔案的命令cp,查找檔案的命令find。
(4)管理磁碟、磁帶等組成的檔案存儲器。記錄哪些空間被占用,哪些空間空閒,以便用戶創建檔案時,為其分配空閒空間,修改或刪除檔案時,調整或收回相應的空間。
(5)實現邏輯檔案到物理檔案的轉換。同一個檔案有邏輯檔案和物理檔案兩個側面,從用戶觀點看到的檔案的組織形式是檔案的邏輯結構,在遵循檔案系統的規則的前提下用戶可以按自己的願望來定義檔案的邏輯結構,檔案在外存上的存放方式和組織形式是檔案的物理結構,檔案系統本身來說,必須採用特定的數據結構和有效算法,實現檔案的邏輯結構到物理結構的映射,實現對檔案存儲空間和用戶信息的管理,提供多種存取方法。
(6)保證檔案信息的安全可取。檔案系統必須防止對檔案信息的有意或無意的破壞或竊用。此外,檔案使用過程中如果出現故障,檔案系統可組織重執或恢復 。
(7)便於檔案的共享。檔案系統應提供多個用戶或進程以同名或異名共享同一個檔案,這樣,在系統中只得保留該已分享檔案的一個副本,節省了存儲空間,又減少了相互傳遞檔案的消耗。
傳輸協定
基本信息
件傳輸協定( File Transfer Protocol, FTP)是用於在網路上進行檔案傳輸的一套標準協定,使用客戶/伺服器模式。它屬於網路傳輸協定的套用層。我們要分清檔案傳送(file transfer)和檔案訪問(file access)之間的區別,前者是FTP提供的,後者是如NFS等套用系統提供的。
FTP是一個8位的客戶端-伺服器協定,能操作任何類型的檔案而不需要進一步處理,就像MIME或Unicode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。
實現目標
促進檔案的共享(電腦程式或數據)
鼓勵間接或者隱式的使用遠程計算機
向用戶禁止不同主機中各種檔案存儲系統(File system)的細節
可靠和高效的傳輸數據
1.促進檔案的共享(電腦程式或數據)
2.鼓勵間接或者隱式的使用遠程計算機
3.向用戶禁止不同主機中各種檔案存儲系統(File system)的細節
4.可靠和高效的傳輸數據
缺點
密碼和檔案內容都使用明文傳輸,可能發生竊聽。
因為必須開放一個隨機的連線埠以創建連線,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題,通過使用被動模式的FTP,得到了很大解決。
伺服器可能會被告知連線一個第三方計算機的保留連線埠。
此方式在需要傳輸檔案數量很多的小檔案時,性能不好
1.密碼和檔案內容都使用明文傳輸,可能發生竊聽。
2.因為必須開放一個隨機的連線埠以創建連線,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題,通過使用被動模式的FTP,得到了很大解決。
3.伺服器可能會被告知連線一個第三方計算機的保留連線埠。
4.此方式在需要傳輸檔案數量很多的小檔案時,性能不好
檔案系統
分散式
分散式檔案系統(Distributed File System)是指檔案系統管理的物理存儲資源不一定直接連線在本地節點上,而是通過計算機網路與節點相連。分散式檔案系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。
網路檔案
網路檔案系統(Network File System,縮寫為 NFS)是一種分散式檔案系統協定,最初由Sun Microsystems公司開發,並於1984年發布。其功能旨在允許客戶端主機可以像訪問本地存儲一樣通過網路訪問伺服器端檔案。
NFS和其他許多協定一樣,是基於開放網路運算遠程過程調用(ONC RPC)協定之上的。它是一個開放、標準的RFC協定,任何人或組織都可以依據標準實現它。
分布檔案
Hadoop分散式檔案系統(HDFS)被設計成適合運行在通用硬體(commodity hardware)上的分散式檔案系統。它和現有的分散式檔案系統有很多共同點。但同時,它和其他的分散式檔案系統的區別也是很明顯的。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的套用。HDFS放寬了一部分POSIX約束,來實現流式讀取檔案系統數據的目的。HDFS在最開始是作為Apache Nutch搜尋引擎項目的基礎架構而開發的。HDFS是Apache Hadoop Core項目的一部分。
HDFS有著高容錯性(fault-tolerant)的特點,並且設計用來部署在低廉的(low-cost)硬體上。而且它提供高吞吐量(high throughput)來訪問應用程式的數據,適合那些有著超大數據集(large data set)的應用程式。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以實現流的形式訪問(streaming access)檔案系統中的數據。