基礎知識
什么是分布式文件系統
分布式文件系統 distributed file system 是指文件系統管理的物理存儲資源不一定直接鏈接在本地節點上,而是通過計算機網絡與節點相連
分布式文件系統的設計基於客戶機/服務器模式
一個典型的網絡可能包括多個供多用戶訪問的服務器
對等特性允許一些系統扮演客戶機和服務器的雙重角色
分布式文件系統的特點
分布式文件系統可以有效解決數據的存儲和管理難題
-將固定於某個地點的某個文件系統,擴展到任意多個地點/多個文件系統
-眾多的節點組成一個文件系統網絡
-每個節點可以分布在不同的地點,通過網絡進行節點間的通信和數據傳輸
-人們在使用分布式文件系統時,無需關心數據是存儲在哪個節點上、或者是從哪個節點獲取的,只需要像使用本地文件系統一樣管理和存儲文件系統中的數據
衡量分布式文件系統的劣勢
數據的存儲方式
--無論采取何種存儲方式,目的都是為了保證數據的存儲安全和方便獲取
數據的讀取速率
--包括響應用戶讀取數據文件的請求、定位數據文件所在的節點、讀取實際硬盤中數據文件的時間、不同節點間的數據傳輸時間以及一部分處理器的處理時間等
數據的安全機制
--采取冗余、備份、鏡像等方式
常用分布式文件系統
Lustre
--一個大規模的、安全可靠的,具備高可用性的集群文件系統,它是有SUN公司開發和維護
Hadoop
--不僅僅是一個用於存儲的分布式文件系統,而是設計用來在由通用計算設備組成的大型集群上執行分布式應用的框架
OpenAFS
--一套開放源代碼的分布式文件系統,允許系統之間通過局域網和廣域網來分享檔案和資源
googleFs
--一個可擴展分布式文件系統,用於大型的,分布式的,對大量數據進行訪問的應用
基礎架構
服務器角色
與單機的文件系統不同,分布式文件系統不是將這些數據放在一塊磁盤上,由上層操作系統來管理
數據存放在一個服務器集群上,由集群中的服務器,各盡其責,通力合作,提供整個文件系統的服務
重要服務器包括
--主控服務器
Master管理各個數據服務器收集他們的信息,了解所有數據服務器的生存現狀,然后給他們分配任務 ;
主控服務器上放着所有的文件目錄信息,要找一個文件,必須先訪問它
--數據服務器
存放數據的服務器;
設計為冗余名模式;
主要的工作模式就是定期向主控服務器匯報其狀況,然后等待並處理命令,更快更安全的存放好數據
數據分布
以塊的方式存儲
-把文件數據切成數據塊
-將數據塊存儲在數據服務器上
以獨立文件的方式存儲
-每台數據服務器存儲獨立的文件
-多台數據服務器存儲相同的文件,實現冗余及負載均衡