Curve核心组件之chunkserver
能,内部是一个线程池,主要负责异 步完成克隆chunk的数据补全。关于克 隆相关的内容将会在快照克隆相关介 绍文档中详细介绍。 ChunkServer架构Metric统计模块使用brpc中的bvar计数 器,统计一些IO层面和copyset层面的 一些指标,方便监控和跟踪。 ChunkServer架构并发控制层,负责对chunkserver的IO 请求进行并发控制,对上层的读写请 求安照chunk粒度进行Hash,使得不同 求安照chunk粒度进行Hash,使得不同 chunk的请求可以并发执行。 ChunkServer架构DataStore是对chunk落盘逻辑的封装。 包含chunkfile的创建、删除,以及实际 对chunk的读写,chunk基本cow的快照, 克隆chunk的管理等等。 ChunkServer架构LocalFileSystermAdaptor是对底层文件 系统的一层抽象,目前适配封装了ext4 文件系统的接口。 ChunkServer的目录结构: • 每个copyset一个目录,后面三个目录由braft管理,data目录由DataStore管理 • Curve中的Chunk全部来自Chunkfilepool,是在系统初始化的时候预创建好并覆盖写过一遍的一些chunk,减少IO放大CURVE基本架构 01 02 03 04 ChunkServer架构 ChunkServer核心模块 新版本ChunkS0 码力 | 29 页 | 1.61 MB | 5 月前3Curve for CNCF Main
Ceph RBD)CurveBS Features • RAFT for data consistency • minor impaction when chunk server fails • Precreated chunk file for volume space mapping • high performance framework • Use bthread (M bthread frequently 7s recentlyStorage Engine Comparison (vs. Ceph) META MANAGEMENT CURVE CHUNK SERVER BLUESTORE META Precreate Chunk File Pool on ext4 RocksDB META OVERHEAD without ext4 meta overhead increase0 码力 | 21 页 | 4.56 MB | 5 月前3Curve Cloud Native
with CRDsFeature list for CurveBS • CSI plugin for CurveBS • CurveBS (Cluster and Pool CRDs) • chunk server pods can run on arbitrary PVs(local storage) as an alternative to host path • Support automatically0 码力 | 9 页 | 2.85 MB | 5 月前3
共 3 条
- 1