curve第一次meetup在线上,采用B站直播形式。本次直播会全面介绍Curve的总体设计,核心概念与流程,运维平台,分布式集群部署;并介绍Curve的测试体系、当前性能优化的方法。
- 直播地址:https://live.bilibili.com/22585337
- 直播视频回放:https://space.bilibili.com/700847536/channel/detail?cid=153949
时间 | 分享主题 | 讲师 |
---|---|---|
10.30 19:00-20:00 | Curve:新一代分布式存储系统设计要点 | 李小翠,网易数帆资深系统开发工程师 |
11.06 19:00-20:00 | Curve核心组件之MDS元数据节点 | 陈威,网易数帆资深系统开发工程师 |
11.13 19:00-20:00 | Curve核心组件之ChunkServer数据节点 | 查日苏,网易数帆高级C++开发工程师 |
11.20 19:00-20:00 | Curve核心组件之Client客户端 | 吴汉卿,网易数帆高级C++开发工程师 |
11.27 19:00-20:00 | Curve快照克隆子系统SnapshotCloneServer | 许超杰,网易数帆资深系统开发工程师 |
12.04 19:00-20:00 | Curve监控、运维与质量体系 | 秦亦,网易数帆资深服务端开发工程师 |
- 时间:10.30 19:00-20:00
- 讲师:李小翠
- 讲师简介:多年分布式存储系统开发经验,参与建设网易自研Nefs和Curve的设计与开发,现负责Curve的研发和运营,致力于为网易的各个业务提供高可用、高性能、低成本的数据存储服务。
- topic简介:对Curve做一个总体的介绍,包括
- ·Curve出现的背景,为什么不基于已有的存储改造或直接使用已有存储,而是从0到1开发Curve。
- Curve的总体设计,主要介绍软件基本架构,数据的组织形式,拓扑结构,以及总体的IO流程,其中IO的细节将在后面的系列讲座中介绍。
- Curve的系统特性,主要介绍Curve在高性能(包括当前最新版本v1.1.0-beta的测试数据)、高可用、自治、易运维、高质量这几个方面是如何体现的以及它们的一些关键实现方式。
- 最后会说明下Curve的近期规划,期待感兴趣的小伙伴加入我们。
- 时间:11.06 19:00-20:00
- 讲师:陈威
- 讲师简介:一直从事分布式存储相关工作,是网易数帆自研块存储NBS和自研分布式存储系统Curve的核心开发。
- topic简介:介绍Curve的元数据节点MDS,包括
- MDS总体介绍。
- Topology模块,包括MDS管理的Curve拓扑结构,故障隔离等。
- NameServer,用于保存Curve中文件和目录的层级结构以及分配信息等元数据。
- Copyset,介绍Curve中Chunk的副本管理方式,Copyset的概念,生成方式,与Chunk和ChunkServer的关系等。
- HeartBeat模块,介绍MDS如何通过心跳管理ChunkServer的在线状态,各个状态之间的转换方式等。
- 调度模块Scheduler,介绍MDS如何通过调度实现系统的自动容错和负载均衡。
- 时间:11.13 19:00-20:00
- 讲师:查日苏
- 讲师简介:自研分布式存储系统Curve的核心开发。
- topic简介:介绍Curve的数据节点ChunkServer,包括
- ChunkServer整体架构,自顶向下介绍每个模块的功能。最上层是与其他模块交互的RPC层,最下层是EXT4文件系统。
- ChunkServer的注册和心跳,详细介绍ChunkServer向MDS注册,并通过心跳与MDS交互的过程。
- CopysetNode,介绍ChunkServer中的Copyset实例工作流程,与braft交互的方式(建议提前了解一下raft一致性协议)。举例介绍故障场景(坏盘)情况下的自动迁移和恢复,以及换盘后ChunkServer重新上线的流程。
- DataStore模块,介绍ChunkServer中底层Chunk文件组织形式,ChunkFilePool介绍等新版本ChunkServer性能优化,介绍通过覆盖写减少WAL写放大的方案以及优化后的测试结果。
-
时间:11.20 19:00-20:00
-
讲师:吴汉卿
-
讲师简介:自研分布式存储系统Curve的核心开发。
-
topic简介:介绍Curve的客户端部分,包括
- Curve Client总体介绍。
- Curve Client架构介绍,由哪些模块组成,以及各个模块的交互流程。
- 元数据缓存及更新,介绍client端对MDS记录的元数据的缓存策略以及更新流程。
- IO流程,介绍Client端收到来自上层的读写请求后的一系列流程,包括定位Chunk位置,IO切分,与ChunkServer通信等。
- NEBD模块架构,介绍Curve client热升级模块NEBD的整体架构。
- Curve Client热升级流程介绍。
- 新版本Curve Client性能优化总结。
-
时间:11.27 19:00-20:00
-
讲师:许超杰
-
讲师简介:自研分布式存储系统Curve的核心开发。
-
topic简介:介绍Curve快照克隆服务器,包括
- 快照克隆服务器整体架构。
- Curve快照和克隆的特点。
- 快照总体流程介绍,从用户触发快照开始,介绍每个阶段的流程。
- 介绍ChunKServer端的快照机制,包括snap chunk的数据组织以及写时复制机制的实现。
- 克隆总体流程介绍,从用户触发克隆卷开始,介绍每个阶段的流程。
- 介绍ChunkServer端的克隆机制,包括clone chunk的数据组织与读时复制机制的实现。
-
时间:12.04 19:00-20:00
-
讲师:秦亦
-
讲师简介:计算机系统结构博士,专注于分布式存储领域;曾参与华为FusionStorage分支项目,独立攻关天玑数据PhegData X数据存储云平台的后端存储引擎,现为Curve团队核心开发。
-
topic简介:介绍Curve使用的一些监控和运维方案以及质量控制方法,包括
- 监控体系总体介绍。
- 前端展示,结合例子展示怎样通过Grafana完成数据可视化。
- 后端监控架构,介绍监控体系架构及各个组件之间的联系。
- Curve metric介绍,介绍在Curve中怎样统计metric,使用了哪些类型的metric等。
- 运维管理介绍,包括Curve上架标准,运维规范,应急预案等。
- 运维工具介绍,包括curve-ansible部署工具,curve_ops_tool管理员工具等。
- 日志管理,ELK日志平台展示。
- 质量控制理论体系,介绍Curve的单元测试,集成测试和系统测试方法。
- Curve流程控制,包括code review,CI检查等。