 Curve 分布式存储设计Curve 分布式存储设计 程义 — Curve Maintainer XAgenda 第二 第三 第四 第一 Curve的由来 Curve的设计目标 Curve块存储 和 Curve文件存储 Curve社区Curve的由来 1. 代码复杂/代码量大 2. 运维难度高 3. 无法满足高的性能需求Curve的设计目标 1. Curve云原生软件定义存储 2. Curve块存储 高性能,易运维,云原生Curve块存储 1. 高性能分布式共享数据库场景 2. Curve块存储提供底层分布式共享存储 3. Polardb for PostgreSQL提供上层高性能数 据库服务 4. 性能测试 1. benchmarkSQL 每分钟事务数提升39% 2. pgbench 延迟降低21% TPS提升26% 研究现状Curve块存储 1. 分布式块存储服务 2. KVM块存储服务 3. iSCSI协议 9. 云原生 核心设计Curve块存储 1. physical pool用于实现对机 器资源物理隔离 2. zone故障隔离的基本单元 3. server表示物理服务器 4. chunkserver物理服务器上 的服务实例 拓扑结构Curve块存储 1. Curve块存储将虚拟块设备 映射到文件 2. 每个文件包含的chunk分散 在集群的存储节点 3. chunkserver按照故障域分组0 码力 | 20 页 | 4.13 MB | 6 月前3 Curve 分布式存储设计Curve 分布式存储设计 程义 — Curve Maintainer XAgenda 第二 第三 第四 第一 Curve的由来 Curve的设计目标 Curve块存储 和 Curve文件存储 Curve社区Curve的由来 1. 代码复杂/代码量大 2. 运维难度高 3. 无法满足高的性能需求Curve的设计目标 1. Curve云原生软件定义存储 2. Curve块存储 高性能,易运维,云原生Curve块存储 1. 高性能分布式共享数据库场景 2. Curve块存储提供底层分布式共享存储 3. Polardb for PostgreSQL提供上层高性能数 据库服务 4. 性能测试 1. benchmarkSQL 每分钟事务数提升39% 2. pgbench 延迟降低21% TPS提升26% 研究现状Curve块存储 1. 分布式块存储服务 2. KVM块存储服务 3. iSCSI协议 9. 云原生 核心设计Curve块存储 1. physical pool用于实现对机 器资源物理隔离 2. zone故障隔离的基本单元 3. server表示物理服务器 4. chunkserver物理服务器上 的服务实例 拓扑结构Curve块存储 1. Curve块存储将虚拟块设备 映射到文件 2. 每个文件包含的chunk分散 在集群的存储节点 3. chunkserver按照故障域分组0 码力 | 20 页 | 4.13 MB | 6 月前3
 TGT服务器的优化TGT 服务器的优化块设备协议 • NBD • Linux专有块设备协议 • iSCSI • 广泛支持的外部设备协议(块,磁带等)Curve云原生存储支持块设备 • 通过NBD,只支持Linux • 通过SDK API,目前只支持Linux • PFS • 扩大使用范围 • 通过iSCSI支持更多系统,例如Windows, 类UNIX系统等,使用两项基础 技术 • TCP/IP Client端: iscsi initiator,系统自带 • Linux open-iscsi • Windows iSCSI 发起者 • 服务器端 • 必须是CurveBS原生支持的平台,因为需要curve原生接口,目前是LinuxiSCSI target服务器 • LINUX LILO • 一般用于输出内核本地块设备 • TCMU • 作为LILO支持用户态的接口 • 如何评价LILO urve, brpc, c++, protobuf 等) • TCMU多了一层转接,配置过程复杂,业界踩的坑不够多。 • TCMU的用户态代码会受到框架约束,不够灵活。iSCSI target 服务器 • TGT(STGT) • 比较久的历史,原来叫STGT,后来改成TGT • 纯用户态,不与内核绑定 • 支持复杂的存储系统,例如ceph rbd, sheepdog, glfs • 纯C代码,外加一些脚本0 码力 | 15 页 | 637.11 KB | 6 月前3 TGT服务器的优化TGT 服务器的优化块设备协议 • NBD • Linux专有块设备协议 • iSCSI • 广泛支持的外部设备协议(块,磁带等)Curve云原生存储支持块设备 • 通过NBD,只支持Linux • 通过SDK API,目前只支持Linux • PFS • 扩大使用范围 • 通过iSCSI支持更多系统,例如Windows, 类UNIX系统等,使用两项基础 技术 • TCP/IP Client端: iscsi initiator,系统自带 • Linux open-iscsi • Windows iSCSI 发起者 • 服务器端 • 必须是CurveBS原生支持的平台,因为需要curve原生接口,目前是LinuxiSCSI target服务器 • LINUX LILO • 一般用于输出内核本地块设备 • TCMU • 作为LILO支持用户态的接口 • 如何评价LILO urve, brpc, c++, protobuf 等) • TCMU多了一层转接,配置过程复杂,业界踩的坑不够多。 • TCMU的用户态代码会受到框架约束,不够灵活。iSCSI target 服务器 • TGT(STGT) • 比较久的历史,原来叫STGT,后来改成TGT • 纯用户态,不与内核绑定 • 支持复杂的存储系统,例如ceph rbd, sheepdog, glfs • 纯C代码,外加一些脚本0 码力 | 15 页 | 637.11 KB | 6 月前3
 新一代云原生分布式存储新一代云原生分布式存储—Curve 上 李小翠 网易数帆存储团队分布式存储介绍 01 存储的发展 | 分布式存储的分类 | 分布式存储的要素 02 03 04 Ceph 架构简介 | 场景介绍 | 使用中的问题 Curve 架构简介 | 数据对比 | 应用情况 FAQ 答疑存储的发展 互联网时代,数据大爆炸 大型主机 成本高 单点问题 扩容困难 各存储设备通过网络互联 各存储设备通过网络互联 大规模 弹性扩容 底层构建在分布式存储之上 云的概念 成本:共用基础设施 弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 对指定地址空间进行随机读写 传统意义的块存储:磁盘分布式存储的要素 如何构建分布式文件系统? 以分布式块存储为例。 •提供大容量的块设备 •可以在指定地址空间内随机读写 write(offset, len) •服务质量要求:数据不能丢、服务随时可用、弹性扩缩容 要什么 •成百上千台存储节点 •磁盘故障、机器故障、网络故障概率性发生 有什么 分布式存储系统需要满足接口需求,并且有持续监控、错误检测、容错与自动恢复的能力0 码力 | 29 页 | 2.46 MB | 6 月前3 新一代云原生分布式存储新一代云原生分布式存储—Curve 上 李小翠 网易数帆存储团队分布式存储介绍 01 存储的发展 | 分布式存储的分类 | 分布式存储的要素 02 03 04 Ceph 架构简介 | 场景介绍 | 使用中的问题 Curve 架构简介 | 数据对比 | 应用情况 FAQ 答疑存储的发展 互联网时代,数据大爆炸 大型主机 成本高 单点问题 扩容困难 各存储设备通过网络互联 各存储设备通过网络互联 大规模 弹性扩容 底层构建在分布式存储之上 云的概念 成本:共用基础设施 弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 对指定地址空间进行随机读写 传统意义的块存储:磁盘分布式存储的要素 如何构建分布式文件系统? 以分布式块存储为例。 •提供大容量的块设备 •可以在指定地址空间内随机读写 write(offset, len) •服务质量要求:数据不能丢、服务随时可用、弹性扩缩容 要什么 •成百上千台存储节点 •磁盘故障、机器故障、网络故障概率性发生 有什么 分布式存储系统需要满足接口需求,并且有持续监控、错误检测、容错与自动恢复的能力0 码力 | 29 页 | 2.46 MB | 6 月前3
 Raft在Curve存储中的工程实践01 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化项目背景 Curve是一个 高性能、更稳定、易运维 的 云原生 分布式存储系统,支持 块存储 和 文件存储 2018~2021 Curve块存储 2021~2022 Curve文件存储 • 基于Openstack构建云计算平台 • 底层存储使用Ceph块存储 AI/大数据业务的快速增长 • 存储使用Ceph文件存储/HDFS • 成本/性能挑战 Curve块存储和文件存储均采用raft协议整体架构 • 对接OpenStack平台为云主机提供高性能块 存储服务 • 对接Kubernetes为其提供RWO、RWX等类 型的持久化存储卷 • 对接PolarFS作为云原生数据库的高性能存储 底座,完美支持云原生数据库的存算分离架 构 • Curve作为云存储中间件使用S3兼容的对象 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化RAFT协议简介 什么是raft • raft 是一种新型易于理解的分布式一致性复制协议,由斯坦福大学的Diego Ongaro和John Ousterhout提出,《In Search of an Understandable Consensus Algorithm(Extended0 码力 | 29 页 | 2.20 MB | 6 月前3 Raft在Curve存储中的工程实践01 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化项目背景 Curve是一个 高性能、更稳定、易运维 的 云原生 分布式存储系统,支持 块存储 和 文件存储 2018~2021 Curve块存储 2021~2022 Curve文件存储 • 基于Openstack构建云计算平台 • 底层存储使用Ceph块存储 AI/大数据业务的快速增长 • 存储使用Ceph文件存储/HDFS • 成本/性能挑战 Curve块存储和文件存储均采用raft协议整体架构 • 对接OpenStack平台为云主机提供高性能块 存储服务 • 对接Kubernetes为其提供RWO、RWX等类 型的持久化存储卷 • 对接PolarFS作为云原生数据库的高性能存储 底座,完美支持云原生数据库的存算分离架 构 • Curve作为云存储中间件使用S3兼容的对象 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化RAFT协议简介 什么是raft • raft 是一种新型易于理解的分布式一致性复制协议,由斯坦福大学的Diego Ongaro和John Ousterhout提出,《In Search of an Understandable Consensus Algorithm(Extended0 码力 | 29 页 | 2.20 MB | 6 月前3
 Curve文件系统元数据管理© XXX Page 1 of 24 Curve文件系统元数据管理(已实现)© XXX Page 2 of 24 1. 2. 3. 4. Inode 1、设计一个分布式文件系统需要考虑的点: 2、其他文件系统的调研总结 3、各内存结构体 4、curve文件系统的元数据内存组织 4.1 inode定义: 4.2 dentry的定义: 4.3 内存组织 5 元数据分片 /B/E,指向文件/A/C 6、curve文件系统的多文件系统的设计 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 moosefs(mfs) 有元数据服务器 全内存 fsnode → hashtable(inode id) fsedge → hashtable (parent inode + name) 全内存 chunk → hashtable(chunk id) log + dump record 差 否 chunk 链式多副本 overwirte有数据不一致风险 chubaofs(cfs) 有元数据服务器 inode0 码力 | 24 页 | 204.67 KB | 6 月前3 Curve文件系统元数据管理© XXX Page 1 of 24 Curve文件系统元数据管理(已实现)© XXX Page 2 of 24 1. 2. 3. 4. Inode 1、设计一个分布式文件系统需要考虑的点: 2、其他文件系统的调研总结 3、各内存结构体 4、curve文件系统的元数据内存组织 4.1 inode定义: 4.2 dentry的定义: 4.3 内存组织 5 元数据分片 /B/E,指向文件/A/C 6、curve文件系统的多文件系统的设计 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 moosefs(mfs) 有元数据服务器 全内存 fsnode → hashtable(inode id) fsedge → hashtable (parent inode + name) 全内存 chunk → hashtable(chunk id) log + dump record 差 否 chunk 链式多副本 overwirte有数据不一致风险 chubaofs(cfs) 有元数据服务器 inode0 码力 | 24 页 | 204.67 KB | 6 月前3
 Curve设计要点新一代分布式存储系统 Curve 李小翠Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多,线上异常演练 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) • 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务背景 01 02 03 04 总体设计 系统特性 近期规划基本架构 • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度基本架构 • 元数据节点 MDS 管理元数据信息 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查基本架构 • 快照克隆服务器 独立于核心服务 储到支持S3接口的 对象存储,不限制数量 异步快照、增量快照 从快照/镜像克隆 ( lazy/非lazy ) 从快照回滚数据组织形式 • 底层 可用性 / 可靠性 扩展性 /0 码力 | 35 页 | 2.03 MB | 6 月前3 Curve设计要点新一代分布式存储系统 Curve 李小翠Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多,线上异常演练 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) • 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务背景 01 02 03 04 总体设计 系统特性 近期规划基本架构 • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度基本架构 • 元数据节点 MDS 管理元数据信息 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查基本架构 • 快照克隆服务器 独立于核心服务 储到支持S3接口的 对象存储,不限制数量 异步快照、增量快照 从快照/镜像克隆 ( lazy/非lazy ) 从快照回滚数据组织形式 • 底层 可用性 / 可靠性 扩展性 /0 码力 | 35 页 | 2.03 MB | 6 月前3
 Curve核心组件之mds – 网易数帆Curve核心组件之 MDS 陈威Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查 • 快照克隆服务器MDS各个组件 MDS是中心节点,负责元数据管理、集群状态收集与调度。MDS包含以下几个部分: • Topology: 管理集群的 topo 元数据信息。 • Nameserver: 管理文件的元数据信息。 器至少是部署在不同的机架,一个server必须归属于一个 zone。 • server: 用于抽象描述一台物理服务器,chunkserver必须 归属一个于server。 • Chunkserver: 用于抽象描述物理服务器上的一块物理磁盘 (SSD),chunkserver以一块磁盘作为最小的服务单元。TOPOLOGY curve在上物理pool之上又引入逻辑pool的概念,以实现统一存储系统的需求,即在单个存储系统中多副0 码力 | 23 页 | 1.74 MB | 6 月前3 Curve核心组件之mds – 网易数帆Curve核心组件之 MDS 陈威Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查 • 快照克隆服务器MDS各个组件 MDS是中心节点,负责元数据管理、集群状态收集与调度。MDS包含以下几个部分: • Topology: 管理集群的 topo 元数据信息。 • Nameserver: 管理文件的元数据信息。 器至少是部署在不同的机架,一个server必须归属于一个 zone。 • server: 用于抽象描述一台物理服务器,chunkserver必须 归属一个于server。 • Chunkserver: 用于抽象描述物理服务器上的一块物理磁盘 (SSD),chunkserver以一块磁盘作为最小的服务单元。TOPOLOGY curve在上物理pool之上又引入逻辑pool的概念,以实现统一存储系统的需求,即在单个存储系统中多副0 码力 | 23 页 | 1.74 MB | 6 月前3
 PolarDB开源生态介绍 - 杭州Meetup 2022.10.15PolarDB开源生态介绍 阿里云 digoal为什么开源是未来?阿里巴巴开源缩略图数据库开源大图PolarDB开源云原生分布式数据库家族 : 兼容MySQL&PostgreSQL用户 生态伙伴 人才 降本提效 团队成长 商业服务 用户合作 • 联合实验室 PolarDB云原生分布式开源数据库产品 高校合作 • 课程合作 • 科研项目合作 • 工作组 高校 协同育人、教学优化成果 获客 技术委员会 开源社区治理 • 联合解决方案|产品 • OxM发型版 • 数据库管理产品 • 数据迁移、联邦产品 生态伙伴合作 高校合作 学习、分享、比赛、贡献 服务客户 开源共建 社区运营 生态建设 获得生态 商业服务 使用开源 PolarDB 开源学习 开源共建 人才招聘 产品适配 OxM 源码兜底 技术领先 PolarDB开源生态 共建模式 国产化替代 应用软件 适配迁移 管理维护 • 数据集成 • 开发协同 • ISV • 培训育人 • 商业服务 • ... 2022S1: 3500W曝光 150W学习人次 2万+实践体验 2K+持证人才 PolarDB开发大赛: 230+参赛选手 21K+ 社区用户 • 全面开源 • 兼容PG&MySQL • 透明分布式 • HTAP • 企业特性(闪回、TDE、冷热分离...) 50+全链路伙伴:0 码力 | 7 页 | 1.45 MB | 6 月前3 PolarDB开源生态介绍 - 杭州Meetup 2022.10.15PolarDB开源生态介绍 阿里云 digoal为什么开源是未来?阿里巴巴开源缩略图数据库开源大图PolarDB开源云原生分布式数据库家族 : 兼容MySQL&PostgreSQL用户 生态伙伴 人才 降本提效 团队成长 商业服务 用户合作 • 联合实验室 PolarDB云原生分布式开源数据库产品 高校合作 • 课程合作 • 科研项目合作 • 工作组 高校 协同育人、教学优化成果 获客 技术委员会 开源社区治理 • 联合解决方案|产品 • OxM发型版 • 数据库管理产品 • 数据迁移、联邦产品 生态伙伴合作 高校合作 学习、分享、比赛、贡献 服务客户 开源共建 社区运营 生态建设 获得生态 商业服务 使用开源 PolarDB 开源学习 开源共建 人才招聘 产品适配 OxM 源码兜底 技术领先 PolarDB开源生态 共建模式 国产化替代 应用软件 适配迁移 管理维护 • 数据集成 • 开发协同 • ISV • 培训育人 • 商业服务 • ... 2022S1: 3500W曝光 150W学习人次 2万+实践体验 2K+持证人才 PolarDB开发大赛: 230+参赛选手 21K+ 社区用户 • 全面开源 • 兼容PG&MySQL • 透明分布式 • HTAP • 企业特性(闪回、TDE、冷热分离...) 50+全链路伙伴:0 码力 | 7 页 | 1.45 MB | 6 月前3
 CurveFS方案设计为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是实现了块存储,向上提供块设备服务,CurveFS会基于此实现。第一阶段的目标是实现 满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: chubaofs: ChubaoFS© XXX Page 并对以上文件系统在相同环境进行了元数据节点性能测试: 。测试结果c开发的moosefs和fastcfs元数据性能远优于go开发的chubaofs和c开发的cephfs,理论上分析这个结果是合理的,分布式的元数据设 调研测试 计会涉及到多次rpc的交互。这里需要确认的一点是:我们需要怎样的元数据节点的性能? 可行性分析 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: 可用性足够,由于是 master-slave 的方式,master 以同步方式调用 slave,slave 在内存中也缓存了全部元数据信息 master-slave 多副本数据 CurveFS 分布式元数据设计 类似 chubaofs 的元数据设计方式,同样是采用 dentry,inode 两层映射关系,所有的元数据都缓存在内存中。元数据是分片的,使用 multi-raft 持久化元数据以及保证多副本数据一致性。基于这种方式开发:0 码力 | 14 页 | 619.32 KB | 6 月前3 CurveFS方案设计为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是实现了块存储,向上提供块设备服务,CurveFS会基于此实现。第一阶段的目标是实现 满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: chubaofs: ChubaoFS© XXX Page 并对以上文件系统在相同环境进行了元数据节点性能测试: 。测试结果c开发的moosefs和fastcfs元数据性能远优于go开发的chubaofs和c开发的cephfs,理论上分析这个结果是合理的,分布式的元数据设 调研测试 计会涉及到多次rpc的交互。这里需要确认的一点是:我们需要怎样的元数据节点的性能? 可行性分析 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: 可用性足够,由于是 master-slave 的方式,master 以同步方式调用 slave,slave 在内存中也缓存了全部元数据信息 master-slave 多副本数据 CurveFS 分布式元数据设计 类似 chubaofs 的元数据设计方式,同样是采用 dentry,inode 两层映射关系,所有的元数据都缓存在内存中。元数据是分片的,使用 multi-raft 持久化元数据以及保证多副本数据一致性。基于这种方式开发:0 码力 | 14 页 | 619.32 KB | 6 月前3
 Curve质量监控与运维 - 网易数帆多种场景自研的分布式存储系统:  高性能、低延迟  当前实现了高性能块存储,对接OpenStack和 K8s  网易内部线上无故障稳定运行近两年  已完整开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve Curve 3/33为用户服务 作为一个复杂的大型分布式存储系统,Curve 作为一个复杂的大型分布式存储系统,Curve 需要利用科学的方法论和专业的工具,在整个 软件生命周期内更好地为用户服务:  质量——向用户交付稳定可靠的软件;  监控——直观地展示Curve运行状态;  运维——保障Curve始终稳定高效运行。 质量 ✓ 质量管理体系(设计、开发、review、CI) ✓ 测试方法论(单元测试、集成测试、系统测试) 监控 ✓ 监控架构 ✓ 指标采集、后端处理、可视化展示 单个模块的误差积累是否会放大,从而 达到不可接受的程度。  功能测试 站在使用者的角度,对模块提供的功能进行完备 的测试。  异常测试 制造或模拟系统异常(磁盘错误、网络错误、资源 冲突等)、依赖服务异常、应用本身异常等非正常 情况,测试软件的性能和稳定性是否符合预期。  规模测试 测试模块在一定规模下是否能够正常工作,是否 会出现异常或者崩溃, 14/33系统测试 系统测试是对整0 码力 | 33 页 | 2.64 MB | 6 月前3 Curve质量监控与运维 - 网易数帆多种场景自研的分布式存储系统:  高性能、低延迟  当前实现了高性能块存储,对接OpenStack和 K8s  网易内部线上无故障稳定运行近两年  已完整开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve Curve 3/33为用户服务 作为一个复杂的大型分布式存储系统,Curve 作为一个复杂的大型分布式存储系统,Curve 需要利用科学的方法论和专业的工具,在整个 软件生命周期内更好地为用户服务:  质量——向用户交付稳定可靠的软件;  监控——直观地展示Curve运行状态;  运维——保障Curve始终稳定高效运行。 质量 ✓ 质量管理体系(设计、开发、review、CI) ✓ 测试方法论(单元测试、集成测试、系统测试) 监控 ✓ 监控架构 ✓ 指标采集、后端处理、可视化展示 单个模块的误差积累是否会放大,从而 达到不可接受的程度。  功能测试 站在使用者的角度,对模块提供的功能进行完备 的测试。  异常测试 制造或模拟系统异常(磁盘错误、网络错误、资源 冲突等)、依赖服务异常、应用本身异常等非正常 情况,测试软件的性能和稳定性是否符合预期。  规模测试 测试模块在一定规模下是否能够正常工作,是否 会出现异常或者崩溃, 14/33系统测试 系统测试是对整0 码力 | 33 页 | 2.64 MB | 6 月前3
共 24 条
- 1
- 2
- 3













