searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

对象存储网关RGW的设计

2024-08-05 09:32:05
38
0

一、引言

Ceph是一个高性能、可扩展的分布式对象存储系统,其核心模块RADOS提供了基于对象的存储能力。然而,RADOS的访问接口librados仅提供私有接口,不支持HTTP协议,这限制了其在云存储中的广泛应用。为了解决这一问题,Ceph设计了RGW系统,即RADOS Gateway,以支持通用的HTTP访问接口,并兼容Amazon S3OpenStack Swift接口,从而实现了对云存储领域应用的无缝接入。

 

二、RGW设计概述

架构设计

Ceph的分层架构中,RGW位于RADOS集群之上,属于接口层。它扮演着双重角色:一方面作为RADOS集群的客户端,为对象存储应用提供数据存储的通道;另一方面作为HTTP服务端,接受并解析来自互联网的数据请求。

接口兼容

RGW的设计初衷是支持通用的HTTP接口,但为了快速普及并降低开发成本,RGW选择适配云存储领域应用最广的Amazon S3OpenStack Swift接口。这使得现有的S3Swift用户可以以很小的代价接入Ceph对象存储系统,极大地扩展了Ceph的应用场景。

数据实体管理

对象存储系统的基础数据实体包括用户(user)、存储桶(bucket)和对象(object)。RGW在设计时充分考虑了这些基础数据实体的管理需求,通过用户认证、权限控制和配额管理等方式,确保数据的安全性和高效性。

 

三、关键特性分析

1.用户管理

用户是对象存储系统的基本使用者。RGW为了兼容Amazon S3OpenStack Swift接口,将用户分为用户(user)和子用户(subuser)。用户管理主要包括用户认证、权限控制和配额管理三个方面。

用户认证:S3用户身份认证机制基于密钥认证。用户在发送请求前,使用私有密钥和请求内容计算数字签名,并将数字签名和访问密钥封装在请求中发送给RGWRGW收到请求后,使用访问密钥作为索引从RADOS集群中读取用户信息,并验证数字签名,以确保用户身份的真实性。

权限控制:除了身份认证外,RGW还实现了对资源(如存储桶和对象)的访问权限控制。用户必须具备相应的访问权限(如读、写、删除)才能对资源进行操作。

配额管理:为了防止某些用户占用过多存储空间,RGW允许对用户进行配额限制,并在用户上传/删除对象时进行配额检查。

2. 存储桶与对象管理

存储桶是对象的容器,一个存储桶对应一个RADOS对象。存储桶包含的信息分为两类:一类是RGW网关透明的信息,如用户自定义的元数据;另一类是RGW网关关注的信息,如存储桶的配额、索引对象的数目等

索引对象分片:为了提高写性能,RGW将索引对象分片,将一个索引对象切分成多个对象。然而,这也会影响查询存储桶对象列表的性能。为了降低这一负面影响,RGW采用并发读取多个索引对象的方式,以降低查询处理时间。

对象上传:RGW提供了整体上传和分段上传两种接口。当上传对象大于一定大小时,必须采用分段上传方式。这种方式虽然增加了复杂度,但可以有效提高大文件的上传效率。

3. 安全性与可扩展性

RGW在设计时充分考虑了安全性和可扩展性。通过HTTPS协议和严格的访问控制机制,确保数据传输和存储的安全性。同时,RGW支持水平扩展,可以根据业务需求动态增加存储节点和计算资源,以满足大规模数据存储和访问的需求。

 

、结论

随着云存储技术的不断发展,对象存储作为一种高效、可扩展的存储解决方案,正在受到越来越多企业的关注。Ceph RGW作为Ceph分布式对象系统的重要组成部分,通过支持通用的HTTP接口和兼容Amazon S3OpenStack Swift接口,实现了对云存储领域应用的无缝接入。

