BRPC与UCX集成指南
0 码力 | 66 页 | 16.29 MB | 5 月前3Curve质量监控与运维 - 网易数帆
✓ 质量管理体系(设计、开发、review、CI) ✓ 测试方法论(单元测试、集成测试、系统测试) 监控 ✓ 监控架构 ✓ 指标采集、后端处理、可视化展示 运维 ✓ 运维特性 (易部署、易升级、自治) ✓ 运维工具(部署工具、管理工具) 4/33背景 01 02 03 04 Curve质量控制 Curve监控体系 Curve运维体系软件质量 软件质量的定义是:软件与明确地和隐含地定义的需求相一致的程度。 批量配置、批量部署 • 操作简单 易升级 • 客户端采用CS架构,升级只需重启服务,秒级影响 • MDS与ChunkServer支持滚动升级 自治 • 自动均衡 • 自动故障恢复 27/33易部署 准备安装 包 配置用户 配置SSH 免密 安装 ansible 配置Ansible 执行 ansible 确认集群 状态 28/33易升级 Client易升级 为避免Curve client升级影响QEMU,Curve Client采用了Client- Server架构,以支持热升级。 升级Curve Client只需重启NEBD Server,业务IO中断时间一般在5 秒之内(右图为1.0版本实测结果)。 MDS易升级 自动化滚动升级——先升备再升主,确保升级过程中只发生一次主 备切换。 ChunkServer易升级 自动化滚动升级——升级一个zon0 码力 | 33 页 | 2.64 MB | 5 月前3Curve核心组件之Client - 网易数帆
github.io/ • github代码仓库: https://github.com/opencurve/curveCURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 副本一致性,raft • 客户端 Client • 对元数据增删改查 • 对数据增删改查 • 快照克隆服务器CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化 QEMU、Curve-NBD:上层应用 通过链接curve-client使用curve提供的服务 FileManager:提供接口,记录已挂载卷 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化NEBD 整体介绍 热升级之前,QEMU是直接链接curve-client, 所以client版本需要升级时,需要对QEMU进 程进行重启。NEBD 整体介绍 在QEMU和Curve Client中间加入热升级模块,避 免直接依赖 热升级模块是CS结构: NEBD Client(part1):只包含轻量的业务逻辑,0 码力 | 27 页 | 1.57 MB | 5 月前3新一代云原生分布式存储
为物理机提供块设备 Linux IO栈 应用程序 -> 文件系统 -> 块设备层 -> 不同协议/驱动使用中的问题 • io抖动(一致性协议): 异常场景(比如阵列卡一致性巡检,坏盘,慢盘,网络异常),服务升级 • 性能差(一致性协议):在通用硬件下,无法支撑数据库、kafka等中间件对存储性能和稳定性要求 • 容量不均衡(数据放置):集群各节点容量不均衡需要人为干预 • 上述问题和架构涉及、核心功 块存储场景,Curve随机读写性能远优于Ceph 单卷 多卷主要亮点 — 易运维 运维场景 Curve Ceph 加盘 对IO无影响 秒级io影响 服务端升级 对IO无影响 重启管控面IO无影响,重启osd io秒级影响 客户端升级 热升级,秒级抖动 不支持热升级,需要业务停服 集群监控 丰富的metric metric类型较少主要亮点 — 更稳定 异常场景 Curve Ceph 坏盘 基本无抖动 无明显抖动0 码力 | 29 页 | 2.46 MB | 5 月前3Curve设计要点
leader copyset scatter-width • 无需人工干预 • 对io影响几乎无影响易运维 • 升级秒级影响 • 客户端采用CS架构 • NEBD Client: 对接上层业务 • NEBD Server: 接受请求 调用Curve Client处理 • 升级只需重启Server 秒级影响易运维 • 丰富的metric体系 • prometheus + grafana • prometheus + grafana 可视化 • 每日报表 • 丰富的数据定位问题 • 集群状态查询工具 • curve_ops_tool • 自动化部署工具 • 一键部署,一键升级高质量 • 良好的模块化和抽象设计 • 完善的测试体系 • 单元测试 行覆盖80%+,分支覆盖70%+ • 集成测试 Given When Then 方法 完备的测试用例集 • 自动化异常测试0 码力 | 35 页 | 2.03 MB | 5 月前3Bazel
Curve 编译 Curve bazel 编译分享 程义 - 存储计算部 2022 年 11 月 11 日 C ur v e1 升级 bazel 到 4.2.2 2 支持 Debian9 、 Debian10 、 Debian11 3 支持 gcc clang 更新内容 Curve1 编译 Debian11-Dockerfile .bazelrc0 码力 | 6 页 | 4.69 MB | 5 月前3MySQL 兼容性可以做到什么程度
一体化尝试 Review 2.0 开源 2016 2017 2018 2019 2020 2021 2021年10月20日,云栖大会宣 布开源 2020年5月,PolarDB-X 完成架 构和品牌升级怎么做兼容:以 CDC 为例 02 If it looks like a duck, swims like a duck, and quacks like a duck, then it probably0 码力 | 18 页 | 3.02 MB | 5 月前3Curve 分布式存储设计
chunkserver负责数据的存储 2. RAFT协议保持数据的一致 性 3. chunkfile pool降低元数据开 销 Chunkserver服务Curve块存储 性能设计Curve块存储 在线升级设计 1. 客户端分成NebdClient与 NebdServer两部分 2. NebdClient只做简单的转发 3. NebdServer实现大部分的客 户端逻辑Curve块存储 故障对I/O抖动延迟的影响0 码力 | 20 页 | 4.13 MB | 5 月前3Raft在Curve存储中的工程实践
b(leader) , c) 每个chunkserver上的leader copyset个数尽 量均衡。 • RapidLeaderScheduler 手动执行,快速leader均衡。 用于新建集群、扩容集群、升级服务等场景CURVE的均衡效果Curve介绍 01 02 raft和braft 03 raft在Curve中的应用 05 Q&A 04 Curve对raft的优化Curve对RAFT的优化0 码力 | 29 页 | 2.20 MB | 5 月前3
共 9 条
- 1