Curve 分布式存储设计Curve 分布式存储设计 程义 — Curve Maintainer XAgenda 第二 第三 第四 第一 Curve的由来 Curve的设计目标 Curve块存储 和 Curve文件存储 Curve社区Curve的由来 1. 代码复杂/代码量大 2. 运维难度高 3. 无法满足高的性能需求Curve的设计目标 1. Curve云原生软件定义存储 2. Curve块存储 Curve块存储 3. Curve文件存储 4. 高性能,易运维,云原生Curve块存储 1. 高性能分布式共享数据库场景 2. Curve块存储提供底层分布式共享存储 3. Polardb for PostgreSQL提供上层高性能数 据库服务 4. 性能测试 1. benchmarkSQL 每分钟事务数提升39% 2. pgbench 延迟降低21% TPS提升26% 研究现状Curve块存储 研究现状Curve块存储 1. 分布式块存储服务 2. KVM块存储服务 3. iSCSI协议 4. 容器云块存储(CSI) 应用场景Curve块存储 1. 高可用性/高可靠性 (易运维) 2. RAFT一致性协议 3. CopySet分配算法 4. 拓扑结构 5. 高性能 6. chunkfilepool (降低写放大) 7. data stripe (增大并发) 8. zerocopy0 码力 | 20 页 | 4.13 MB | 6 月前3
Raft在Curve存储中的工程实践分布式存储系统,支持 块存储 和 文件存储 2018~2021 Curve块存储 2021~2022 Curve文件存储 • 基于Openstack构建云计算平台 • 底层存储使用Ceph块存储 • 稳定性挑战 • 算力平台kubernetes的迅速发展 • AI/大数据业务的快速增长 • 存储使用Ceph文件存储/HDFS • 成本/性能挑战 Curve块存储和文件存储均采用raft协议整体架构 对接OpenStack平台为云主机提供高性能块 存储服务 • 对接Kubernetes为其提供RWO、RWX等类 型的持久化存储卷 • 对接PolarFS作为云原生数据库的高性能存储 底座,完美支持云原生数据库的存算分离架 构 • Curve作为云存储中间件使用S3兼容的对象 存储作为数据存储引擎,为公有云用户提供 高性价比的共享文件存储 • 支持在物理机上挂载使用块设备或FUSE文件 致已经被提交,系统切换到新的配置(new)。RAFT协议简介 日志压缩 • 日志会不断增长,占用空间 • 采用快照的方式压缩日志 • 在某个时间点,整个系统的状态都以快照的形式写入 到稳定的持久化存储中 • 完成一次快照之后,删除时间点之前的所有日志和快 照。BRAFT简介 • raft协议提出之后,涌现出了非常多的实现,比如etcd,braft,tikv等。 • braft是raft的一0 码力 | 29 页 | 2.20 MB | 6 月前3
新一代云原生分布式存储新一代云原生分布式存储—Curve 上 李小翠 网易数帆存储团队分布式存储介绍 01 存储的发展 | 分布式存储的分类 | 分布式存储的要素 02 03 04 Ceph 架构简介 | 场景介绍 | 使用中的问题 Curve 架构简介 | 数据对比 | 应用情况 FAQ 答疑存储的发展 互联网时代,数据大爆炸 大型主机 成本高 单点问题 扩容困难 各存储设备通过网络互联 各存储设备通过网络互联 大规模 弹性扩容 底层构建在分布式存储之上 云的概念 成本:共用基础设施 弹性:随意扩缩容 速度:更快的构建发布业务 底层构建在分布式存储之上 云原生的概念: 易用性:跨平台,超融合,弹性 小型主机 容量有限分布式存储的分类 按照各种应用场景所需的存储接口分类 对象 存储 文件 存储 块存储 接口为简单的 Get、PUT、DEL 和其他扩展 通常意义是支持 对指定地址空间进行随机读写 传统意义的块存储:磁盘分布式存储的要素 如何构建分布式文件系统? 以分布式块存储为例。 •提供大容量的块设备 •可以在指定地址空间内随机读写 write(offset, len) •服务质量要求:数据不能丢、服务随时可用、弹性扩缩容 要什么 •成百上千台存储节点 •磁盘故障、机器故障、网络故障概率性发生 有什么 分布式存储系统需要满足接口需求,并且有持续监控、错误检测、容错与自动恢复的能力0 码力 | 29 页 | 2.46 MB | 6 月前3
openEuler 24.03 LTS 技术白皮书技术白皮书 平台架构 平台架构 05 openEuler 24.03 LTS 技术白皮书 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质发展新趋势, 创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基础设施的开源操作系统。 openEuler 24.03 LTS 发布面向服务器、云 OS)的加载、启动、暂停、结束等工作;跨 OS 通信为不同 OS 之间提供一套基于共享内存的高效通信机制;服务化框架是在跨 OS 通信基础之上便于不同 OS 提供各自擅长服务的框架,例如 Linux 提供通用的文件系统、网络服务,实时操作系统提供实时控制、 实时计算等服务;多 OS 基础设施是从工程角度为把不同 OS 从工程上有机融合在一起的一系列机制,包括资源表达与分配,统一 构建等功能。 混合关键性部署框架当前能力: 引入线程模式(threaded),对可线程化管理的子系统进行限制。线程可以被独立于进程其他线程分配到不同的 cgroup 中,对单个线程的资源使用进行更精细的控制。 3)更安全的子树委派: 通过委派机制允许非特权用户创建和管理自己的 cgroup 层次结构。通过合理利用委派,系统管理员可以提供给用户或应用程 序必要的控制权限,提供更细粒度的资源管理,同时保持系统的稳定性和安全性。 4)更丰富的特性支持:0 码力 | 45 页 | 6.18 MB | 1 年前3
openEuler 22.03-LTS 技术白皮书03-LTS 技术白皮书 05 openEuler 22.03-LTS 技术白皮书 04 系统框架 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质发 展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基础设 施的开源操作系统。 openEuler 22.03 LTS 发布面向服务器 EulerFS:面向非易失性内存的新文件系统,采用软更新、目录双视图等技术减少文件元数据同步时间, 提升文件读写性能。 • 内存分级扩展 etMem:新增用户态 swap 功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能优于 内核态 swap。 • 内存 RAS 增强:内存可靠性分级技术,可以指定内核、关键进程等对内存故障敏感的数据优先使用高可靠内存,降 低宕机率,提升可靠性(技术预览特性)。 边云服务协同:边侧部署 EdgeMesh Agent,云侧部署 EdgeMesh Server 实现跨边云服务发现和服务路由。 2. 完善边缘南向服务:南向接入 Mapper,提供外设 Pofile 及解析机制,以及实现对不同南向外设的管理、控制、业 务流的接入,可兼容 EdgeX Foundry 开源生态。 3. 边缘数据服务:通过边缘数据服务实现消息、数据、媒体流的按需持久化,并具备数据分析和数据导出的能力。0 码力 | 17 页 | 6.52 MB | 1 年前3
openEuler 21.09 技术白皮书04 02/ 平台架构 openEuler 21.09 技术白皮书 05 系统框架 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基础 设施的开源操作系统。 引领内核创新 云原生调度增强:针对云场景在线和离线业务混合部署场景,创新 EulerFS:面向非易失性内存的新文件系统,采用软更新、目录双视图等技术减少文件元数据同步时间, 提升文件读写性能。 • 内存分级扩展 etMem:新增用户态 swap 功能,策略配置淘汰的冷内存交换到用户态存储,用户无感知,性能 优于内核态 swap。 夯实云化基座 容器操作系统 KubeOS:云原生场景,实现 OS 容器化部署、运维,提供与业务容器一致的基于 K8S 的管理体验。 • 安全容器方案:iSulad Optane)是一种提供字节访问粒度的新型高速存储介质,现有内核文件系统 EXT4,可以协同 DAX 特性改善 NVDIMM 新介质数据读写性能,但在元数据管理方面,基于现有 journal 同步机制,元数据 管理开销大,且容易出现写放大问题,NVDIMM 优势无法充分发挥。 EulerFS 创新元数据软更新技术(Soft Update),基于指针的目录双视图计数机制,减少元数据同步开销,有效提升文件0 码力 | 35 页 | 3.72 MB | 1 年前3
openEuler 23.09 技术白皮书09 技术白皮书 平台架构 平台架构 05 openEuler 23.09 技术白皮书 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基 础设施的开源操作系统。 openEuler 23.09 发布面向服务器、云原生 框架,编程复杂度高且依赖人工调优,性能和可移植性差,引发 OS 社区反弹,最终导致 HMM 方 案搁浅。异构加速器领域亟需高效的统一内存管理机制。 异构通用内存管理框架 GMEM (Generalized Memory Management),提供了异构内存互联的中心化管理机制,且 GMEM API 与 Linux 原生内存管理 API 保持统一,易用性强,性能与可移植性好。 加速器使用 GMEM API 通用算力,实现统一的内存管理和透明内存访问,GMEM 设计了统一虚拟内存地址空间 机制,将原本的 OS 与加速器并行的两套地址空间合并为统一虚拟地址空间。 GMEM 建立了一套新的逻辑页表去维护这个统一虚拟地址空间,通过利用逻辑页表的信息,可以维护不同处理器、不 同微架构间多份页表的一致性。基于逻辑页表的访存一致性机制,内存访问时,通过内核缺页流程即可将待访问内存在主 机与加速器进行搬移。在实际0 码力 | 52 页 | 5.25 MB | 1 年前3
openEuler 22.03 LTS SP2 技术白皮书平台架构 05 openEuler 22.03 LTS SP2 技术白皮书 平台架构 openEuler 是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质 发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基 础设施的开源操作系统。 openEuler 22.03 LTS SP2 发布面 MONitoring)特性增强:Damon 可在轻度内存压力下,实现主动、轻量级的线上内存访问监 控及回收,用户根据监控结果定制策略对内存区域做相应操作。 • uswap 特性增强:增加用户态换出内存页面的机制,支持用户态灵活换出内存到后端存储,节省内存。 • Intel EMR(Emerald Rapids)新平台支持:EMR 是 Intel 下一代基于 Intel 7 制程的新一代 CPU 平台,性能更高,在 增强已有硬件特性的同时,提供了诸如 群节点的安装配置工作。 • 安全可靠的包管理:NestOS 使用 rpm-ostree 进行软件包管理,搭配 openEuler 软件包源,确保原子化更新的安全 稳定状态。 • 友好可控的更新机制:NestOS 使用 zincati 提供自动更新服务,可实现节点自动更新与重新引导,实现集群节点有序 升级而服务不中断。 • 紧密配合的双根文件系统:NestOS 采用双根文件系统的设计实现主备切换,确保0 码力 | 48 页 | 5.62 MB | 1 年前3
openEuler 21.03 技术白皮书IO异步 通讯框架 虚拟化 增强 调度 管理 引领内核创新: • Linux Kernel 5.10 :调度、IO、内存管理深度优化。 • 内存分层扩展 etMem:支持多种内存、存储介质统一管理,系统容量平滑扩展。 • 内核热升级:内核漏洞快速修复,业务不感知。 构筑云化基座: • iSula:iSulad 支持本地卷管理,isula-build 新增镜像拉取、推送等功能。 热升级,并进行质量可靠性保证,在升级失败后保证回滚到旧内核上。 2. 业务进程保存:利用系统 Checkpoint 保存业务进程和资源状态,保证系统业务状态与资源的一致性。 3. 新内核加载:利用系统 Kexec 机制实现新内核的快速加载,保证端到端业务秒级恢复。 4. 业务进程恢复:利用系统 Restore 技术对已保存的业务状态与资源进行恢复。 应用场景 应用场景 1: 内核 CVE 修复 典型应用程序(如 Task 的公平性,新增 NUMA-Aware 异步调用机制,在 NVDIMM 初始 化方面有明显的提升;优化 SCHED_IDLE 的调度 策略,可以显著改善高优先级任务的调度延迟, 降低对其他任务的干扰。优化 NUMA balancing 机制,带来更好的亲和性、更高的使用率和更少 的无效迁移。 2. CPU 隔离机制增强:支持中断隔离,支持 unbound kthreads0 码力 | 18 页 | 1.30 MB | 1 年前3
Debian 参考手册(版本 2.109)系统安全性和完整性检查 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 9.6 数据存储技巧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 9.6.12 通过 $TMPDIR 指定临时存储目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 9.6.13 通过 LVM 扩展可用存储空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.6.14 通过挂载另一个分区来扩展可用存储空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.6.15 通过“mount --bind”挂载另一个目录来扩展可用存储空间 . . . . . . . . . . . . . . . . . . . . .0 码力 | 261 页 | 1.39 MB | 1 年前3
共 120 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12













