Ceph企业级分布式存储:原理与工程实践
上QQ阅读APP看书,第一时间看更新

2.5.2 对象网关

RADOS网关(也称为Ceph对象网关、RADOSGW或RGW)是一项服务,可为使用标准对象存储API的客户端提供对Ceph集群的访问,同时支持Amazon S3和OpenStack Swift API。

RADOS网关是建立在Librados之上的对象存储接口,旨在为应用程序提供通往RADOS集群的RESTful API。RADOS网关支持两个接口。

·S3兼容接口:与Amazon S3 RESTful API的大部分子集接口兼容。

·Swift兼容接口:与OpenStack Swift API的大部分子集接口兼容。

RADOS网关是用于与Librados交互的FastCGI模块。由于它提供与OpenStack Swift和Amazon S3兼容的接口,因此RADOS Gateway具有独立的用户管理功能。S3和Swift API共享一个名称空间,因此可以使用其中一个API写入数据,使用另一个API检索数据。图2-3是客户端通过对象网关访问Ceph集群数据的示意图。

核心守护进程radosgw提供以Librados库为基础封装的接口。它通常将自己的Web服务器Civetweb作为前端来处理请求。应用程序或其他客户端使用标准API与RADOS网关通信,RADOS网关通过Librados库与Ceph存储集群通信。

RADOS网关拥有自己的用户集,与Ceph集群用户不同。换句话说,RADOS网关的客户端通过Amazon S3或OpenStack Swift API来使用自己的用户集进行身份验证。我们可以使用radosgw-admin工具或基于LDAP的外部身份验证服务来配置用户。对于大型的多站点安装,将RADOS网关部署在Zone Group和Realm的某一区域中。通常,我们在生产环境下部署多个RADOS网关,以防单点故障。

图2-3 对象网关的使用逻辑