Estimation of Availability and Reliability in CurveBSEstimation of availability and reliability in CurveBS CurveBS uses the RAFT protocol to maintain consistency of stored data. It generally takes the form of 3 replicas of data. If one replica fails Time of disks is MTBF (Mean Time Before Failure). 𝐴𝐹𝑅 = 1 𝑀𝑇𝐵𝐹/(24 ∗ 365) ∗ 100 In CurveBS, the data on one disk is distributed in about 50 copysets, which means when a disk fails, up to ∗ 𝑃-) The probability of no data loss in a cluster is as follows: 1 − 𝑃 Assume that in a CurveBS cluster consisting of 1200 disks, MTBF of each disk is 1.2 million hours, and the data recovery0 码力 | 2 页 | 34.51 KB | 6 月前3
Curve Detail Introduction for CNCFopencurve.io/Agenda • CurveBS Architecture • CurveBS Topology • CurveBS Data Organization • MetaData Server (MDS) • ChunkServer • Client • CurveBS IO processing flow • CurveBS Performance considerations Cooperate with Alibaba to support high-performance polardb for postgresql using CurveBS • Cloud-native support for CurveBS • CurveBS clusters and related monitoring services can be configured using CRDs in and on- premises environments • Use the Curve operator to install, upgrade, backup, and expand CurveBS clusters • Use Curve Discover to discover resource changes and to collect the system’s runtime0 码力 | 23 页 | 6.53 MB | 6 月前3
PFS SPDK: Storage Performance Development Kit1 基于SPDK的CurveBS PFS存储引擎10/17/22 2 Why ●为了减少使用cpu做内存copy,减少系统调用 ●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 为什么用PFS ●对代码比较熟悉 ●找一个能管理裸盘,具有产品级可靠性的代码挺难的 ●PFS支持类POSIX文件的接口,与使用EXT4的存储引擎代码很像, 所以容易移植现有代码到PFS存储引擎 ●CurveBS对文件系统元数据的操作非常少,对文件系统的要求不高, 所以不需要元数据高性能,这方面PFS也合适10/17/22 6 对PFS的修改 ●基于阿里开源的PFS ●不再基于daemon模式,而是直接使用pfs vector的接口主要是为了与brpc的iobuf对接,iobuf由若干地址不连 续的block组成,一次IO提交可以提高效率。10/17/22 8 PFS+SPDK 的部分读写的实现 ●某些盘只支持4k单位读写,但是CurveBS支持512字节读写 ●可能存在部分写的并发冲突 ●引入并发的range lock解决冲突10/17/22 9 PFS+SPDK 的DMA支持 ●ssize_t pfs_writev_dma(int0 码力 | 23 页 | 4.21 MB | 6 月前3
TGT服务器的优化使用廉价硬件搭建。iSCSI软件 • Client端: iscsi initiator,系统自带 • Linux open-iscsi • Windows iSCSI 发起者 • 服务器端 • 必须是CurveBS原生支持的平台,因为需要curve原生接口,目前是LinuxiSCSI target服务器 • LINUX LILO • 一般用于输出内核本地块设备 • TCMU • 作为LILO支持用户态的接口0 码力 | 15 页 | 637.11 KB | 6 月前3
BRPC与UCX集成指南TCP 1 32 85 2 39 86 4 46 128 8 47 170 16 67 291 32 119 378 64 237 45263 4K大小时延比较(us)64 CurveBS FIO65 现状 ●开源分支:https://github.com/opencurve/incubator-brpc.git –curve主干分支 –ucx_am当前rdma分支 ●0 码力 | 66 页 | 16.29 MB | 6 月前3
共 5 条
- 1