0条评论
0 / 1000
窝补药上班啊
1282文章数
5粉丝数
窝补药上班啊
1282 文章 | 5 粉丝
原创

对象存储网关RGW的设计

2024-08-05 09:32:05
38
0

一、引言

Ceph是一个高性能、可扩展的分布式对象存储系统,其核心模块RADOS提供了基于对象的存储能力。然而,RADOS的访问接口librados仅提供私有接口,不支持HTTP协议,这限制了其在云存储中的广泛应用。为了解决这一问题,Ceph设计了RGW系统,即RADOS Gateway,以支持通用的HTTP访问接口,并兼容Amazon S3OpenStack Swift接口,从而实现了对云存储领域应用的无缝接入。

 

二、RGW设计概述

架构设计

Ceph的分层架构中,RGW位于RADOS集群之上,属于接口层。它扮演着双重角色:一方面作为RADOS集群的客户端,为对象存储应用提供数据存储的通道;另一方面作为HTTP服务端,接受并解析来自互联网的数据请求。

接口兼容

RGW的设计初衷是支持通用的HTTP接口,但为了快速普及并降低开发成本,RGW选择适配云存储领域应用最广的Amazon S3OpenStack Swift接口。这使得现有的S3Swift用户可以以很小的代价接入Ceph对象存储系统,极大地扩展了Ceph的应用场景。

数据实体管理

对象存储系统的基础数据实体包括用户(user)、存储桶(bucket)和对象(object)。RGW在设计时充分考虑了这些基础数据实体的管理需求,通过用户认证、权限控制和配额管理等方式,确保数据的安全性和高效性。

 

三、关键特性分析

1.用户管理

用户是对象存储系统的基本使用者。RGW为了兼容Amazon S3OpenStack Swift接口,将用户分为用户(user)和子用户(subuser)。用户管理主要包括用户认证、权限控制和配额管理三个方面。

用户认证:S3用户身份认证机制基于密钥认证。用户在发送请求前,使用私有密钥和请求内容计算数字签名,并将数字签名和访问密钥封装在请求中发送给RGWRGW收到请求后,使用访问密钥作为索引从RADOS集群中读取用户信息,并验证数字签名,以确保用户身份的真实性。

权限控制:除了身份认证外,RGW还实现了对资源(如存储桶和对象)的访问权限控制。用户必须具备相应的访问权限(如读、写、删除)才能对资源进行操作。

配额管理:为了防止某些用户占用过多存储空间,RGW允许对用户进行配额限制,并在用户上传/删除对象时进行配额检查。

2. 存储桶与对象管理

存储桶是对象的容器,一个存储桶对应一个RADOS对象。存储桶包含的信息分为两类:一类是RGW网关透明的信息,如用户自定义的元数据;另一类是RGW网关关注的信息,如存储桶的配额、索引对象的数目等

索引对象分片:为了提高写性能,RGW将索引对象分片,将一个索引对象切分成多个对象。然而,这也会影响查询存储桶对象列表的性能。为了降低这一负面影响,RGW采用并发读取多个索引对象的方式,以降低查询处理时间。

对象上传:RGW提供了整体上传和分段上传两种接口。当上传对象大于一定大小时,必须采用分段上传方式。这种方式虽然增加了复杂度,但可以有效提高大文件的上传效率。

3. 安全性与可扩展性

RGW在设计时充分考虑了安全性和可扩展性。通过HTTPS协议和严格的访问控制机制,确保数据传输和存储的安全性。同时,RGW支持水平扩展,可以根据业务需求动态增加存储节点和计算资源,以满足大规模数据存储和访问的需求。

 

、结论

随着云存储技术的不断发展,对象存储作为一种高效、可扩展的存储解决方案,正在受到越来越多企业的关注。Ceph RGW作为Ceph分布式对象系统的重要组成部分,通过支持通用的HTTP接口和兼容Amazon S3OpenStack Swift接口,实现了对云存储领域应用的无缝接入。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0