Curve核心组件之snapshotcloneCurve核心组件 - SnapShotCloneServer 许超杰CURVE基本架构 01 02 03 04 快照和克隆的特点 快照克隆服务器架构 快照的实现 05 克隆的实现CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client0 码力 | 23 页 | 1.32 MB | 6 月前3
Curve核心组件之chunkserverCurve核心组件之ChunkServer 查日苏CURVE CURVE是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟存储底座 • 可扩展存储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接 openstack 和 k8s 网易内部线上无故障稳定运行500+天 • 已开源 • github主页: https://opencurve.github 能,底层基于ext4文件系统,操 作实际的磁盘。 ChunkServer架构ChunkServer通过RPC网络层与client, MDS,其他ChunkServer通信。RPC 网络层是由brpc框架去完成的。包 括读写socket,rpc协议解析等。 ChunkServer架构RPC Service层是对外提供的一些RPC服 务的接口。包含的RPC服务有: • ChunkService。IO相关操作0 码力 | 29 页 | 1.61 MB | 6 月前3
Curve核心组件之mds – 网易数帆Curve核心组件之 MDS 陈威Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github com/opencurve/curve 概述整体架构 01 02 03 MDS各组件详细介绍 Q&A基本架构 • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查 • 快照克隆服务器MDS各个组件 MDS是中心节点,负责元数据管理、集群状态收集与调度。MDS包含以下几个部分:0 码力 | 23 页 | 1.74 MB | 6 月前3
Curve核心组件之Client - 网易数帆0 码力 | 27 页 | 1.57 MB | 6 月前3
Curve质量监控与运维 - 网易数帆Tag规范(优先级、版本、运行时间) 最大化覆盖率(打乱操作顺序、随机 sleep) 精确性(checkpoint) 稳定性(避免环境因素、其他模块干扰) Curve使用Robotframework框架进行异常自动化测试, 相关代码见curve/robot at opencurve/curve (github.com) 17/33CI测试与异常测试报表 18/33 Curve通过jenki MDS MDS SnapshotClone Server HTTP采集 bvar数据 定时获取图表 并发送邮件 获取集群拓扑信息 Curve利用brpc内置的bvar组件生成监控指标,并 使用部署在docker的三个组件进行监控指标的处 理与展示: Prometheus——面向云原生应用程序的开源 的监控&报警工具,curve利用它进行监控指标 的采集与存储。 Daily 。 2. Prometheus依据上述配置文件,发现相应服务。 3. Prometheus server以pull的方式,定期从Curve集群中 MDS、ChunkServer、Client等组件的brpc Server拉取 相应的监控指标,并存储在本地。 22/33监控指标的可视化 Curve通过Grafana实现监控指标的可视化,其展示效果如下: 23/33丰富的metric 24/33每日报表0 码力 | 33 页 | 2.64 MB | 6 月前3
NJSD eBPF 技术文档 - 0924版本Cache设计 • Curve社区介绍Curve是什么? • Curve云原⽣软件定义存储 • Curve分布式块存储 • Curve分布式⽂件存储 • ⾼性能、易运维、云原⽣Curve⽂件系统框架和主要应⽤场景 • AI机器学习场景 • ⼤数据计算场景 • 中间件数据存储场景 • ⽀持POSIX兼容的⽂件API • ⽀持低延迟的⽂件数据访问Curve⽂件系统⾯临的问题 • passthrough_ll 调⽤底层ext4 • 进程共享内存通信延迟10us+ • others 开销 10us+ • fuse_ll_ops开销10us-基于FUSE的优化框架 • 框架优化的要点 • 共享inode cache • 共享data cache的映射 • GETATTR流程 • ⽂件读取流程 • 相关⼯作 • extFUSE • google0 码力 | 20 页 | 7.40 MB | 6 月前3
CurveFS方案设计元数据节点 dentry/inode 数据结构 内存结构确认 2021-05-13 @陈威 代码框架完成,主要涉及接口对接 2021-05-20 @陈威 开发完成 2021-05-28 @陈威等 空间分配 空间分配方案确认 2021-05-14 @吴汉卿 代码框架完成,主要涉及接口对接 2021-05-20 @吴汉卿等 模块开发完成 2021-05-28 @吴汉卿 @吴汉卿 curvefs client端 主要接口及流程梳理和确认 2021-05-19 @许超杰 代码框架开发 2021-05-27 @许超杰 主要接口代码开发完成 2021-06-09 @许超杰等 联调 2021-06-10起 @所有人© XXX Page 14 of 140 码力 | 14 页 | 619.32 KB | 6 月前3
MySQL 兼容性可以做到什么程度中间件只是起点,PolarDB-X 可能是离终点最近的那个 对近十年的探索以及五年的上云 经验进行重新思考,面向未来设 从运维视角实现计算存储一体化 计新架构 产品形态 基于MySQL XA实现分布式事务 基于外部组件进行扩容 支持扩容 分布式事务 一体化尝试 Review 2.0 开源 2016 2017 2018 2019 2020 2021 2021年10月20日,云栖大会宣 布开源 2020年5月,PolarDB-X0 码力 | 18 页 | 3.02 MB | 6 月前3
Curve设计要点10卷4K随机读写平均延迟(ms) 4.34 7 3.7 2.423 4K随机写 4K随机读 38% 34.5% 测试环境:6台服务器*20块SATA SSD,E5-2660 v4,256G,3副本场景高可用 核心组件支持多实例部署,允许部分实例异常 MDS、Snapshotcloneserver 通过 etcd 选主,实现高可用高可用 chunkserver 使用raft,2N + 1 个副本允许 N 副本异常自治0 码力 | 35 页 | 2.03 MB | 6 月前3
Curve元数据节点高可用eper和etcd, 考虑当前系统中mds有两个外部依赖模块,一是mysql, 用于存储集群拓扑的相关信息;二是etcd,用于存储文件的元数据信息。而etcd可以用于实现mds高可用,没必要引入其他组件。 使用etcd实现元数据节点的leader主要依赖于它的两个核心机制: TTL和CAS。TTL(time to live)指的是给一个key设置一个有效期,到期后key会被自动删掉。这在很多分布0 码力 | 30 页 | 2.42 MB | 6 月前3
共 12 条
- 1
- 2













