導航:首頁 > 文件教程 > 分布式文件系統推薦

分布式文件系統推薦

發布時間:2023-01-16 20:22:48

linux下常用的分布式文件系統有哪些

Lustre是HP,Intel,Cluster File System公司聯合美國能源部開發的Linux集群並行文件系統,名稱來源於Linux和Clusters。同時Lustre也是一個遵循GPL許可協議的開源軟體,Lustre也被稱為平行分布式文件系統,常用於大型計算機集群和超級電腦中。

Lustre的主要組建包括:元數據伺服器(Metadataservers, MDSs)、對象存儲伺服器(objectstorage servers, OSSs)和客戶端。其中MDSs提供元數據服務,MGS管理伺服器提供Lustre文件系統配置信息,OSS對象存儲伺服器expose塊設備提供數據。

Lustre文件系統針對大文件讀寫進行了優化,能夠提高性能的IO能力;在源數據獨立存儲、服務和網路失效的快速恢復、基於意圖的分布式鎖管理和系統可快速配置方面優異。

分布式存儲的關鍵技術主要包括:全局名字空間、緩存一致性、安全性、可用性和可擴展性。從數據形態來劃分,主要有:結構化數據、非機構化數據和半結構化數據。

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。

Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。

⑵ Gluster Fs(一)基礎知識介紹

分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源並不直接與本地節點相連,而是分布於計算網路中的一個或者多個節點的計算機上。目前意義上的分布式文件系統大多都是由多個節點計算機構成,結構上是典型的客戶機/伺服器模式。流行的模式是當客戶機需要存儲數據時,伺服器指引其將數據分散的存儲到多個存儲節點上,以提供更快的速度,更大的容量及更好的冗餘特性。

GlusterFS系統是一個可擴展的網路文件系統,相比其他分布式文件系統,GlusterFS具有高擴展性、高可用性、高性能、可橫向擴展等特點,並且其沒有元數據伺服器的設計,讓整個服務沒有單點故障的隱患。

元數據是用來描述一個文件或給定區塊在分布式文件系統中所在的位置,簡而言之就是某個文件或某個區塊存儲的位置。傳統分布式文件系統大都會設置元數據伺服器或者功能相近的管理伺服器,主要作用就是用來管理文件與數據區塊之間的存儲位置關系。相較其他分布式文件系統而言,GlusterFS並沒有集中或者分布式的元數據的概念,取而代之的是彈性哈希演算法。集群中的任何伺服器和客戶端都可以利用哈希演算法、路徑及文件名進行計算,就可以對數據進行定位,並執行讀寫訪問操作。

這種設計帶來的好處是極大的提高了擴展性,同時也提高了系統的性能和可靠性;另一顯著的特點是如果給定確定的文件名,查找文件位置會非常快。但是如果要列出文件或者目錄,性能會大幅下降,因為列出文件或者目錄時,需要查詢所在節點並對各節點中的信息進行聚合。此時有元數據服務的分布式文件系統的查詢效率反而會提高許多。

主要應用在集群系統中,具有很好的可擴展性。軟體的結構設計良好,易於擴展和配置,通過各個模塊的靈活搭配以得到針對性的解決方案。可解決以下問題:網路存儲,聯合存儲(融合多個節點上的存儲空間),冗餘備份,大文件的負載均衡(分塊)。由於缺乏一些關鍵特性,可靠性也未經過長時間考驗,還不適合應用於需要提供 24 小時不間斷服務的產品環境。目前適合應用於大數據量的離線應用。
由於它良好的軟體設計,以及由專門的公司負責開發,進展非常迅速,幾個月或者一年後將會有很大的改進,非常值得期待。
GlusterFS通過Infiniband RDMA 或者Tcp/Ip 方式將許多廉價的x86 主機,通過網路互聯成一個並行的網路文件系統

又稱其為哈希卷,近似於RAID0,文件沒有分片,文件根據hash演算法寫入各個節點的硬碟上,優點是容量大,缺點是沒數據冗餘即可靠性無法保障。

創建分布式卷指令如下:

復制卷設定復制的份數,決定集群的大小,通常與分布式卷或者條帶卷組合使用,解決前兩種存儲卷的冗餘缺陷。缺點是磁碟利用率低。

