Gluster File System 是一款自由軟件,主要由Z RESEARCH 公司負責開發,十幾名開發者,最近非常活躍。文檔也比較齊全,不難上手。Gluster是由GNU托管的自由軟件,許可證是AGPL。Gluster公司,是Gluster的首要商業贊助商,且提供商業產品以及基于Gluster的解決方案。
主要應用
主要應用在集群系統中,具有很好的可擴展性。軟件的結構設計良好,易于擴展和配置,通過各個模塊的靈活搭配以得到針對性的解決方案??山鉀Q以下問題:網絡存儲,聯合存儲(融合多個節點上的存儲空間),冗余備份,大文件的負載均衡(分塊)。由于缺乏一些關鍵特性,可靠性也未經過長時間考驗,還不適合應用于需要提供 24 小時不間斷服務的產品環境。目前適合應用于大數據量的離線應用。由于它良好的軟件設計,以及由專門的公司負責開發,進展非常迅速,幾個月或者一年后將會有很大的改進,非常值得期待。GlusterFS通過Infiniband RDMA 或者Tcp/Ip 方式將許多廉價的x86 主機,通過網絡互聯成一個并行的網絡文件系統。它有包括云計算在內的多重應用,諸如:生物信息學,文檔存儲。
設計
Gluster是Client/Server架構。服務器典型的布置在存儲卷上,每一臺服務器運行一個名為glusterfsd 的守護進程,將本地文件系統作為卷進行輸出。Gluster的客戶端進程通過TCP/IP,InfiniBand或SDP一類客戶協議連接到服務器,將遠端卷組成一個大的所謂折疊式翻譯器。最終的卷通過一種叫做FUSE的用戶空間文件機制機載到客戶機。有大量文件應用的I/O同樣可以用libglusterfs 客戶端庫來直接連接服務器并內在的運行翻譯器,而無需經過文件系統以及FUSE。大多數GlusterFS功能被實現為翻譯器,包括了基于文件的鏡像與賦值技術、基于文件的數據存儲計算領域的數據帶技術、基于文件的負載平衡技術、卷的雙機備份技術、磁盤高速緩存技術以及排產。Gluster的設計遵循奧卡姆剃刀原則的簡單性:盡管它導出一已存在,但是構建存儲的決定權在于客戶端翻譯器。客戶端自身都是沒有狀態的,互相之間沒有交互。但是期望相互間的翻譯器配置是一致的。這會引發內存一致性模型問題,但這種設計允許Gluster用商用硬件在規模上能達到數個拍字節,避免了通常影響分布式文件系統的緊內聚松耦合瓶頸。
設計指標
1. 容量:
Scalable Beyond Peta Bytes
2. I/O能力:
Pluggable Clustered i/o Schedulers
Advantage of RDMA transport
3. 可靠性:
Non Stop Storage
No Meta Data
4. 易管理性:
Self Heal
NFS like Disk Layout
5. 設計優勢:
Stackable Modules
Not tied to I/O Profiles or Hardware or OS
輸出比較
I/O調度類型支持:
1. ALU:Adaptive least usage
2. NUFA
3. Random
4. Custom
5. RR:Round robin
環境描述
性能測試方法:多客戶端同時執行dd命令生成或讀取不同大小的block文件
存儲單元規模:16個存儲單元
存儲單元配置:Xeon 5160 3.00GHz/8GB FB-DIMM/Kernel-2.6.18-5 EM64T+ofed111(Debian)/SATA-II 500GB/mellanox MHGS18-XT/S InfiniBand HCA
客戶端規模:64個客戶端
客戶端配置:Pentium D 3.40GHz/4GB DDR2/Kernel-2.6.18-5 EM64T+ofed111(Debian)/SATA-II 500GB/Mellanox MHGS18-XT/S InfiniBand HCA
內部交換網絡設備:Voltaire Port InfiniBand Switch (14U)
GlusterFS版本:1.3.pre0-BENKI
參考資料 >