GlusterFS (Gluster File System) 是一個開源的分佈式文件系統,主要由 Z RESEARCH 公司負責開發。GlusterFS 是 Scale-Out 存儲解決方案 Gluster 的核心,具備強大的橫向擴展能力,經過擴展可以支持數PB存儲容量和處理數千客戶端。GlusterFS 藉助 TCP/IP 或 InfiniBand RDMA 網絡將物理分佈的存儲資源彙集在一塊兒,使用單一全局命名空間來管理數據。GlusterFS 基於可堆疊的用戶空間設計,可爲各類不一樣的數據負載提供優異的性能。算法
GlusterFS 整體架構與組成部分如圖1所示,它主要由存儲服務器(Brick Server)、客戶端以及 NFS/Samba 存儲網關組成。不難發現,GlusterFS 架構中沒有元數據服務器組件,這是其最大的設計這點,對於提高整個系統的性能、可靠性和穩定性都有着決定性的意義。緩存
GlusterFS 支持 TCP/IP 和 InfiniBand RDMA 高速網絡互聯。
客戶端可經過原生 GlusterFS 協議訪問數據,其餘沒有運行 GlusterFS 客戶端的終端可經過 NFS/CIFS 標準協議經過存儲網關訪問數據(存儲網關提供彈性卷管理和訪問代理功能)。
存儲服務器主要提供基本的數據存儲功能,客戶端彌補了沒有元數據服務器的問題,承擔了更多的功能,包括數據卷管理、I/O 調度、文件定位、數據緩存等功能,利用 FUSE(File system in User Space)模塊將 GlusterFS 掛載到本地文件系統之上,實現 POSIX 兼容的方式來訪問系統數據。bash
爲了知足不一樣應用對高性能、高可用的需求,GlusterFS 支持 7 種卷,即 distribute
卷、stripe
卷、replica
卷、distribute stripe
卷、distribute replica
卷、stripe Replica
卷、distribute stripe replica
卷。其實不難看出,GlusterFS 卷類型實際上能夠分爲 3 種基本卷和 4 種複合卷,每種類型的卷都有其自身的特色和適用場景。服務器
基於Hash算法將文件分佈到全部的brick server
上,只是單純的擴大了磁盤空間,不具有冗餘能力,數據丟了就丟了,因爲distribute volume
使用本地文件系統,所以存取效率並無提升,相反會應爲中間又加上了一層網絡傳輸,效率反而下降了.另外本地存儲設備的容量有限制,所以支持超大型文件會有必定的難度網絡
相似Raid 0,文件分紅數據塊以Round Robin(循環)方式分佈到brick server
上,併發粒度是數據塊,支持超大文件,大文件的讀寫性能高(由於他是分塊存儲,能夠同時多個磁盤寫入)架構
相似於Raid1,文件同步的複製到多個brick上,具備容錯能力,寫性能降低,讀性能提高(待測),Replicated模式,也稱做AFR(Auto File Replicated),同一個文件在多個鏡像存儲節點上保存多份,每一個節點上都具備想用的目錄結構和文件.replica volume是容器存儲中較爲推崇的一種.併發
先組成條帶式在組成分佈式,集羣節點最少4個節點,Brick server 數量是條帶數的倍數,分佈式的條帶卷,volume和brick所包含的存儲服務器必須是stripe的倍數,同時擁有分佈式和條帶式的功能.文件分佈在四臺文件存儲服務器上, 建立卷的時候相鄰的兩個會組成條帶,而後在組成分佈式分佈式
Brick server是鏡像數的倍數,先組合分佈式在組合成複製卷,也是最少須要4臺服務器,這個多少組成分佈和多少個副本數是本身建立的時候定義的,在後面會介紹到ide
先組合成條帶式在組合成複製卷,先把數據分塊存放,而後在完整複製,相似 RAID 10,同時具備條帶卷和複製卷的特色性能
三種基礎卷的合體
命令 | 功能 |
---|---|
gluster peer probe | 添加節點 |
gluster peer detach | 移除節點 |
gluster volume create | 建立卷 |
gluster volume start $VOLUME_NAME | 啓動卷 |
gluster volume stop $VOLUME_NAME | 中止卷 |
gluster volume delete $VOlUME_NAME | 刪除卷 |
gluster volume quota enable | 開啓卷配額 |
gluster volume quota disable | 關閉卷配額 |
gluster volume quota limitusage | 設定卷配額 |
參考文檔:
https://docs.gluster.org/en/latest/Quick-Start-Guide/Architecture/