GlusterFS分布式檔案系統原理

2022-09-08 02:03:12 字數 3852 閱讀 4193

glusterfs概述

glusterfs(gluster file system)是乙個開源的分布式檔案系統,主要由z research公司負責開發、是scale-out儲存解決方案gluster的核心,它是乙個開源的分布式檔案系統,在儲存方面具有強大的橫向擴充套件能力,通過擴充套件不同的節點可以支援數pb儲存容量和處理數幹臺客戶端。glusterfs借助tcp/ip或infiniband rdma網路將物理分布的儲存資源聚集在一起,使用單一全域性命名空間來管理資料。glusterfs基於可堆疊的使用者空間及無元的設計,可為各種不同的資料負載提供優異的效能。

glusterfs主要由儲存伺服器(block server)、客戶端及nfs/samba儲存閘道器(可選,根據需要選擇使用)組成,glustefs架構中最大的設計特點是沒有元資料伺服器元件,這有助於提公升整個系統的效能、可靠性和穩定性。

glusterfs主要特徵如下:

擴充套件性和高效能

高可用性

全域性統一命名空間

彈性雜湊演算法

彈性卷演算法

基於標準協議

glusterfs的卷型別:

glusterfs支援七種卷,分布式卷、條帶卷、複製卷、分布式條帶卷、分布式複製卷、條帶複製卷和分布式條帶複製卷,這七種卷可以滿足不同應用對高效能、高可用的需求。

1.分布式卷

分布式卷是glusterfs的預設卷,在建立卷時,預設選項是建立分布式卷。在該模式下,並沒有對檔案進行分塊處理,檔案直接儲存在某個server節點上。直接使用本地檔案系統進行檔案儲存,大部分linux命令和工具可以繼續正常使用。需要通過擴充套件檔案屬性儲存hash值,目前支援的底層檔案系統有ext3、ext4、zfs、xfs等。

由於使用本地檔案系統,所以訪問效率並沒有提高,反而會因為網路通訊的原因而有所降低;另外支援超大型檔案也會有一定的難度,因為分布式卷不會對檔案進行分塊處理。雖然ext4已經可以支援最大16tb的單個檔案,但是本地儲存裝置的容量實在有限。

分布式卷具有如下特點:

·檔案分布在不同的伺服器,不具備冗餘性。

·更容易且廉價地擴充套件卷的大小。

·單點故障會造成資料丟失。

·依賴底層的資料保護。

建立分布式卷:

#gluster volume create dis-volume serverl:/dirl server2:/dir2

creation of dis-volume has been successful

please start the volume to access data

上述命令建立了乙個名為dis-volume的分布式卷,檔案將根據hash分布在server1:/dir1、server2:/dir2和server3:/dir3中。

2.條帶卷

stripe模式相當raido,在該模式下,根據偏移量將檔案分成n塊(n個條帶節點),輪詢地儲存在每個brick server節點。節點把每個資料塊都作為普通檔案存入本地檔案系統中,通過擴充套件屬性記錄總塊數(stripe-count)和每塊的序號(stripe-index)。在配置時指定的條帶數必須等於卷中brick所包含的儲存伺服器數,在儲存大檔案時,效能尤為突出,但是不具備冗餘性。

條帶卷具有如下特點:

·資料被分割成更小塊分布到塊伺服器群中的不同條帶區。

·分布減少了負載且更小的檔案加速了訪問的速度。

·沒有資料冗餘。

建立條帶卷:

#gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

creation of stripe-volume has been successful

please start the volume to access data

上述命令建立了乙個名為stripe-volume的條帶卷,檔案將被分塊輪詢地儲存在server1:/dir1和server2:/dir2兩個brick中。

3.複製卷

複製模式,也稱為afr(autofile replication),相當於raid1,即同一檔案儲存乙份或多份副本,每個節點上儲存相同的內容和目錄結構。複製模式因為要儲存副本,所以磁碟利用率較低,如果多個節點上的儲存空間不一致,那麼將按照木桶效應取最低節點的容量作為該卷的總容量。在配置複製卷時,複製數必須等於卷中brick所包含的儲存伺服器數,複製卷具備冗餘性,即使乙個節點損壞,也不影響資料的正常使用。

複製卷具有如下特點:

·卷中所有的伺服器均儲存乙個完整的副本。·卷的副本數量可由客戶建立的時候決定。

·至少有兩個塊伺服器或更多伺服器。

·具備冗餘性。

建立複製卷:

#gluster volume create rep-volume replica 2 transport tcp server1:/dirl server2:/dir2

creation of rep-volume has been successful

please start the volume to access data

上述命令建立了乙個名為rep-volume的複製卷,檔案將同時儲存兩個副本,分別在server1:/dir1和server2:/dir2兩個brick中。

4.分布式條帶卷

分布式條帶卷兼顧分布式卷和條帶卷的功能,主要用於大檔案訪問處理,建立乙個分布式條帶卷最少需要4臺伺服器。

建立分布式條帶卷:

#gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3

server4:/dir4

creation of dis-stripe has been successful

please start the volume to access data

上述命令建立了乙個名為dis-stripe的分布式條帶卷,配置分布式條帶卷時,卷中brick所包含的儲存伺服器數必須是條帶數的倍數(≥2倍)。如上述命令中,brick的數量是4(server1:/dir1、server2:/dir2、server3:/dir3和server4:/dir4),條帶數為2(stripe2)。

5.分布式複製卷

分布式複製卷兼顧分布式卷和複製卷的功能,主要用於需要冗餘的情況下。

建立分布式複製卷:

#gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3

server4:/dir4

creation of dis-rep has been successful

please start the volume to access data

上述命令建立了乙個名為dis-rep的分布式複製卷,配置分布式複製卷時,卷中brick所包含的儲存伺服器數必須是條帶數的倍數(≥2倍)。如上述命令中,brick的數量是4(server1/dir1、server2:/dir2、server3:/dir3和server4:/dir4),複製數為2(replica2)。

GlusterFS分布式檔案部署

fuse安裝 yum install zlib devel util linux tar zxvf fuse 2.9.2.tar.gz cd fuse configure make make install export pkg config path usr local fuse lib pkgc...

GlusterFS 分布式檔案系統

官方文件 glusterfs是乙個開源的分布式檔案系統,是scale儲存的核心,能夠處理千數量級的客戶端。是整合了許多儲存塊 server 通過infiniband rdma或者 tcp ip方式互聯的乙個並行的網路檔案系統。特徵 一般在企業中,採用的是分布式複製卷,因為有資料備份,資料相對安全。網...

用glusterfs搭建分布式集群

在前面已經安裝好的glusterfs基礎上,用兩台虛擬機器test1,test2來分布式儲存測試,ip分別為 192.168.30.6,192.168.30.7 1.首先確保這兩台虛擬機器執行sudo etc init.d glusterd start啟動正常 2.用其中一台來執行gluster命令...