楊飛,朱志祥,梁小江(西安郵電大學,西安 7006)(陜西省信息化工程研究院,西安 7006)
?
基于Ceph對象存儲集群的負載均衡設計與實現①
楊飛1,朱志祥2,梁小江2
1(西安郵電大學,西安 710061)
2(陜西省信息化工程研究院,西安 710061)
摘 要:海量并行數據訪問ceph對象存儲集群時,會出現訪問數據錯誤率增加和訪問速率降低的問題.首先設計和部署ceph對象存儲集群,根據用戶請求數設計對象網關節點,實現用戶數據的交互功能,然后在服務節點安裝和部署haproxy,實現服務節點的負載均衡功能,能夠降低服務節點的壓力,最后設計和實現四種基于ceph對象網關節點的存儲集群.通過大量對比測試,本設計方案的數據訪問錯誤率降低0.96%,用戶數據的訪問速率提升74.04%.
關鍵詞:Ceph; 對象網關; 負載均衡; 錯誤率; 訪問速率
隨著云計算與大數據的不斷發展,對于網絡數據的存儲和處理能力提出新的要求,當前的數據存儲系統已無法滿足海量增長的網絡數據[1].Ceph分布式文件系統集群能夠根據海量數據的增長而進行集群擴展,有效降低服務器并行訪問的壓力,提高數據訪問的速率,降低數據訪問的錯誤率[2].
本文以ceph分布式文件系統為研究對象,首先設計部署ceph存儲集群[3],結合mysql與keystone實現ceph對象網關節點的統一認證.然后設計ceph對象存儲集群的對外網關功能,實現服務器與ceph對象存儲集群的數據交互,能夠根據訪問服務器用戶量的增長,而擴展ceph對象存儲集群的對外網關節點,實現ceph對象存儲集群的多區域數據管理,通過負載均衡降低服務器并行數據的壓力,從而提升服務器并行數據訪問速率,同時能夠降低用戶訪問數據的錯誤率[4].
2.1設計部署
本設計方案中包括11個節點服務器: east、west、south、north為ceph對象存儲集群的對外網關節點,通過haproxy負載均衡節點對east、west、south、north四個對象網關節點進行負載均衡,node1、node2、node3、node4是ceph對象存儲集群的存儲和元數據節點,而deploy節點為ceph集群部署節點,DNS節點為ceph對象存儲集群的統一認證中心,haproxy節點為負載均衡節點,采用輪詢的方式減輕用戶訪問對象網關節點的壓力.表1為設計部署說明表.

表1 設計部署說明表
2.2設計框架
并行用戶數據通過ceph對象存儲集群的haproxy節點將海量并行數據輪詢分發到east、west、south、north四個ceph對象網關節點,實現并行數據的負載均衡[5].在四個對象網關節點中設計和部署mysql和keystone實現ceph對象存儲集群的統一認證[6].用戶可以對ceph對象存儲集群進行數據操作和管理.圖1為整體設計框架.

圖1 整體設計框架
在east、west、south、north對象網關節點通過統一認證后,在haproxy節點通過負載均衡降低服務器并行數據的壓力,從而有效地提升服務器并行數據訪問速率,同時能夠降低用戶訪問數據的錯誤率.
3.1統一認證
首先在DNS、east、west、south、north節點上面安裝配置mysql.修改mysql配置文件,允許客戶端的訪問mysql數據庫,然后在mysql中創建keystone數據庫,安裝配置keystone,對keystone進行初始化,并重啟mysql和keystone的服務.
修改每個對象網關節點的ceph.conf配置文件,添加keystorgw_keystone_url = 10.10.10.61:5000 .這樣對象網關節點可以使用DNS節點產生的統一token,實現了所有對象網關節點的統一認證.
首先在haproxy節點啟動負載均衡的服務,然后在DNS節點產生所有對象網關節點的統一認證的token.
在DNS節點輸入命令:DNScurl -d '{"auth": {"tenantName": "admin","passwordCredentials":{"uS ername": "admin","password":"hastexo"}}}' –H "Con tent -type:application/json" http://10.10.10.61:5000/v2 .0/tokens | Python –mjson.tool
在east、west、south、north對象網關節點使用命令進行統一認證:

3.2負載均衡
在haproxy節點設置和部署ceph對象存儲集群的負載均衡服務.配置和修改haproxy.cfg文件:

