Curve核心组件之mds – 网易数帆。MDS包含以下几个部分: • Topology: 管理集群的 topo 元数据信息。 • Nameserver: 管理文件的元数据信息。 • Copyset: 副本放置策略。 • Heartbeat: 心跳模块。跟chunkserver进行交互,收集chunkserver上的负载信息、 copyset信息等。 • Scheduler: 调度模块。用于自动容错和负载均衡。TOPOLOGY CopysetId, chunkId, offset in chunk, length in chunk), Chunkserver 完成后通知; 5. Client通知用户请求完成。HEARTBEAT 心跳用于中心节点和数据节点的数据交互,详细功能如下: • 通过chunkserver的定期心跳,检测chunkserver的在线状态(online, unstable, offline) 检测chunkserver的copyset与mds差异,同 步两者的copyset信息 • 支持配置变更功能,在心跳回复报文中下发mds发起的配置变更命令,并在后续心跳中获取配置 变更进度。HEARTBEAT MDS端:mds 端的心跳主要由三个部分组成: • TopoUpdater: 根据 chunkserver 上报的 copyset 信息更新拓扑 中的信息。 • ConfGenerator:0 码力 | 23 页 | 1.74 MB | 6 月前3
CurveFS Copyset与FS对应关系on partition:负责元数据的一段分片,每个元数据一定有对应的partition进行处理 inode manange/ dentry manager:负责管理元数据的内存结构 heartbeat:定期获取copyset的信息 模块 估算工作量(开发 + ci完成) client 10d mds 15d metaserver 10d 考虑到partition和copyset的 对一的情况。等下一个版本,再实现的多对一的场景。 接口设计:https://github.com/opencurve/curve/pull/495 增加copyset.proto 增加heartbeat.proto 增加topology.proto 8、inode和dentry的内存估算 类型 byte sizeof(dentry) 56 dentry的name字段,按照最大估算 2560 码力 | 19 页 | 383.29 KB | 6 月前3
Curve元数据节点高可用33:6666 campaign leader success I0823 16:46:32.942611 22833 server.cpp:1039] Server[curve::mds::heartbeat::HeartbeatServiceImpl+curve::mds::NameSpaceService+curve::mds::topology::TopologyServiceImpl] is0 码力 | 30 页 | 2.42 MB | 6 月前3
共 3 条
- 1













