Curve设计要点
新一代分布式存储系统 Curve 李小翠Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多,线上异常演练 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: 对数据增删改查基本架构 • 快照克隆服务器 独立于核心服务 储到支持S3接口的 对象存储,不限制数量 异步快照、增量快照 从快照/镜像克隆 ( lazy/非lazy ) 从快照回滚数据组织形式 • 底层 可用性 / 可靠性 扩展性 / 负载均衡 向上提供无差别文件流 • Application 块/对象/EC等 感知具体格式 提供不同文件类型支撑不同上层应用数据组织形式 • 地址空间到—>chunk: 1 : 1 • 采用append的方式写入数据组织形式 • AppendFile • 地址空间到—>chunk: 1 : 1 • 采用append的方式写入 • 支撑多副本对象存储 通过文件/特殊目录隔离 挖洞即时回收 单独的元信息的存储方案数据组织形式 • AppendECFile • 地址空间到—>chunk: 1 : 1 • 数据chunk + 校验chunk数据组织形式0 码力 | 35 页 | 2.03 MB | 5 月前3Raft在Curve存储中的工程实践
对接PolarFS作为云原生数据库的高性能存储 底座,完美支持云原生数据库的存算分离架 构 • Curve作为云存储中间件使用S3兼容的对象 存储作为数据存储引擎,为公有云用户提供 高性价比的共享文件存储 • 支持在物理机上挂载使用块设备或FUSE文件 系统开源社区 社区运营 生态共建 开源共建 源码兜底 技术领先 目标 方法 影响力 降本 获客 用户 开发者 操作系统 芯片 数据库 云原生 rve文件存储RAFT应用 Curve文件存储 • 分布式文件系统 • 支持多挂载,提供close-to-open一致性 • 提供缓存加速,可使用内存、本地盘、云盘加速 • 存储后端可对接对象存储,降低成本 • 支持生命周期管理 Curve文件存储架构 • client:接受用户请求,采用fuse的方式挂载挂载使用。 • 元数据集群:mds 和 metaserver。 • md0 码力 | 29 页 | 2.20 MB | 5 月前3Curve核心组件之mds – 网易数帆
Curve核心组件之 MDS 陈威Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github curve在上物理pool之上又引入逻辑pool的概念,以实现统一存储系统的需求,即在单个存储系统中多副 本PageFile支持块设备、三副本AppendFile(待开发)支持在线对象存储、AppendECFile(待开发)支持 近线对象存储可以共存。 如上所示LogicalPool与pool为多对一的关系,一个物理pool可以存放各种类型的file。当然由于curve支持 多个pool,可以选择一个0 码力 | 23 页 | 1.74 MB | 5 月前3CurveFS方案设计
索引设计 文件空间管理 开发计划及安排 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是实现了块存储,向上提供块设备服务,CurveFS会基于此实现。第一阶段的目标是实现 满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: 辑无法复用。 利用已有的块设备构建curvefs, 需要实现空间分配器,可以复用快照逻辑做文件系统级别的快照。 对比两种方案:首先curve设计的初衷是提供一个存储底座,在这个底座上构建文件、块、对象等,第一种方式相当于重新开发了一套文件系统,并没有用到块设备的能力。另外第一种方式虽然更加灵活,在空间 管理方面更加简单(本地文件系统已经进行了空间管理),但数据层面需要重新设计,工作量是比较大的。 如果通过获取所有inode,重建出当前的空间分配情况,我们常见的业务形态有以下两种: ① 在AI训练等场景,文件的目录层级较少,文件数量较多,文件较小。这种情况inode比较聚集,一般分布在几个复制组上。inode数量多。 ② 在数据库等场景,文件的目录层级较少,文件数量较少,文件很大。这种情况inode比较聚集,一般分布在几个复制组上。inode数量少。 以上这两种情况,以20TB为例,数据量在MB级别,client获取数据可以使用stream类型的rpc?0 码力 | 14 页 | 619.32 KB | 5 月前3新一代云原生分布式存储
弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 通常意义是支持 POSIX 接口 传统意义的文件系统: Ext4 对指定地址空间进行随机读写 传统意义的块存储:磁盘分布式存储的要素 Ceph 架构简介 | 块存储场景 | 使用中的问题 Curve 架构简介 | 数据对比 | 应用情况 FAQ 答疑架构简介 — 总体架构 开源分布式存储界的扛把子 支持块存储、文件存储、对象存储架构简介 — 概念介绍 object:存储单元 PG:Placement Groups 归置组 归置组中的成员为副本 OSD:Object Storage Device -> 块设备层 -> 不同协议/驱动使用中的问题 • io抖动(一致性协议): 异常场景(比如阵列卡一致性巡检,坏盘,慢盘,网络异常),服务升级 • 性能差(一致性协议):在通用硬件下,无法支撑数据库、kafka等中间件对存储性能和稳定性要求 • 容量不均衡(数据放置):集群各节点容量不均衡需要人为干预 • 上述问题和架构涉及、核心功能的选型有关,在已有开源版本上改进代价很大分布式存储介绍 010 码力 | 29 页 | 2.46 MB | 5 月前3Curve质量监控与运维 - 网易数帆
v e 质 量 、 监 控 与 运 维 秦 亦 1/33背景 01 02 03 04 Curve质量控制 Curve监控体系 Curve运维体系Curve 是网易针对块存储、对象存储、云原生数据库、EC等 多种场景自研的分布式存储系统: 高性能、低延迟 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行近两年 已完整开源 • 设计文档 POC 开发 7/33设计文档规范 设计文档需要具备以下内容: 修订记录 审批记录 系统介绍 相关调研 架构 重要流程 关键算法 接口 数据库设计 非功能特性设计 参考文献 8/33代码编写规范 Curve代码编写规范遵循Google Style Guides(https://google.github.io/styleguide/)0 码力 | 33 页 | 2.64 MB | 5 月前3Curve核心组件之Client - 网易数帆
r v e 核 心 组 件 之 C l i e n t 吴汉卿CURVE CURVE是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟存储底座 • 可扩展存储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接 OpenStack 和 k8s • 网易内部线上无故障稳定运行400+天 • 已开源 • github主页: https://opencurve0 码力 | 27 页 | 1.57 MB | 5 月前3Curve核心组件之chunkserver
Curve核心组件之ChunkServer 查日苏CURVE CURVE是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟存储底座 • 可扩展存储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接 openstack 和 k8s 网易内部线上无故障稳定运行500+天 • 已开源 • github主页: https://opencurve.github0 码力 | 29 页 | 1.61 MB | 5 月前3副本如何用CLup管理PolarDB
从业近20年,拥有20年数据库、操作系统、存储领 域的工作经验,历任过阿里巴巴高级数据库专家、 网易研究院开发专家,从事过阿里巴巴Greenplum、 PostgreSQL、 MySQL数据库的架构设计和运维。 既熟悉数据库的,是最早的Oracle 9i的OCP,又懂开 发,精通C、python。 唐成(网名osdba)-3- @ 专业的PostgreSQL数据库管理平台 CLup介绍CLup产品介绍 CLup介绍CLup产品介绍 网络 clup-agent 数据库主机1 clup-agent 数据库主机2 clup-agent 数据库主机n CLup是什么? 实现PostgreSQL/PolarDB数据库的私有云 RDS产品 PostgreSQL/PolarDB集群统一管理、统一运 维。 PostgreSQL/PolarDB集群可以用功能(即故 障自动切换) 有一台机器上部署的CLup管理节点,这个管 理节点提供WEB管理界面统一管理所有的 PostgreSQL/PolarDB数据库。 每台数据库主机上部署clup-agent。CLup管 理节点通过clup-agent来管理这台机器上的 PostgreSQL/PolarDB数据库。 clup-server 数据中心1 CLup管理节点1 clup-server 数据中心2 CLup管理节点20 码力 | 34 页 | 3.59 MB | 5 月前3PolarDB开源生态介绍 - 杭州Meetup 2022.10.15
PolarDB开源生态介绍 阿里云 digoal为什么开源是未来?阿里巴巴开源缩略图数据库开源大图PolarDB开源云原生分布式数据库家族 : 兼容MySQL&PostgreSQL用户 生态伙伴 人才 降本提效 团队成长 商业服务 用户合作 • 联合实验室 PolarDB云原生分布式开源数据库产品 高校合作 • 课程合作 • 科研项目合作 • 工作组 高校 协同育人、教学优化成果 竞技栏目: 100万/场 曝光流量 • SIG • Issue 开源代码协作 • 理事会 • 人才发展委员会 • 技术委员会 开源社区治理 • 联合解决方案|产品 • OxM发型版 • 数据库管理产品 • 数据迁移、联邦产品 生态伙伴合作 高校合作 学习、分享、比赛、贡献 服务客户 开源共建 社区运营 生态建设 获得生态 商业服务 使用开源 PolarDB 开源学习 开源共建0 码力 | 7 页 | 1.45 MB | 5 月前3
共 24 条
- 1
- 2
- 3