Ceph課堂:使用CivetWeb快速搭建RGW
優秀的開源項目正在改變傳統IT,OpenStack名頭最響,已經成為了IaaS的事實標準。Ceph同樣頗有建樹,通過其三大存儲接口滿足了企業的多樣需求。UnitedStack有云把OpenStack和Ceph等一眾開源項目的優勢結合,搭建出全球最好用的高性能OpenStack云服務平臺。在這個過程中,UnitedStack有云工程師對開源項目有許多的理解和分析,我們將陸續發布這些內容與大家共享,希望能夠幫助大家更快的認識這些項目,避免掉進那些我們曾趟過的坑。同時,也希望大家與我們共同探討,為更優秀的代碼和架構努力。
這是我們Ceph系列文章的第四篇,之前推出的三篇Ceph文章由淺入深,受到了廣泛好評,我們的Ceph系列將繼續深入下去,希望能給感興趣的人帶來幫助。
RGW目前支持直接使用CivetWeb作為WebServer,實現HTTP請求的接受和回復,而不需要配置復雜的FCGI和WebServer了。
1 創建存儲池
通過ceph -s命令確認你的Ceph集群已經正常運行,并且集群狀態是OK。
運行以下命令創建rgw所需的存儲池:
- ceph osd pool create .rgw 64 64
- ceph osd pool create .rgw.root 64 64
- ceph osd pool create .rgw.control 64 64
- ceph osd pool create .rgw.gc 64 64
- ceph osd pool create .rgw.buckets 64 64
- ceph osd pool create .rgw.buckets.index 64 64
- ceph osd pool create .log 64 64
- ceph osd pool create .intent-log 64 64
- ceph osd pool create .usage 64 64
- ceph osd pool create .users 64 64
- ceph osd pool create .users.email 64 64
- ceph osd pool create .users.swift 64 64
- ceph osd pool create .users.uid 64 64
2 配置
使用CivetWeb作為RGW的前端非常簡單,只需要在ceph.conf的末尾中加入以下配置項即可:
- [client.radosgw.gateway]
- host = {your-host-name}
- log file = /var/log/radosgw/client.radosgw.ustack.log
這三行定義了一個radosgw實例,名稱就叫gateway,運行的主機是{your-hostname},需要將其改成實際的主機名。
“log file”配置項代表了日志路徑,需要注意的是需要保證該日志文件的父路徑“ /var/log/radosgw/”必須存在,radosgw不會自動創建,你可以使用
- mkdir -p /var/log/radosgw/
創建該路徑。
3 啟動
啟動命令:
- radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway
-c參數表示使用的配置文件路徑,-n表示要啟動的radosgw實例名稱,要與配置文件對應。
4 使用
CivetWeb啟動的radosgw默認將監聽7480端口。你可以直接通過訪問http://your-host-ip:7480/來訪問該RGW對象存儲。
你可以通過radosgw-admin命令以管理員的方式訪問所啟動的RGW,執行例如創建用戶等操作。
你也可以通過s3cmd命令行工具以用戶的方式訪問RGW,或者通過s3broswer圖形界面訪問RGW,執行上傳/下載文件等操作。
關于作者
袁冬博士,UnitedStack產品副總裁,負責UnitedStack產品、售前和對外合作工作;云計算專家,在云計算、虛擬化、分布式系統和企業級應用等方面有豐富的經驗;對分布式存儲、非結構數據存儲和存儲虛擬化有深刻地理解,在云存儲和企業級存儲領域有豐富的研發與實踐經驗;Ceph等開源存儲項目的核心代碼貢獻者。
博文出處:https://www.ustack.com/blog/civetweb/?belong=industry-news