Glusterfs支援七種Volume,即Distribute卷、Stripe卷、Replica卷、Distribute stripe卷和Distribute replica卷,Distribute Stripe, Replica Volume卷這七種卷可以滿足不同應用對高性能、高可用的需求。
基本卷:
(1) distribute volume:分布式卷
(2) stripe volume:條帶卷
(3) replica volume:複制卷
複合卷:
(4) distribute stripe volume:分布式條帶卷
(5) distribute replica volume:分布式複制卷
(6) stripe replica volume:條帶複制卷
(7) distribute stripe replicavolume:分布式條帶複制卷
資料分布:
1、Distributed volume
2、Stripe volume
3、Replicated volume
4、distribute stripe volume
5、distribute replica volume
6、stripe replica volume
7、distribute stripe replica volume
檔案通過hash算法分布到所有brick server上,這種卷是glusterfs的基礎和最大特點;實隻是擴大的磁盤空間,如果有一個磁盤壞了,對應的資料也丢失,檔案級RAID 0,不具有容錯能力。
類似RAID0,檔案分成資料塊以Round Robin方式分布到brick server上,并發粒度是資料塊,支援超大檔案,大檔案性能高;
檔案同步複制到多個brick上,檔案級RAID 1,具有容錯能力,寫性能下降,讀性能提升。
brickserver數量是條帶數的倍數,兼具distribute和stripe卷的特點;
brickserver數量是鏡像數的倍數,兼具distribute和replica卷的特點,可以在2個或多個節點之間複制資料。
類似RAID 10
同時具有條帶卷和複制卷的特點
三種基本卷的複合卷
通常用于類Map Reduce應用
在該模式下,并沒有對檔案進行分塊處理,檔案直接存儲在某個server節點上。“沒有重新發明輪子”,這句話很好的概括了這種GlusterFS的設計思路。因為使用了已有的本地檔案系統進行存儲檔案,是以通用的很多linux指令和工具可以繼續正常使用。這使得GlusterFS可以在一個比較穩定的基礎上發展起來,也更容易為人們所接受。因為需要使用到擴充檔案屬性,是以其目前支援的底層檔案系統有:ext3、ext4、ZFS、XFS等。
由于使用本地檔案系統,一方面,存取效率并沒有什麼沒有提高,反而會因為網絡通信的原因而有所降低;另一方面,支援超大型檔案會有一定的難度。雖然ext4已經可以支援最大16T的單個檔案,但是本地儲存設備的容量實在有限。是以如果有大量的大檔案存儲需求,可以考慮使用Stripe模式來實作,如考慮建立專門存儲超大型檔案的stripe卷。
<a href="http://s4.51cto.com/wyfs02/M00/84/0A/wKioL1eEY-zQ8gnyAACEmdL2VbQ263.jpg" target="_blank"></a>
功能:
将檔案存放在伺服器裡,如上圖,File1和File2存放在server1,而File3存放在server2,檔案都是随機存儲
其實Stripe模式相當于raid0,在該模式下,系統隻是簡單地根據偏移量将檔案分成N塊(N個stripe節點時),然後發送到每個server節點。server節點把每一塊都作為普通檔案存入本地檔案系統中,并用擴充屬性記錄了總的塊數(stripe-count)和每一塊的序号(stripe-index)。stripe數必須等于volume中brick所包含的存儲伺服器數,檔案被分成資料塊,以Round Robin的方式存儲在bricks中,并發粒度是資料塊,大檔案性能好
将檔案存放在不同伺服器裡,如上圖,File被分割為6段,1、3、5放在server1,2、4、6放在server2
Replicated模式,也稱作AFR(AutoFile Replication),相當于raid1,即同一檔案在多個鏡像存儲節點上儲存多份,每個replicated子節點有着相同的目錄結構和檔案。replicated模式一般不會單獨使用,經常是以“Distribute+ Replicated”或“Stripe+ Replicated”的形式出現的。如果兩台機的存儲容量不同,那麼就如木桶效應,系統的存儲容量由容量小的機器決定。replica數必須等于volume中brick所包含的存儲伺服器數,可用性高。建立一個兩兩互為備份的卷,存儲池中一塊硬碟損壞,不會影響到資料的使用,最少需要兩台伺服器才能建立分布鏡像卷。
Replicated模式是在檔案的級别上進行的(相比較于HDFS),而且在建立卷volume時就确定每個server節點的職責,而且隻能人工的進行調整。這樣的話就相對的不靈活,如果一個節點A出了問題,就一定要用新的節點去替代A,否則就會出現一些問題隐患。
在Replicated模式下,每個檔案會有如下幾個擴充屬性:
讀寫資料時,具體的情況如下:
讀資料時:系統會将請求均衡負載到所有的鏡像存儲節點上,在檔案被通路時同時就會觸發self-heal機制,這時系統會檢測副本的一緻性(包括目錄、檔案内容、檔案屬性等)。若不一緻則會通過changelog找到正确版本,進而修複檔案或目錄屬性,以保證一緻性。
寫資料時:以第一台伺服器作為鎖伺服器,先鎖定目錄或檔案,寫changelog記錄該事件,再在每個鏡像節點上寫入資料,確定一緻性後,擦除changelog記錄,解開鎖。
如果互為鏡像的多個節點中有一個鏡像節點出現了問題,使用者的讀/寫請求都可以正常的進行,并不會受到影響。而問題節點被替換後,系統會自動在背景進行同步資料來保證副本的一緻性。但是系統并不會自動地需找另一個節點來替代它,而是需要通過人工新增節點來進行,是以管理者必須及時地去發現這些問題,不然可靠性就很難保證。
<a href="http://s1.51cto.com/wyfs02/M00/84/0A/wKioL1eEZF7iQ6m6AACBoE8TzkY456.jpg" target="_blank"></a>
将檔案存放在伺服器裡,如上圖,File1同時存在server1和server2,File2也是如此,相當于server2中的檔案是server1中檔案的副本。
分布式的條帶卷,volume中brick所包含的存儲伺服器數必須是stripe的倍數(>=2倍),兼顧分布式和條帶式的功能。每個檔案分布在四台共享伺服器上,通常用于大檔案通路處理,最少需要 4 台伺服器才能建立分布條帶卷。
<a href="http://s5.51cto.com/wyfs02/M01/84/0B/wKioL1eEZHmxC5PXAACeLmavQGg882.jpg" target="_blank"></a>
将檔案存到不同伺服器裡,如上圖,File被分割成4段,1、3在server1(exp1)中,2、4在server1(exp2)中。server2(exp3)1、3存放server1(exp1)中的備份檔案,server2(exp4)2、4存放server1(exp2)中的備份檔案。
分布式的複制卷,volume中brick所包含的存儲伺服器數必須是 replica 的倍數(>=2倍),兼顧分布式和複制式的功能。
<a href="http://s4.51cto.com/wyfs02/M01/84/0B/wKiom1eEZJaDHHmmAACc4gnOt1E058.jpg" target="_blank"></a>
将檔案備份随機存放在伺服器裡,如上圖,server1(exp1)存放File1檔案,Server1(exp2)存放File2檔案。server2(exp3)存放File1的備份檔案,server2(exp4)存放File2的備份檔案。
<a href="http://s5.51cto.com/wyfs02/M02/84/0B/wKioL1eEZMTAwtzeAADsU0C0Ra8004.png" target="_blank"></a>
将檔案分割并備份随機存放在不同的伺服器裡,如上圖,File被分割4段,1、3存放在server1(exp1)上,2、4存放在server2(exp4),server1上的(exp3)存放server2(exp4)的備份檔案,server2上的(exp2)存放server1(exp1)的備份檔案。
分布式條帶複制卷分布條帶資料在複制卷叢集。為了獲得最佳效果,你應該使用分布在高并發的條帶複制卷環境下并行通路非常大的檔案和性能是至關重要的。
<a href="http://s1.51cto.com/wyfs02/M01/84/0B/wKiom1eEZOHwyXzWAAEMBq77dL0530.png" target="_blank"></a>
将檔案分割并備份随機存放在不同伺服器裡,如上圖,File被分割成4段,1、3存放在server1(exp1)中,2、4存放在server2(exp3)中。server1(exp2)存放server1(exp1)的備份檔案,server2(exp4)存放server2(exp3)的備份檔案。
本文轉自Jacken_yang 51CTO部落格,原文連結:http://blog.51cto.com/linuxnote/1825665,如需轉載請自行聯系原作者