优秀的开源项目正在改变传统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等开源存储项目的核心代码贡献者。
本文作者:袁冬
来源:51CTO