復本卷在創建時可指定復本的數量,通常為2或者3,復本在存儲時會在卷的不同brick上,因此有幾個復本就必須提供至少多個brick,當其中一台伺服器岩機後,可以從另一台伺服器讀取數據,因此復制卷提高了數據可靠性的同時,還提供了數據冗餘的功能。

創建分布式卷指令如下:

分布式復制GlusterFS卷結合了分布式和復制Gluster卷的特點。

創建分布式卷指令如下:

文件是分片均勻寫在各個節點的硬碟上的,優點是分布式讀寫,性能整體較好。缺點是沒冗餘,分片隨機讀寫可能會導致硬碟IOPS飽和。

創建分布式卷指令如下:

當單個文件的體型十分巨大,客戶端數量更多時,條帶卷已經無法滿足需求,此時將分布式與條帶化結合起來是一個比較好的選擇。其性能與伺服器數量有關。

創建分布式卷指令如下:

⑶ 各位使用的分布式文件存儲,有哪些產品使用體驗更好一些

我覺得XSKY星辰天合的XGFS文件存儲軟體不錯,這個軟體只需要三個全快閃記憶體元數據高可用節點,就可以高效保存和處理 100 億文件規模的數據。可以靈活擴展,滿足公司不斷增長的業務對性能和容量的需求。

⑷ 使用MongoDB 的兄弟,有沒有採用 GridFS 做分布式文件系統的

gridfs是襲mongodb為了解決單個document不能超過4M的問題而推出的,通過將文件進行切分(默認256k,最大4M)存成單獨的document(fs.chunks中),並保存一個文件索引表(fs.files)。
從原理上可以看出,如果你的文件並不大,不超過4M(當然,還要減去一些元數據的佔用),那麼大可不必採用gridfs,使用傳統的collection會得到更高的性能。

⑸ 小文件讀寫的分布式文件系統哪些

分布式文件系統、集群文件系統、並行文件系統,這三種概念很容易混淆,實際中大家也經常不加區分地使用。總是有人問起這三者的區別和聯系,其實它們之間在概念上的確有交叉重疊的地方,但是也存在顯著不同之處。 分布式文件系統 自然地,「分布式」是重點,它是相對與本地文件系統而言的。分布式文件系統通常指C/S架構或網路文件系統,用戶數據沒有直接連接到本地主機,而是存儲在遠程存儲伺服器上。NFS/CIFS是最為常見的分布式文件系統,這就是我們說的NAS系統。分布式文件系統中,存儲伺服器的節點數可能是1個(如傳統NAS),也可以有多個(如集群NAS)。對於單個節點的分布式文件系統來說,存在單點故障和性能瓶頸問題。除了NAS以外,典型的分布式文件系統還有AFS,以及下面將要介紹的集群文件系統(如Lustre, GlusterFS, PVFS2等)。 集群文件系統 「集群」主要分為高性能集群HPC(High Performance Cluster)、高可用集群HAC(High Availablity Cluster)和負載均衡集群LBC(Load Balancing Cluster)。集群文件系統是指協同多個節點提供高性能、高可用或負載均衡的文件系統,它是分布式文件系統的一個子集,消除了單點故障和性能瓶問題。對於客戶端來說集群是透明的,它看到是一個單一的全局命名空間,用戶文件訪問請求被分散到所有集群上進行處理。此外,可擴展性(包括Scale-Up和Scale-Out)、可靠性、易管理等也是集群文件系統追求的目標。在元數據管理方面,可以採用專用的伺服器,也可以採用伺服器集群,或者採用完全對等分布的無專用元數據伺服器架構。目前典型的集群文件系統有SONAS, ISILON, IBRIX, NetAPP-GX, Lustre, PVFS2, GlusterFS, Google File System, LoongStore, CZSS等。 並行文件系統 這種文件系統能夠支持並行應用,比如MPI。在並行文件系統環境下,所有客戶端可以在同一時間並發讀寫同一個文件。並發讀,大部分文件系統都能夠實現。並發寫實現起來要復雜許多,既要保證數據一致性,又要最大限度提高並行性,因此在鎖機制方面需要特別設計,如細粒度的位元組鎖。通常SAN共享文件系統都是並行文件系統,如GPFS、StorNext、GFS、BWFS,集群文件系統大多也是並行文件系統,如Lustre, Panasas等。 如何區分? 區分這三者的重點是「分布式」、「集群」、「並行」三個前綴關鍵字。簡單來說,非本地直連的、通過網路連接的,這種為分布式文件系統;分布式文件系統中,伺服器節點由多個組成的,這種為集群文件系統;支持並行應用(如MPI)的,這種為並行文件系統。在上面所舉的例子中也可以看出,這三個概念之間具有重疊之處,比如Lustre,它既是分布式文件系統,也是集群和並行文件系統。但是,它們也有不同之處。集群文件系統是分布式文件系統,但反之則不成立,比如NAS、AFS。SAN文件系統是並行文件系統,但可能不是集群文件系統,如StorNext。GFS、HDFS之類,它們是集群文件系統,但可能不是並行文件系統。實際中,三者概念搞理清後,分析清楚文件系統的特徵,應該還是容易正確地為其劃分類別的。

