Curve核心组件之chunkserver
Service层是对外提供的一些RPC服 务的接口。包含的RPC服务有: • ChunkService。IO相关操作 • CliService。成员变更相关操作 • CopySetService。创建copyset等操 作 • RaftService。Braft内置的service, 完成raft成员之间的选举,日志复制, 安装快照等操作。 ChunkServer架构CopysetNode封装了braft的Node,并 步完成克隆chunk的数据补全。关于克 隆相关的内容将会在快照克隆相关介 绍文档中详细介绍。 ChunkServer架构Metric统计模块使用brpc中的bvar计数 器,统计一些IO层面和copyset层面的 一些指标,方便监控和跟踪。 ChunkServer架构并发控制层,负责对chunkserver的IO 请求进行并发控制,对上层的读写请 求安照chunk粒度进行Hash,使得不同 坏盘(CS1对应的盘)后的迁移流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS1,CS3,CS4上,完成迁移后,CS1上的副本迁移到CS2上 ① CS1超时未向MDS上报心跳(默认半小时) ② MDS标记CS1状态为offline ③ MDS的recover scheduler发现copyset1, 2, 3的副本CS1 offline, 生成change0 码力 | 29 页 | 1.61 MB | 5 月前3Curve质量监控与运维 - 网易数帆
rver;以避免升级 时一个copyset中多个ChunkServer离线,导致业务IO挂起。 重启NEBD Server 29/33自动均衡 Curve可以在copyset层面自动均衡集群负载, 无需人工干预: Copyset均衡 各ChunkServer上copyset数量均衡 Leader均衡 各ChunkServer上copyset leader数量均衡 Scatter-width(打散度)均衡 Scatter-width(打散度)均衡 各ChunkServer上全部copyset,其副本分布的 ChunkServer总数量均衡。 30/33网络丢包10% 自动故障恢复 Curve可在多种软硬件故障场景(如单mds故障、单ChunkServer故障、硬盘故障、网络丢包等) 实现自动恢复,保障存储服务高可用性。 多对多,恢复时间短 精确的流量控制,对io影响很小 Ki Kill一个节点所有ChunkServer进程 31/33快照克隆工具snaptool Curve_ops_tool 查询Curve状态 管理Curve文件 管理copyset 运维工具 Ansible 一键部署: ansible-playbook -i server.ini deploy_curve.yml 一键升级:ansible-playbook -i server0 码力 | 33 页 | 2.64 MB | 5 月前3Curve for CNCF Main
CURVE (RAFT) CEPH WRITE SUCCESS majority write successful all write successful READ Leader of copyset Node in PG SLOW STORAGE/DISK FAILURE INFLUENCE without I/O disruption I/O jitter occasionally0 码力 | 21 页 | 4.56 MB | 5 月前3
共 3 条
- 1