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. 低成本大容量需求的业务 4. 中间件冷热数据自动分离 5. S3和POSIX统一访问需求 主要挑战和支持场景Curve Roadmap 1. 架构 1. 文件存储支持分布式缓存、完善冷热数据分层存储能力 2. 完善混合云、公有云上部署架构 3. 完善高性能3副本存储引擎,支持混合盘 4. 文件存储支持数据存储到HDFS、rados等引擎 2. 性能 1. 完善RDMA/SPDK方案,发布稳定版本0 码力 | 20 页 | 4.13 MB | 5 月前3CurveFs 用户权限系统调研
1 of 33 CurveFs 用户权限系统调研(已实现)© XXX Page 2 of 33 一、Curvefs测试 1. 启动curvefs 问题1:root用户无法访问挂载目录 测试 allow_root 测试allow_other 参考文献 问题2:本地文件系统挂载默认是共享的? 问题3:文件系统访问控制是在哪一层实现的? 二、文件系统权限管理 文件类型 文件权限 特殊权限(SUID 文件默认权限umask 用户&用户组 文件系统用户权限管理 对mode的管理 对ACL(Access Control Lists)的管理 ACL Access Entry保存在哪? ACL的表示 内存中的ACL 是如何与具体的 Inode 相关联 如何存储和获取ACL信息 Inode权限校验 chmod、chown、setfacl、getfacl接口文件系统自己如何实现 结论: 参考文献: 一、Curvefs测试 Page 4 of 33 查阅资料发现这是fuse的一种安全策略,默认是只有filesystem owner拥有该文件系统的访问权限,如果想要其他用户有权访问,需要在挂载参数中指定‘-o allow-root’ 或'-o allow-other'以允许相应用户有权访问该文件系统,如果挂载者不是root还需要在/etc/fuse.conf(/usr/local/etc/fuse.conf)中增加配0 码力 | 33 页 | 732.13 KB | 5 月前3Curve文件系统元数据管理
© 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 元数据分片 hardlink:生成一个hardlink /B/E,指向文件/A/C 6、curve文件系统的多文件系统的设计 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 stl unordered_map moose,使用c实现 4、curve文件系统的元数据内存组织 curve文件系统元数据主要有3个类型,inode, dentry, 。 extent 4.1 inode定义: inode定义见:curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 5 of 24 typedef uint64_t0 码力 | 24 页 | 204.67 KB | 5 月前3Curve文件系统空间分配方案
Curve文件系统空间分配方案(基于块的方案,已实现)© XXX Page 2 of 11 背景 本地文件系统空间分配相关特性 局部性 延迟分配/Allocate-on-flush Inline file/data 空间分配 整体设计 空间分配流程 特殊情况 空间回收 小文件处理 并发问题 文件系统扩容 接口设计 RPC接口 空间分配器接口 背景 根据 ,文件系统基于当前的块进 ,文件系统基于当前的块进行实现,所以需要设计基于块的空间分配器,用于分配并存储文件数据。 CurveFS方案设计(总体设计,只实现了部分) 本地文件系统空间分配相关特性 局部性 尽量分配连续的磁盘空间,存储文件的数据。这一特性主要是针对HDD进行的优化,降低磁盘寻道时间。 延迟分配/Allocate-on-flush 在sync/flush之前,尽可能多的积累更多的文件数据块才进行空间分配,一方面可以提高局部性,另一方面可以降低磁盘碎片。 几百字节的小文件不单独分配磁盘空间,直接把数据存放到文件的元数据中。 针对上述的本地文件系统特性,Curve文件系统分配需要着重考虑 。 局部性 虽然Curve是一个分布式文件系统,但是单个文件系统的容量可能会比较大,如果在空间分配时,不考虑局部性,inode中记录的extent数量很多,导致文件系统元数据量很大。© XXX Page 3 of 11 假如文件系统大小为1PiB,空间分配粒度为1MiB,inode中存储的e0 码力 | 11 页 | 159.17 KB | 5 月前3新一代云原生分布式存储
新一代云原生分布式存储—Curve 上 李小翠 网易数帆存储团队分布式存储介绍 01 存储的发展 | 分布式存储的分类 | 分布式存储的要素 02 03 04 Ceph 架构简介 | 场景介绍 | 使用中的问题 Curve 架构简介 | 数据对比 | 应用情况 FAQ 答疑存储的发展 互联网时代,数据大爆炸 大型主机 成本高 单点问题 扩容困难 各存储设备通过网络互联 各存储设备通过网络互联 大规模 弹性扩容 底层构建在分布式存储之上 云的概念 成本:共用基础设施 弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 传统意义的文件系统: Ext4 对指定地址空间进行随机读写 传统意义的块存储:磁盘分布式存储的要素 如何构建分布式文件系统? 以分布式块存储为例。 •提供大容量的块设备 •可以在指定地址空间内随机读写 write(offset, len) •服务质量要求:数据不能丢、服务随时可用、弹性扩缩容 要什么 •成百上千台存储节点 •磁盘故障、机器故障、网络故障概率性发生 有什么 分布式存储系统需要满足0 码力 | 29 页 | 2.46 MB | 5 月前3Curve文件系统元数据Proto(接口定义)
XXX Page 1 of 15 curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 2 of 15 1、代码结构和代码目录 curve文件系统是相对于curve块设备比较独立的一块,在当前curve项目的目录下,增加一个一级目录curvefs,curvefs下有自己独立的proto\src\test。 2、文件系统proto定义 2.1 mds.proto0 码力 | 15 页 | 80.33 KB | 5 月前31.6 利用夜莺扩展能力打造全方位监控系统
利用夜莺扩展能力打造全方位监控系统 喻波 滴滴 专家工程师 目 录 运维监控需求来源 01 监控痛点:全面完备、跨云 02 夜莺介绍: 国产开源监控系统 03 夜莺设计实现:Agentd 数据采集 04 夜莺设计实现:Server 数据处理 05 夜莺设计实现:技术难点及细节 06 运维监控需求来源 第一部分 如果贵司的业务强依赖IT技术,IT故障会直接影响营业收入, 环节出问题都能及时感知 产品要求 01.端上、链路、资源、组件、应用多维度跨云监控 端上 卡顿 崩溃 链路 连通性 链路质量 服务端 硬件资源 组件服务 业务应用 夜莺介绍:国产开源监控系统 第三部分 国产开源监控产品相对比较匮乏,夜莺希望重新定义国产开 源监控,支持云原生监控,经受了滴滴大规模生产检验 Nightingale 夜莺是新一代国产智能监控平台,既可以解决传统物理机虚拟机的场景,也可以解 LoadBalance 1. 单机版Prom 2. 集群版m3db 3. 集群版n9e-tsdb 3种存储方案,按需选择 Agentd 夜莺设计实现 Agentd 数据采集 第四部分 监控系统的核心功能,是数据采集、存储、分析、展示,完 备性看采集能力,是否能够兼容并包,纳入更多生态的能力, 至关重要 夜莺数据采集 01.监控数据采集,all in one的agentd Agentd0 码力 | 40 页 | 3.85 MB | 1 年前3构建openEuler面向RISC-V的操作系统
openEuler4RISC-V: 构建openEuler面向 周鹏1,2 张旭舟2 于佳耕1 武延军1* 赵琛 1 1中国科学院软件研究所 2openEuler SIG RISC-V 2020-07 RISC-V的操作系统 Institute of Software,Chinese Academy of Sciences 提纲 ▪ 背景介绍 ▪ 技术路线 ▪ 当前进展 ▪ 接下来的工作 ▪ 欢迎加入 Institute 开放的操作 系统openEuler,推动软硬件生态繁荣发展 ▪ RISC-V ❖ 是一个通用处理器指令集架构(ISA),具有开源、开放、先进、生态协作 等技术优势。 ▪ SIG RISC-V ❖ 中科院软件所智能软件中心发起,在openEuler 社区成立的一个RISC-V特别 兴趣组 ❖ 其基本工作是 构建openEuler 面向 RISC-V 架构的操作系统 推动 满足广大技术爱好者、企业、组织等尝试在RISC-V环境上开发、使用 openEuler操作系统的需要 ❖ 技术支持 面向RISC-V硬件的openEuler操作系统定制开发 软件包编译、系统构建、系统定制等技术支持 ❖ 提供自动化编译、构建工具、构建手册、RPM Repo托管等资源 使对 RISC-V 感兴趣的开发者能够快速参与到开源系统开发活动中来。 Institute of Software,Chinese0 码力 | 18 页 | 985.45 KB | 1 年前3openEuler : 面向数字基础设施的开源操作系统
为开源软件提供指导、虚拟协作空间、创新平台和服务 在社区开发、管理和孵化开源软件,并且与其他许多开源社区合作 openEuler : 面向数字基础设施的开源操作系统 openEuler 是? openEuler 愿景 openEuler 使命 为世界提供数字基础设施的开源操作系统 234万 社区用户 610万 装机量 谁在使用 openEuler 谁在贡献 openEuler 105 SIG组 1 一套架构对服务器、云计算、边缘计算和嵌入式 等场景的支持。 全场景支持 软件包总数已超过4.8万,IT、CT、OT主流场景 100%支持。 openHarmony生态互通 通过Soft Bus分布式软总线,实现与 OpenHarmony能力共享,实现生态互通。 openEuler 技术架构 服务器场景 etMem 内存分级扩展 Gala 基于AI的故障处理框架 … 云原生/边缘场景 A-Tune 基于AI的智能优化引擎 Gazelle 用户态协议栈 SysMaster 系统管理 Syscare 智能热补丁平台 A-OPS 系统故障智能判断 eNFS 增强NFS协议 BishengJDK 高性能JDK系统 国密 全栈国密支持 EulerFS 高性能SCM文件系统 DPU utils DPU 开发套件 虚拟化 | 容器 | 基础中间件 多样性内核架构0 码力 | 12 页 | 2.87 MB | 1 年前3B站统⼀监控系统的设计,演进 与实践分享
B站统⼀一监控系统的设计,演进 与实践分享 梁梁晓聪 devops @lxcong About Me • 梁梁晓聪 • 2015年年加⼊入B站 • devops • 热爱新技术,热爱开源 • ⼩小宅男 故事的开始 B站炸了了.舆情监控(括弧笑脸) 我们的挑战 • 技术栈多 • 产品模块复杂 • 业务爆发式增⻓长 • 运维要求⾼高 当前情况: • 覆盖率低 重新定义的监控系统 ✦ 完整的监控体系 ✦ 科学的告警策略略 ✦ 统⼀一的告警中⼼心 完整的监控体系 • 虚拟机 • 物理理设备 • 容器器 • 专线质量量 • 机房出⼝口质量量 • 交换设备 • http • tcp • ping 基础层 应⽤用层 • cache资源 • db资源 • mq资源 • lb资源 • es资源 • 分布式⽂文件 • cncf基⾦金金会 metric • 40w+/s的指标采集 • 10k+ 监控⽬目标 • 10+ prometheus节点 现状: • 性能 • ⾼高可⽤用 • 分布式 • 使⽤用成本 问题: ? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets0 码力 | 34 页 | 650.25 KB | 1 年前3
共 140 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14