⑹ 2-HDFS(分布式文件系統)

文件系統命令語法詳見PPT描述。有hadoop fs和hdfs dfs兩種命令,hadoop fs使用廣泛,除了可以操作Hdfs還可以操作本地文件系統。hdfs dfs則只能操作hdfs文件系統。
因為要操作HDFS,所以需要使用URI來定位HDFS位置。URI的具體格式見PPT中描述。如果配置了hdfs客戶端,則可以使用簡寫的形式,否則需使用全寫形式。

對hdfs的操作命令詳見PPT中所示。這些命令與shell操作本地文件系統是很相似的。只是多了hadoop fs或hdfs dfs這樣的「前綴」。

⑺ 分布式文件系統有哪些主要的類別

1、單機文件系復統
用於操作系統和應用製程序的本地存儲。

2、網路文件系統(簡稱:NAS)
基於現有乙太網架構,實現不同伺服器之間傳統文件系統數據共享。

3、集群文件系統
在共享存儲基礎上,通過集群鎖,實現不同伺服器能夠共用一個傳統文件系統。

4、分布式文件系統
在傳統文件系統上,通過額外模塊實現數據跨伺服器分布,並且自身集成raid保護功能,可以保證多台伺服器同時訪問、修改同一個文件系統。性能優越,擴展性很好,成本低廉。

⑻ 基於mogileFS搭建分布式文件系統--海量小文件的存儲利器

1.簡介

分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網路與節點相連。分布式文件系統的設計基於客戶機/伺服器模式。一個典型的網路可能包括多個供多用戶訪問的伺服器。另外,對等特性允許一些系統扮演客戶機和伺服器的雙重角色。例如,用戶可以「發表」一個允許其他客戶機訪問的目錄,一旦被訪問,這個目錄對客戶機來說就像使用本地驅動器一樣。

當下我們處在一個互聯網飛速發展的信息 社會 ,在海量並發連接的驅動下每天所產生的數據量必然以幾何方式增長,隨著信息連接方式日益多樣化,數據存儲的結構也隨著發生了變化。在這樣的壓力下使得人們不得不重新審視大量數據的存儲所帶來的挑戰,例如:數據採集、數據存儲、數據搜索、數據共享、數據傳輸、數據分析、數據可視化等一系列問題。

傳統存儲在面對海量數據存儲表現出的力不從心已經是不爭的事實,例如:縱向擴展受陣列空間限制、橫向擴展受交換設備限制、節點受文件系統限制。

然而分布式存儲的出現在一定程度上有效的緩解了這一問題,之所以稱之為緩解是因為分布式存儲在面對海量數據存儲時也並非十全十美毫無壓力,依然存在的難點與挑戰例如:節點間通信、數據存儲、數據空間平衡、容錯、文件系統支持等一系列問題仍處在不斷摸索和完善中。

2.分布式文件系統的一些解決方案

Google Filesystem適合存儲海量大個文件,元數據存儲與內存中

HDFS(Hadoop Filesystem)GFS的山寨版,適合存儲大量大個文件

TFS(Taobao Filesystem)淘寶的文件系統,在名稱節點上將元數據存儲與關系資料庫中,文件數量不在受限於名稱節點的內容空間,可以存儲海量小文件LustreOracle開發的企業級分布式系統,較重量級MooseFS基於FUSE的格式,可以進行掛載使用MogileFS

