rgw 概述
Ceph 通过radosgw提供RESTFul HTTP API接口支持对象存储能力,radosgw构建在librados之上,兼容Amazon S3以及Opensack Swift。
radosgw本质上是一个客户端程序,提供FastCGI 服务。作为一个客户端程序,需要满足如下要求:
- 一个实例名称,默认为:gateway
- 一个合法用户
- 多个存储池
- 一个数据目录
- 在ceph.conf中添加一个配置项
- 前端配置文件
radosgw支持以Apache、Civetweb、Nginx作为前端。Civetweb是默认前端,通过修改ceph.conf配置文件能够很容易的替换为Apache,通过配置能也以nginx作为前端。
下面分别给出centos7上rgw的安装配置过程
安装
通过ceph-deploy可以方便的在rgw node上安装rgw包:
#> ceph-deploy --rgw install {rgw-node-name}
创建用户
每个rgw实例都需要一个授权用户及key,下面的例子中创建了一个名为gateway的用户,并将密钥文件存储在/etc/ceph目录下
#> ceph auth get-or-create client.radosgw.gateway osd 'allow rwx' mon 'allow rwx' -o /etc/ceph/ceph.client.radosgw.keyring
创建存储池
rgw需要存储池来存储数据,如果授权用户具有相关权限,rgw将会自动创建存储池,如果使用默认的区域(region)和可用区(zone),将包含如下的池:
.rgw.root
.rgw.control
.rgw.gc
.rgw.buckets
.rgw.buckets<