从firefly(v0.80)版本开始,ceph存储显著的简化了安装和配置Ceph Object Gateway,
Gateway进程嵌入到Civetweb,所以你需要安装一个web服务,或者配置FastCGI,
另外,ceph-deploy可以安装gateway包,生成key,配置数据目录,创建gateway实例。
Tip:Civetweb默认使用7480端口,您必须打开端口7480,或将端口设置为Ceph配置文件中的首选端口(例如端口80)。
安装Ceph Object Gateway
1、保证开启端口
2、在admin节点安装Ceph Object Gateway包到client-node节点
ceph-deploy install --rgw <client-node> [<client-node>...]
创建Ceph Object Gateway实例
ceph-deploy rgw create <client-node>
一旦gateway运行,你可以访问它的7480端口(例如:http://client-node:7480)
配置Ceph Object Gateway实例
1、通过修改ceph.conf配置文件修改默认端口,添加标题为
[client.rgw.<client-node>]的部分,
用ceph client节点hostname(hostname -s)替换<client-node>.
如果节点name是client-node,那么在[global]部分之后,添加如下:
[client.rgw.client-node]
rgw_frontends = "civetweb port=80"
注意:
确保在rgw_frontends键/值对中的 端口=端口号 之间不留空白,
如果您打算使用端口80,请确保Apache服务器未运行,否则将与Civetweb发生冲突。在这种情况下,我们建议删除Apache。
2、重启使新配置端口生效
systemctl restart cph-radosgw
3、如果开启了防火墙,检查端口在防火墙中打开。如果未打开,添加端口重载firewall生效
firewall-cmd --list-all
firewall-cmd --zone=public --add-port 80/tcp --permanent
firewall-cmd --reload
4、现在可以发起一个未认证请求,并且返回一个结果
#request
curl http://<client-node>:80
#result
<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>anonymous</ID>
<DisplayName></DisplayName>
</Owner>
<Buckets>
</Buckets>
</ListAllMyBucketsResult>