擅長存儲海量的小數據,元數據存儲與關系型資料庫中

1.簡介

MogileFS是一個開源的分布式文件系統,用於組建分布式文件集群,由LiveJournal旗下DangaInteractive公司開發,Danga團隊開發了包括 Memcached、MogileFS、Perlbal等不錯的開源項目:(註:Perlbal是一個強大的Perl寫的反向代理伺服器)。MogileFS是一個開源的分布式文件系統。

目前使用 MogileFS 的公司非常多,比如國外的一些公司,日本前幾名的公司基本都在使用這個.

國內所知道的使用 MogileFS 的公司有圖片託管網站 yupoo又拍,digg, 土豆, 豆瓣,1 號店, 大眾點評,搜狗,安居客等等網站.基本很多網站容量,圖片都超過 30T 以上。

2.MogileFS特性

1) 應用層提供服務,不需要使用核心組件

2)無單點失敗,主要有三個組件組成,分為tracker(跟蹤節點)、mogstore(存儲節點)、database(資料庫節點)

3)自動復制文件,復制文件的最小單位不是文件,而是class

4)傳輸中立,無特殊協議,可以通過NFS或HTTP實現通信

5)簡單的命名空間:沒有目錄,直接存在與存儲空間上,通過域來實現

6)不用共享任何數據

3.MogileFS的組成

1)Tracker--跟蹤器,調度器

MogileFS的核心,是一個調度器,mogilefsd進程就是trackers進程程序,trackers的主要職責有:刪除數據、復制數據、監控、查詢等等.這個是基於事件的( event-based ) 父進程/消息匯流排來管理所有來之於客戶端應用的交互(requesting operations to be performed), 包括將請求負載平衡到多個"query workers"中,然後讓 mogilefs的子進程去處理.

mogadm,mogtool的所有操作都要跟trackers打交道,Client的一些操作也需要定義好trackers,因此最好同時運行多個trackers來做負載均衡.trackers也可以只運行在一台機器上,使用負載均衡時可以使用搞一些簡單的負載均衡解決方案,如haproxy,lvs,nginx等,

tarcker的配置文件為/etc/mogilefs/mogilefsd.conf,監聽在TCP的7001埠

2)Database--資料庫部分

主要用來存儲mogilefs的元數據,所有的元數據都存儲在資料庫中,因此,這個數據相當重要,如果資料庫掛掉,所有的數據都不能用於訪問,因此,建議應該對資料庫做高可用

3)mogstored--存儲節點

數據存儲的位置,通常是一個HTTP(webDAV)伺服器,用來做數據的創建、刪除、獲取,任何 WebDAV 伺服器都可以, 不過推薦使用 mogstored . mogilefsd可以配置到兩個機器上使用不同埠… mogstored 來進行所有的 DAV 操作和流量,IO監測, 並且你自己選擇的HTTP伺服器(默認為 perlbal)用來做 GET 操作給客戶端提供文件.

典型的應用是一個掛載點有一個大容量的SATA磁碟. 只要配置完配置文件後mogstored程序的啟動將會使本機成為一個存儲節點.當然還需要mogadm這個工具增加這台機器到Cluster中.

配置文件為/etc/mogilefs/mogstored.conf,監聽在TCP的7500埠

4.基本工作流程

應用程序請求打開一個文件 (通過RPC 通知到 tracker, 找到一個可用的機器). 做一個 「create_open」 請求.

tracker 做一些負載均衡(load balancing)處理,決定應該去哪兒,然後給應用程序一些可能用的位置。

應用程序寫到其中的一個位置去 (如果寫失敗,他會重新嘗試並寫到另外一個位置去).

應用程序 (client) 通過」create_close」 告訴tracker文件寫到哪裡去了.

tracker 將該名稱和域命的名空間關聯 (通過資料庫來做的)

tracker, 在後台, 開始復制文件,知道他滿足該文件類別設定的復制規則

然後,應用程序通過 「get_paths」 請求 domain+key (key == 「filename」) 文件, tracker基於每一位置的I/O繁忙情況回復(在內部經過 database/memcache/etc 等的一些抉擇處理), 該文件可用的完整 URLs地址列表.

