分布式檔案系統介紹

2021-07-09 07:33:13 字數 1703 閱讀 7512

分布式系統:分布式系統是指利用多台計算機協同解決單台計算機所不能解決的計算、儲存等問題。分布式系統分兩種:分布式儲存和分布式計算。分布式儲存主要有分布式檔案系統和分布式資料庫。分布式檔案系統主要是用於檔案儲存。網際網路上的所有資源,最終都會以檔案的形式存放在具體的物理機器的儲存裝置上。儲存、讀取和管理這些海量的檔案依靠單一的機器無疑是不行的,所以分布式檔案系統應運而生。

副本(replica):為資料提供冗餘,在不同的機器上,持久化儲存同乙份資料,當乙個機器上的資料丟失時,可以從其他副本上讀到資料。副本是解決資料丟失的唯一手段。

副本一致性:簡單的說,乙份資料有n個副本,要求這n個副本是一樣的,使用者無論讀到哪乙個副本,都是正確的資料。

最常見的就是雜湊方式。例如有3臺機器,以每個資料key做hash,將這些資料分布到這3臺機器上。考慮副本的情況,一般需要一組機器互為副本。

圖 1 雜湊方式

優點:簡單,基本上不需要儲存元資料。寫資料,只需要知道雜湊函式和機器數就可以選擇存放在某一台機器上。讀資料,根據key就可以輕易知道去哪台機器上讀取。

缺點:1)  擴充套件性不高,增加機器數量,需要重新hash,大量資料遷移。

2)不利於容錯。例如,需要3數台機器互為副本,當一台宕機後,另外兩台需要增加50%的壓力。

改進方法:

工程投影:

京東檔案系統(jfs),就是根據key雜湊的。

圖2 jfs系統結構圖

圖3 jfs key

圖2和圖3均來自於:

將資料的key按照範圍劃分成不同的區間,使得每一台(每一組)機器儲存不同區間的資料。

圖4 資料範圍分布

這種方式,每個資料區間的資料大小,跟區間大小沒有關係。存在資料傾斜問題:例如,server1上有10個檔案,每個檔案1g。而server2上的10個檔案,每個檔案大小是100m。解決這種負載不均的方法是動態劃分區間,當某個區間的資料量超過閾值時,**成兩個區間。

優點:靈活,可以根據資料量的具體情況拆分資料區間到其他機器上,負載均衡比較靈活。擴充套件性好,可以隨意新增機器。

缺點:需要專門的機器來處理記錄資料分布資訊的元資料。

工程投影:

這種方式因為與資料的key很相關,一般用在分布式資料庫比較多,比如bigtable。目前沒有發現用於分布式檔案系統的。

分布式檔案系統中常用的資料分布方式是按照資料量分布。與雜湊和按照範圍不同,資料量分布方式與資料的key無關。一般是將檔案分成若干chunk,chunk大小固定,然後將各個chunk分不到不同機器上。

這種方式的優點:

1)基本上沒有資料傾斜,資料總是被切分並分布到各個機器上,天然的儲存負載均衡。

2)擴充套件性強。新加機器,只需將部分資料遷移即可。

3)利於容錯,因為副本儲存可以隨機分布到不同的機器,不需要一組機器固定儲存同一批資料。所以一台機器宕機,壓力會分布到很多不同的機器上。

工程投影:gfs、kfs、qfs、hdfs。

分布式檔案系統Cept介紹

ceph a scalable distributed storage system linux持續不斷進軍可擴充套件計算空間,特別是可擴充套件儲存空間。ceph 最近加入到 linux 中令人印象深刻的檔案系統備選行列,它是乙個分布式檔案系統,能夠在維護 posix 相容性的同時加入了複製和容錯功...

分布式檔案系統ceph介紹

ceph哲學思想 1.每個元件必須支援擴充套件 2.不存在單點故障 3.解決方案必須是基於軟體的 開源的 適應能力強 4.任何可能的一切必須自我管理 存在的意義 幫助企業擺脫昂貴的專屬硬體 ceph目標 1.輕鬆擴充套件到pb級別 2.不同負荷下的高效能 3.高可靠 ceph使用場景 ceph 作為...

分布式檔案系統

分布式檔案系統 概述 系統管理員可以利用分布式檔案系統 dfs 使使用者訪問和管理那些物理上跨網路分布的檔案更加容易。通過 dfs,可以使分布在多個伺服器上的檔案在使用者面前顯示時,就如同位於網路上的乙個位置。使用者在訪問檔案時不再需要知道和指定它們的實際物理位置。例如,如果您的銷售資料分散在某個域...