GlusterFS 簡介
GlusterFS概述
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 兼容的方式來訪問系統數據。
GlusterFS創建術語
- Brick: 最基本的存儲單元,表示爲trusted storage pool中輸出的目錄,供客戶端掛載用。
- Volume: 一個卷。在邏輯上由N個bricks組成.
- FUSE: Unix-like OS上的可動態加載的模塊,允許用戶不用修改內核即可創建自己的文件系統。
- Glusterd: Gluster management daemon,要在trusted storage pool中所有的服務器上運行。
- POSIX: 一個標準,GlusterFS兼容。
GlusterFS卷類型
爲了滿足不同應用對高性能、高可用的需求,GlusterFS 支持 7 種卷,即 distribute
卷、stripe
卷、replica
卷、distribute stripe
卷、distribute replica
卷、stripe Replica
卷、distribute stripe replica
卷。其實不難看出,GlusterFS 卷類型實際上可以分爲 3 種基本卷和 4 種複合卷,每種類型的卷都有其自身的特點和適用場景。
基本卷
1, distribute volume分佈式卷(類似raid 0但是數據不分片)默認
基於Hash算法將文件分佈到所有的brick server
上,只是單純的擴大了磁盤空間,不具備冗餘能力,數據丟了就丟了,由於distribute volume
使用本地文件系統,因此存取效率並沒有提高,相反會應爲中間又加上了一層網絡傳輸,效率反而降低了.另外本地存儲設備的容量有限制,因此支持超大型文件會有一定的難度
2, stripe volume 條帶卷(類似raid 0)
類似Raid 0,文件分成數據塊以Round Robin(循環)方式分佈到brick server
上,併發粒度是數據塊,支持超大文件,大文件的讀寫性能高(因爲他是分塊存儲,可以同時多個磁盤寫入)
3, replica volume 複製卷(類似Raid 1)
類似於Raid1,文件同步的複製到多個brick上,具有容錯能力,寫性能下降,讀性能提升(待測),Replicated模式,也稱作AFR(Auto File Replicated),同一個文件在多個鏡像存儲節點上保存多份,每個節點上都具有想用的目錄結構和文件.replica volume是容器存儲中較爲推崇的一種.
複合卷
distribute stripe volume分佈式條帶卷
先組成條帶式在組成分佈式,集羣節點最少4個節點,Brick server 數量是條帶數的倍數,分佈式的條帶卷,volume和brick所包含的存儲服務器必須是stripe的倍數,同時擁有分佈式和條帶式的功能.文件分佈在四臺文件存儲服務器上, 創建卷的時候相鄰的兩個會組成條帶,然後在組成分佈式
distribute replica volume 分佈式複製卷
Brick server是鏡像數的倍數,先組合分佈式在組合成複製卷,也是最少需要4臺服務器,這個多少組成分佈和多少個副本數是自己創建的時候定義的,在後面會介紹到
stripe replica volume 條帶複製卷
先組合成條帶式在組合成複製卷,先把數據分塊存放,然後在完整複製,類似 RAID 10,同時具有條帶卷和複製卷的特點
distribute stripe replica volume 分佈式條帶複製卷
三種基礎卷的合體
GlusterFS客戶端常用命令
命令 | 功能 |
---|---|
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/