應用程序然後按順序嘗試這些URL地址. (tracker』持續監測主機和設備的狀態,因此不會返回死連接,默認情況下他對返回列表中的第一個元素做雙重檢查,除非你不要他這么做..)

1.拓撲圖

說明:1.用戶通過URL訪問前端的nginx

2.nginx根據特定的挑選演算法,挑選出後端一台tracker來響應nginx請求

3.tracker通過查找database資料庫,獲取到要訪問的URL的值,並返回給nginx

4.nginx通過返回的值及某種挑選演算法挑選一台mogstored發起請求

5.mogstored將結果返回給nginx

6.nginx構建響應報文返回給客戶端

2.ip規劃

角色運行軟體ip地址反向代理nginx192.168.1.201存儲節點與調度節點1

mogilefs192.168.1.202存儲節點與調度節點2

mogilefs192.168.1.203資料庫節點

MariaDB192.168.1.204

3.資料庫的安裝操作並為授權

關於資料庫的編譯安裝,請參照本人相關博文http://wangfeng7399.blog.51cto.com/3518031/1393146,本處將不再累贅,本處使用的為yum源的安裝方式安裝mysql

4.安裝mogilefs. 安裝mogilefs,可以使用yum安裝,也可以使用編譯安裝,本處通過yum安裝

5.初始化資料庫

可以看到在資料庫中創建了一些表

6.修改配置文件,啟動服務

7.配置mogilefs

添加存儲主機

添加存儲設備

添加域

添加class

8.配置192.168.1.203的mogilefs 。切記不要初始化資料庫,配置應該與192.168.1.202一樣

9.嘗試上傳數據,獲取數據,客戶端讀取數據

上傳數據,在任何一個節點上傳都可以

獲取數據

客戶端查看數據

我們可以通過任何一個節點查看到數據

要想nginx能夠實現對後端trucker的反向代理,必須結合第三方模塊來實現

1.編譯安裝nginx

2.准備啟動腳本

3.nginx與mofilefs互聯

查看效果

5.配置後端truckers的集群

查看效果

大功告成了,後續思路,前段的nginx和資料庫都存在單點故障,可以實現高可用集群

⑼ 在大數量級的數據存儲上,比較靠譜的分布式文件存儲有哪些

一、 Ceph

Ceph最早起源於Sage就讀博士期間的工作、成果於2004年發表,並隨後貢獻給開源社區。經過多年的發展之後,已得到眾多雲計算和存儲廠商的支持,成為應用最廣泛的開源分布式存儲平台。
二、 GFS

GFS是google的分布式文件存儲系統,是專為存儲海量搜索數據而設計的,2003年提出,是閉源的分布式文件系統。適用於大量的順序讀取和順序追加,如大文件的讀寫。注重大文件的持續穩定帶寬,而不是單次讀寫的延遲。
三、 HDFS

HDFS(Hadoop Distributed File System),是一個適合運行在通用硬體(commodity hardware)上的分布式文件系統,是Hadoop的核心子項目,是基於流數據模式訪問和處理超大文件的需求而開發的。該系統仿效了谷歌文件系統(GFS),是GFS的一個簡化和開源版本。

閱讀全文

與分布式文件系統推薦相關的資料

熱點內容
微信視頻不能轉發朋友圈 瀏覽:596
影視後期的app有哪些 瀏覽:956
電子保單數據出錯什麼意思 瀏覽:368
如何以文件下載音樂 瀏覽:438
計算機網路章節練習 瀏覽:999
單片機的外部中斷程序 瀏覽:48
表格批量更名找不到指定文件 瀏覽:869
js的elseif 瀏覽:584
3dmaxvray視頻教程 瀏覽:905
imgtool工具中文版 瀏覽:539
java幫助文件在哪裡 瀏覽:965
win10切換輸入語言 瀏覽:696
haier電視網路用不了怎麼辦 瀏覽:361
蘋果6手機id怎麼更改 瀏覽:179
米家掃地機器人下載什麼app 瀏覽:82
如何在編程貓代碼島20種樹 瀏覽:915
手機基礎信息存儲在哪個文件 瀏覽:726
如何查找手機備份文件 瀏覽:792
內存清理工具formac 瀏覽:323
iphone過濾騷擾電話 瀏覽:981

友情鏈接