带你读《存储漫谈:Ceph原理与实践》——3.2.3 I/O 路径

简介: 带你读《存储漫谈:Ceph原理与实践》——3.2.3 I/O 路径

3.2.3  I/O 路径


RGW 是 RADOS Gateway,顾名思义是 RADOS 对象存储系统上层的一个网关服务,根据网关的功能定义,网关负责完成不同协议的转换和对接。在 Ceph 场景中,RGW即完成类似的功能:接收用户 S3/Swift 接口规则的数据存取请求,然后将其转化为后端RADOS 能够处理的操作。

RGW 的请求处理经历了 3 个阶段:

(1)Web 框架主要负责接收用户请求,RGW 中常用的 Web 框架包括 CivetWeb、Apache、Beast 等;

(2) 根 据 用 户 请 求 类 型, 分 别 选 择 不 同 的 RESTMgr( 针 对 不 同 的 Resource)、Handler、RGWOp 来处理用户的具体业务,梳理出用户的请求数据;

(3)将用户的业务请求转换为对 RADOS 层数据读写请求的封装,具体操作由RGWRados 完成。

RGW 的业务架构示意如图 3-29 所示。请求到达 RGW 网关后,在 RGW Frontend 层做相应转发,请求到达 RGWRESTMgr 层,RGWRESTMgr 依照请求资源类型,对请求做相应的 RGWHandler 层的资源实例化工作。

在 RGWHandler 层中实例化后的请求,首先进行前置处理,完成基本信息的校验等工作,在校验完成后,调用相关的业务接口 RGWOp 完成 Bucket 和 Object 的请求处理,并在 RGWOp 中,调用终极接口 RGWRados,完成 RGW 数据的最终落盘(RGWRados是 RGW 网关模块和后端的 RADOS 底层存储系统交互的窗口)。RGW 请求处理流程见图 3-30。

image.png

图 3-29 RGW 业务架构示意

image.png

图 3-30 RGW 请求处理流程

对 应 上 述 业 务 处 理 过 程,RGW 中 会 有 3 个 重 要 的 数 据 结 构:RGWFrontend、RGWRESTMgr 及 RGWHandler。

◆ RGWFrontend :RGWFrontend 是 RGW 的 WEB 前端类的封装,用于处理 HTTP(s)相关的请求,完成 RGW 业务逻辑中的 WEB 框架接收用户请求的功能。目前最新的 WEB框架是 Beast。

◆ RGWRESTMgr :RGWRESTMgr 负责 RGW 处理的资源类型区分,RGWRESTMgr包含了多种不同类型的路径和资源,并可根据请求资源类型的不同,将请求“路由”到不同的业务逻辑来进行处理(请求的实例化工作)。

◆ RGWHandler :RGWHandler 负责具体的用户请求处理,如客户使用 S3 规范进行业务请求,该层中会调用 S3 相关的 RGWHandler,后续操作如下。

(1)RGWHandler_REST_Service_S3

负责处理 S3 用户类型请求,包括获取用户的统计信息、用户的桶列表、S3 账户访问权限设置等。

(2)RGWHandler_REST_Bucket_S3

负责处理 S3 桶类型请求,包括桶的 ACL 权限列表、生命周期规则以及具体的创建 / 删除桶等操作。

(3)RGWHandler_REST_Obj_S3

负责处理 S3 Object 类型请求,包括 Object 的 ACL 权限列表、Tagging 及具体的Object 数据操作(简单上传、分块上传、删除)等。

相关文章
|
2月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
4月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
7月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
8月前
|
存储 Kubernetes 对象存储
StrmVol存储卷:如何解锁K8s对象存储海量小文件访问性能新高度?
如何提升海量文件的数据读取速率,对于AI训练集管理、量化回测、时序日志分析等场景尤为重要。阿里云容器服务(ACK))支持StrmVol类型存储卷,基于底层虚拟块设备及内核态文件系统,显著降低海量小文件访问延迟。
|
8月前
|
存储 Kubernetes 对象存储
StrmVol 存储卷:解锁 K8s 对象存储海量小文件访问性能新高度
本文介绍了阿里云容器服务(ACK)支持的StrmVol存储卷方案,旨在解决Kubernetes环境中海量小文件访问性能瓶颈问题。通过虚拟块设备与内核态文件系统(如EROFS)结合,StrmVol显著降低了小文件访问延迟,适用于AI训练集加载、时序日志分析等场景。其核心优化包括内存预取加速、减少I/O等待、内核态直接读取避免用户态切换开销,以及轻量索引快速初始化。示例中展示了基于Argo Workflows的工作流任务,模拟分布式图像数据集加载,测试结果显示平均处理时间为21秒。StrmVol适合只读场景且OSS端数据无需频繁更新的情况,详细使用方法可参考官方文档。
802 144
|
8月前
|
存储 弹性计算 数据管理
阿里云对象存储oss怎么收费?存储费用+流量收费标准
阿里云对象存储OSS收费标准包含存储费、流量费及请求费等,支持按量付费与包年包月两种模式。标准型本地冗余存储按量付费价格为0.09元/GB/月,包年包月500GB预留空间优惠价118元/年。流量费仅收取公网出方向费用,忙时0.50元/GB,闲时0.25元/GB。更多详情可参考官方页面。
1603 91
|
7月前
|
存储 人工智能 测试技术
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
OSSFS 2.0通过轻量化协议设计、协程化技术及FUSE3低级API重构,实现大文件顺序读写与小文件高并发加载的显著提升,在实际测试中表现出高达数十倍的吞吐量增长。适用于机器学习训练、推理等对高带宽低延迟要求严苛的场景,同时支持静态和动态挂载方式,方便用户在ACK集群中部署使用。
721 34
|
6月前
|
存储 关系型数据库 MySQL
成本直降30%!RDS MySQL存储自动分层实战:OSS冷热分离架构设计指南
在日均订单量超500万的场景下,MySQL数据年增200%,但访问集中在近7天(85%)。通过冷热数据分离,将历史数据迁移至OSS,实现存储成本下降48%,年省72万元。结合RDS、OSS与Redis构建分层架构,自动化管理数据生命周期,优化查询性能与资源利用率,支撑PB级数据扩展。
355 3
|
11月前
|
存储 前端开发 Java
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能
### SpringBoot3 + Vue3 前后端分离的Java快速开发框架更新 本次更新主要包含以下内容: 1. **端口修改**:为避免与Minio存储服务冲突,后端启动端口从9000改为9999。 2. **添加存储支持**:集成Minio和阿里云OSS对象存储服务,详细配置请参考相关文档。 3. **短信服务**:接入阿里云短信服务,并增加模拟发送功能,方便本地测试。 4. **邮件发送**:引入邮件发送功能,支持简单文本邮件和带附件邮件。 5. **完善个人中心**:优化个人中心页面,提升用户体验。
377 85
Harry技术添加存储(minio、aliyun oss)、短信sms(aliyun、模拟)、邮件发送等功能

热门文章

最新文章