Curve设计要点01 02 03 04 总体设计 系统特性 近期规划背景 • 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) • 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务背景 01 02 03 04 总体设计 系统特性 近期规划基本架构 • Chunkserver节点; 4. Client 向 leader 发送读写请求, Chunkserver 完成后通知client; 5. Client通知用户请求完成。背景 01 02 03 04 总体设计 系统特性 近期规划单卷4K随机读写IOPS 102k 39.7k 41.7k 127k 4K随机写 4K随机读 Ceph(L/N) Curve 151.89% 204.56% 单卷4K随机读写平均延迟(ms) 自动化部署工具 • 一键部署,一键升级高质量 • 良好的模块化和抽象设计 • 完善的测试体系 • 单元测试 行覆盖80%+,分支覆盖70%+ • 集成测试 Given When Then 方法 完备的测试用例集 • 自动化异常测试 41个异常用例 • 自动化大压力随机故障注入 20轮随机故障注入背景 01 02 03 04 总体设计 系统特性 近期规划• 性能优化 • 满足数据库性能要求0 码力 | 35 页 | 2.03 MB | 6 月前3
CurveFS方案设计© XXX Page 1 of 14 CurveFS方案设计(总体设计,只实现了部分)© XXX Page 2 of 14 时间 修订人 修订内容 2021-03-23 李小翠 初稿(背景,调研,架构设计) 2021-03-30 李小翠 增加快照部分 2021-04-13 李小翠、陈威 补充元数据数据结构 2021-04-19 李小翠、吴汉卿、许超杰等 补充文件空间分配,讨论与确认 背景 背景 调研 开源fs 性能对比 可行性分析 方案对比 对比结论 架构设计 卷和文件系统 元数据架构 文件系统快照 方案一:文件/目录级别快照 方案二:文件系统快照 关键点 元数据设计 数据结构 索引设计 文件空间管理 开发计划及安排 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是实现了块存储,向上 可行性分析 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: CurveFS kv方案设计 curve实现块设备时,元数据不是扁平化的设计,而是采用来有目录层级的 namespace 方式,namespace 已经实现了 fs 元数据管理的雏形,具备了基本的元数据管理功能。(当时为什么要设计为 namespace 的管理形式?留有租户这个概念),直接基于 namespace0 码力 | 14 页 | 619.32 KB | 6 月前3
CurveFS Client 概要设计© XXX Page 1 of 11 CurveFS Client 概要设计(已实现)© XXX Page 2 of 11 背景 概述 关键接口分析 init destroy lookup write read open create & mknod mkdir forget unlink rmdir opendir readdir getattr & setattr access rename readlink link flush & fsync 其他 功能分析 模块划分 接口设计 Cache设计 时间 作者 内容 2021-04-27 许超杰 初稿 背景 CurveFS初步设计见 , 目前需细化Client端设计 CurveFS方案设计(总体设计,只实现了部分) 概述 CurveFS client 向上提供两层接口,分别是© (fuse_req_t req, fuse_ino_t ino, fuse_ino_t newparent, const char *newname); 这个涉及到下文中”重要问题讨论“,目前暂时无法设计 硬链接相关目前可先不实现。© XXX Page 9 of 11 flush & fsync 缓存的问题暂时先不考虑太细,目前默认数据和元数据直接存储到底层,这两个也可先不实现 其他 xa0 码力 | 11 页 | 487.92 KB | 6 月前3
Curve 分布式存储设计Curve 分布式存储设计 程义 — Curve Maintainer XAgenda 第二 第三 第四 第一 Curve的由来 Curve的设计目标 Curve块存储 和 Curve文件存储 Curve社区Curve的由来 1. 代码复杂/代码量大 2. 运维难度高 3. 无法满足高的性能需求Curve的设计目标 1. Curve云原生软件定义存储 2. Curve块存储 CopySet分配算法 4. 拓扑结构 5. 高性能 6. chunkfilepool (降低写放大) 7. data stripe (增大并发) 8. zerocopy 9. 云原生 核心设计Curve块存储 1. physical pool用于实现对机 器资源物理隔离 2. zone故障隔离的基本单元 3. server表示物理服务器 4. chunkserver物理服务器上 chunkserver负责数据的存储 2. RAFT协议保持数据的一致 性 3. chunkfile pool降低元数据开 销 Chunkserver服务Curve块存储 性能设计Curve块存储 在线升级设计 1. 客户端分成NebdClient与 NebdServer两部分 2. NebdClient只做简单的转发 3. NebdServer实现大部分的客 户端逻辑Curve块存储0 码力 | 20 页 | 4.13 MB | 6 月前3
curvefs client删除文件和目录功能设计client 删除文件和目录功能设计© XXX Page 2 of 15 背景 相关调研 moosefs chubaofs 方案设计思考 1.Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash放在哪里? 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? 方案设计 Trash机制: Session机制: 遗留问题 工作量评估 背景 目前curvefs client版本对删除unlink和rmdir的设计只有简单的删除inode和dentry结构,遗留了nlink和lookup count相关的内容还未实现,是不完备的。本文首先调研moosefs,chubaofs等分布式系统,参考并设计解决上述遗留问题。 当前删除接口代码如下:© XXX Page 3 of 15 CURVEFS_ERROR 我们的整个架构设计本身就类似chubao方式,这个方案本身是chubaofs的成熟方案,说明是已经被验证过是可行的方案。 缺点: 由于link、unlink等接口涉及跨服务器的两个请求的处理,可能会存在孤儿inode的问题,这一情况,chubaofs是通过运维手段去修复,见遗留问题。moosefs由于单mds,不存在这个问题。 方案设计思考 首先我们可以确定以下几个设计点: 删除0 码力 | 15 页 | 325.42 KB | 6 月前3
CurveFS对接S3方案设计© XXX Page 1 of 11 curvefs对接s3方案设计(过程文档)© XXX Page 2 of 11 时间 修订人 修订内容 2021-05-20 胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto0 码力 | 11 页 | 145.77 KB | 6 月前3
B站统⼀监控系统的设计,演进
与实践分享B站统⼀一监控系统的设计,演进 与实践分享 梁梁晓聪 devops @lxcong About Me • 梁梁晓聪 • 2015年年加⼊入B站 • devops • 热爱新技术,热爱开源 • ⼩小宅男 故事的开始 B站炸了了.舆情监控(括弧笑脸) 我们的挑战 • 技术栈多 • 产品模块复杂 • 业务爆发式增⻓长 • 运维要求⾼高 当前情况: • 覆盖率低0 码力 | 34 页 | 650.25 KB | 1 年前3
Curve文件系统元数据持久化方案设计0 码力 | 12 页 | 384.47 KB | 6 月前3
Zabbix 7.0 中文手册创建一个主机条目,然后创建一个用于监控其 CPU 的监控项,然后是一个触发器,如果 CPU 过高则触发动作,然后通过通过动 作操作向您发送电子邮件。这可能看起来像很多步骤,其实使用模板并不需要。而且,由于这种设计,可以创建非常灵活的设置。 5 Zabbix 7.0.0 新功能 参阅此版本的重大变更 AGPL-3.0 许可证 Zabbix 软件现在是在 AGPL-3.0 许可证 (以前是 GPL v2 支持 walk[OID] 和 get[OID] 监控项) 这些 poller 进程是异步的 - 它们可以在不等响应的情况下启动新的检查,并可以配置最多 1000 个并发检查。 异步 poller 的设计是为了提高效率,与同步轮询器相比,同步 poller 在同一时间只能执行一个检查,并且大部分时间都花费在等待响应 上。 server/proxy 配置文件中新增了 pollers 参数,你可以通过修改StartAgentPollers Zabbix agent 2)在主动检查中都支持灵活/调度间隔。 网络发现的并发性 之前,每个网络发现规则都由一个发现进程处理。因此,规则内的所有服务检查只能按顺序执行。 在新版本中,网络发现进程已重新设计,以允许服务检查之间的并发性。已添加一个新的发现管理器进程,以及可配置数量的发现工作进 程(或线程)。 发现管理器处理发现规则,并为每个规则创建一个包含任务(服务检查)的发现作业。服务检查由发现工作进程接收并执行。只有那些具0 码力 | 1951 页 | 33.43 MB | 1 年前3
爱奇艺 CDN 运维平台实践-张强在Intel中国研究中心从事移动OS相关开发工作,先后负责过移动OS Package Manager、工具链等模块的设计与研发工作 Ø 2014年加入爱奇艺,主导了CDN数据平台、CDN调度平台、CDN运维平台研发上线, 目前负责CDN相关产品开发和运维工作 01 爱奇艺CDN概况 02 运维痛点分析 03 运维平台架构设计 04 平台应用&实践 05 总结&展望 目录 01 爱奇艺CDN概况 数据增长趋势 l 日常软件、配置升级不可控 l 一些案例: Ø 数据统计 l 实时性差 l 迭代效率低 l 开发繁琐 Ø 设备管理 03 运维平台设计 架构演进大事记 整体架构设计 通用代理服务集群设计(Promise) 运维任务模型设计 应用配置管理 权限管理 运维平台Fast 整体架构 API接入层 通用代理服务(Promise) HTTP传输 ZMQ-Proxy KCP-Proxy 任务管理客户端、代理客户端、插件库等 Fast 运维平台架构 fast客户端 promise客户端 插件库 外部系统 外部联动可视化、资产、调度、监控等多个系统 通用代理服务(Promise)设计 Ø目标: l 集群化: 自动探测发现集群所有的服务实例 l 高可用: 保证每个节点有3+可用代理 l 可扩展: 可以任意上线下线代理设备,自动摘除 l 智能路由: 自动探测最佳代理节点0 码力 | 34 页 | 1.75 MB | 1 年前3
共 99 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10













