如下图所示为ceph的架构图,其中RADOSGW(简称RGW),即对象存储网关。

image.png
RGW定义:一套基于RESTFUL协议的网关。
RGW功能:作为接口为应用程序提供对象存储服务。
RGW接口:S3和Swift API共享同一个命名空间,所以可以使用两种API访问相同的数据。
| 接口 | 描述 | 备注 |
|---|---|---|
| S3 | 由Amazon提出的标准化的对象存储接口,可以使用该接口标准对接其他支持S3标准的对象存储系统。 | 手动安装,运行于客户端 |
| Swift | 该接口与OpenStack Swift API的大部分子集兼容。 | 手动安装,运行于客户端 |
| admin | 管理接口admin API ,其通过rest api的方式对对象存储进行管理,命令行形式为radosgw-admin,可以用来执行创建用户、删除用户、列出用户等操作。 | 部署rgw后无需额外安装,运行于mon节点上 |
RGW涉及概念:
| 概念 | 描述 | 备注 |
|---|---|---|
| 用户(user) | 对象存储应用的使用者 | |
| 子用户(subuser) | swift接口用户,子用户附属于用户 | |
| 桶(bucket) | 存储object的容器,扁平化结构 | 桶名必须全局唯一(不能与自己已创建的其他桶名称相同,也不能与其他用户创建的桶名称相同) |
| 对象(object) | 数据存储的基本单位 | 单个桶中默认可以容纳1000个对象,超出需要更改配额 |
| 访问密钥(AK/SK) | 通过AK/SK来进行认证鉴权 | |
| 键值(key) | 对象的名称 | 经过UTF-8编码的长度大于0且不超过1024的字符序列。一个桶里的每个对象必须拥有唯一的对象键值 |
| 元数据(Metadata) | 对象的描述信息,包括系统元数据和用户元数据 | |
| 数据(data) | 数据内容 |