Curve核心组件之Client - 网易数帆FileInstance:对应一个已挂载的卷 LeaseExecutor:负责定期与MDS通信,获取卷的元数据信息 元数据信息在打快照时会进行变化 MetaCache:元数据缓存 IOTracker:跟踪一个上层IO请求 IOSplitor:IO转换拆分 ChunkClient、CliClient:与Chunkserver进行通信 前者负责IO请求 后者负责获取复制组(copyset)的leader MDSClient:负责与MDS交互,挂卸载卷、获取元数据信息 CLIENT整体架构QEMU: 实现了QEMU block与Client的对接层 向cinder/glance提供了Python API https://github.com/opencurve/curve-qemu-block-driver NBD: 实现了Curve-NBD,与内核NBD模块进行交互 可以作为容器的数据存储 数据面:AioWrite/AioRead、Write/Read 控制面:Create/Delete、Open/Close、Rename等 IO处理:转换、拆分、合并 元数据获取及缓存 逻辑chunk与物理chunk映射关系 物理chunk所属的复制组(copyset) 复制组所在的chunkserver列表 复制组的leader信息 Failover支持 MDS:只有主MDS才会监听端口0 码力 | 27 页 | 1.57 MB | 6 月前3
共 1 条
- 1













