CurveFS方案设计2021-03-23 李小翠 初稿(背景,调研,架构设计) 2021-03-30 李小翠 增加快照部分 2021-04-13 李小翠、陈威 补充元数据数据结构 2021-04-19 李小翠、吴汉卿、许超杰等 补充文件空间分配,讨论与确认 背景 调研 开源fs 性能对比 可行性分析 方案对比 对比结论 架构设计 卷和文件系统 元数据架构 文件系统快照 方案一:文件/目录级别快照 方案二:文件系统快照 @吴汉卿等 模块开发完成 2021-05-28 @吴汉卿 curvefs client端 主要接口及流程梳理和确认 2021-05-19 @许超杰 代码框架开发 2021-05-27 @许超杰 主要接口代码开发完成 2021-06-09 @许超杰等 联调 2021-06-10起 @所有人© XXX Page 14 of 140 码力 | 14 页 | 619.32 KB | 6 月前3
新一代云原生分布式存储各存储设备通过网络互联 大规模 弹性扩容 底层构建在分布式存储之上 云的概念 成本:共用基础设施 弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 通常意义是支持 网易集团内部业务: • 网易严选,网易云音乐 网易有道,网易游戏 网易Lofter,云信 在集团外有联合开发用户和测试用户 网易外部用户: • 超聚变,创云融达信息技术 • 扬州万方电子技术,思谋科技分布式存储介绍 01 存储的发展 | 分布式存储的分类 | 分布式存储的要素 02 03 04 Ceph 架构简介 | 块存储场景0 码力 | 29 页 | 2.46 MB | 6 月前3
Curve核心组件之snapshotcloneCurve核心组件 - SnapShotCloneServer 许超杰CURVE基本架构 01 02 03 04 快照和克隆的特点 快照克隆服务器架构 快照的实现 05 克隆的实现CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client Cloned:LAZY 克隆 Lazy克隆 较快,秒级克隆: MetaInstalled状态可用,即完成元数据安装,就 从临时目录rename,用户可见。 Lazy Alloc Chunk,利于超售: Lazy克隆不直接分配chunk,而是等到client来写 时才分配chunk 额外接口: 不进行数据复制,而是提供额外的Flatten接口, 完成数据复制。 适用场景: 适用于从镜像快速创建云主机场景0 码力 | 23 页 | 1.32 MB | 6 月前3
CurveFS Client 概要设计rename symlink & readlink link flush & fsync 其他 功能分析 模块划分 接口设计 Cache设计 时间 作者 内容 2021-04-27 许超杰 初稿 背景 CurveFS初步设计见 , 目前需细化Client端设计 CurveFS方案设计(总体设计,只实现了部分) 概述 CurveFS0 码力 | 11 页 | 487.92 KB | 6 月前3
Curve质量监控与运维 - 网易数帆单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 正确性检验的测试工作。 curve通过lcov统计代码覆盖率,衡量单元测试的完备程度,如下图所示: 13/33集成测试 测试目的 测试内容 单元测试后,有必要进行集成测试,发现 并排除在模块连接中可能发生的上述问题, 最终构成要求的软件子系统或系统。集成 测试需要关注的主要是各模块连接起来后 的问题: 度。因此,需要通过组合测试的方法,尽量用较少的用例数量覆盖绝大 多数情况: 两因素组合测试 通过测试集覆盖任意两个变量的所有取值组合。理论上两因素组合测 试最多可发现95%的缺陷,平均缺陷检出率也达到了86%,在用例数量 和缺陷检测能力上达到了平衡。因此,一般测试用例应该保证两因素组 合的100%覆盖。 多因素组合测试 生成的测试集可以覆盖任意t个变量(t>2)的所有取值组合。 基于选择的覆盖 选择 MDS易升级 自动化滚动升级——先升备再升主,确保升级过程中只发生一次主 备切换。 ChunkServer易升级 自动化滚动升级——升级一个zone的所有ChunkServer后,等待集 群恢复健康后,自动升级下一个zone的ChunkServer;以避免升级 时一个copyset中多个ChunkServer离线,导致业务IO挂起。 重启NEBD Server 29/33自动均衡0 码力 | 33 页 | 2.64 MB | 6 月前3
副本如何用CLup管理PolarDB机器有反亲和性创建PolarDB需要的阿里云环境 创建虚拟机的时 候选中的盘都不 是共享盘,必须 在创建完虚拟机 后,在单独添加 共享盘 注意创建PolarDB需要的阿里云环境创建PolarDB需要的阿里云环境 部署集把虚拟机打散到不通的物理机上创建PolarDB需要的阿里云环境 VIP的使用创建PolarDB需要的阿里云环境 把VIP绑定到多台数据库主机创建PolarDB需要的阿里云环境 创建虚拟机的时候选中的盘都不是共享盘,必须在创建完0 码力 | 34 页 | 3.59 MB | 6 月前3
Curve设计要点• 一键部署,一键升级高质量 • 良好的模块化和抽象设计 • 完善的测试体系 • 单元测试 行覆盖80%+,分支覆盖70%+ • 集成测试 Given When Then 方法 完备的测试用例集 • 自动化异常测试 41个异常用例 • 自动化大压力随机故障注入 20轮随机故障注入背景 01 02 03 04 总体设计 系统特性 近期规划• 性能优化 • 满足数据库性能要求0 码力 | 35 页 | 2.03 MB | 6 月前3
Curve核心组件之mds – 网易数帆CopySetScheduler 是copyset均衡调度器,根 据集群中copyset的分布情况生成copyset迁移任 务; • LeaderScheduler 是leader均衡调度器,根据集 群中leader的分布情况生成leader变更任务; • ReplicaScheduler 是副本数量调度器,根据当 前copyset的副本数生成副本增删任务; • RecoverScheduler0 码力 | 23 页 | 1.74 MB | 6 月前3
共 8 条
- 1