負載均衡節點的IP:10.10.10.71,負載均衡服務端口為8888.監控界面的端口為8899,所有對象網關節點的操作都會通過10.10.10.71:8888進行均衡均衡.圖2為負載均衡登陸界面[7].

圖2 負載均衡登錄界面
在ceph對象存儲集群中,設計和部署四種不同的ceph對象存儲架構圖.在對象網關節點設計四種不同的負載均衡模式,分別為表2單個對象網關、表3兩個對象網關、表4三個對象網關、表5四個對象網關.

表2 單個對象網關

表3 兩個對象網關

表4 三個對象網關

表5 四個對象網關
在haproxy負載均衡節點上配置haproxy.cfg,然后啟動haproxy的服務,在負載均衡監控界面可以對不同設置的對象網關節點進行監控.
4.1測試數據
本方案使用webbench并行測試軟件對整個ceph對象存儲集群進行壓力測試[8],測試時間為120s,通過大量對比測試,能夠得出海量并行數據訪問服務器的失敗率和數據速率.表6為單個對象網關測試數據、表7為兩個對象網關測試數據、表8為三個對象網關測試數據、表9為四個對象網關測試數據.

表7 兩個對象網關測試數據

表8 三個對象網關測試數據

表9 四個對象網關測試數據
4.2分析結果
對測試的數據結果進行分析和計算,從而清晰的得出負載均衡對整個ceph對象存儲集群的性能優化情況,包括并行訪問數據的速率和訪問數據的錯誤率.圖3為數據訪問速率測試對比圖,圖4為數據錯誤率測試對比圖.

圖3 數據訪問速率測試對比圖

圖4 數據錯誤率測試對比圖
設計和部署ceph存儲集群,本設計方案能夠根據用戶的訪問請求數,動態地設計和實現基于ceph對象存儲集群的對象網關節點,從而不斷適應網絡數據的快速增長.同時在不同的對象網關節點采用統一的認證中心,確保用戶數據的安全性和封閉性.
通過負載均衡和統一認證測試,本設計能夠有效的降低海量并行數據訪問服務器的壓力,同時保證用戶數據的安全性.并行訪問速率提升74.04%,訪問數據的錯誤率降低0.96%.
參考文獻
1吳廣君,王樹鵬,陳明,等.海量結構化數據存儲檢索系統.計算機研究與發展,2012,49.
2馮幼樂,朱六璋.CEPH動態元數據管理方法分析與改進.電子技術,2010,47(9).
3李翔,李青山,魏彬.Ceph分布式文件系統的究及性能測試.2014(5):1–15
4Weil SA,Brandt SA,Miller EL,et al.Ceph: A scalable,high-performance distributed file system.Proc.of the 7th Symposium on Operating Systems Design and Implementation (OSDI).2006.307–320.
5鄒仁明,彭雋,李軍.OpenStack開源云平臺高可用架構的設計與實現.中國計算機用戶協會網絡應用分會2014年第十八屆網絡新技術與應用年會2014.
6Tang B,Sandhu R.Extending openStack access control with domain trust.Network and System Security.Springer International Publishing,2014: 54–69.
7Liu K.To achieve load-balance of elective system with haproxy.Computer Knowledge & Technology,2011.
8Yan CR,Shen JY,Peng QK,et al.A throughput-driven scheduling algorithm of differentiated service for web cluster.Wuhan University Journal of Natural Sciences,2006,11(1): 88–92.
Design and Implementation of Load Balancing Based on Ceph Object Storage Cluster
YANG Fei1,ZHU Zhi-Xiang2,LIANG Xiao-Jiang2
1(Xi’an University of Posts and Telecommunications,Xi’an 710061,China)2(Shaanxi Information Engineering Research Institute,Xi’an 710061,China)
Abstract:When mass parallel data access the ceph object storage cluster,the problems of increasing error rate and low access rate are existed.At the first,the authors design and deploy the ceph object storage cluster,and then design object gateway nodes to achieve interactive features of user data according to user requests.Second,I install and deploy haproxy on four service nodes,which can achieve the function of load balancing and reduce the pressure of four service nodes.Finally,the authors design and implementation of four different kinds of storage clusters based on ceph object gateway nodes.Through a lot of comparison tests,this design can not only reduce the error rate of 0.96 percent,but also enhance access rate of 74.04 percent.
Key words:ceph; object gateway; load balance; error rate; access rate
收稿時間:①2015-08-14;收到修改稿時間:2015-09-17