分布式存储系统 Curve

分布式存储系统 Curve

Apache 2.0
C/C++ 查看源码»
跨平台
网易
2020-07-16
大东BE

CURVE 是网易开源的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。CURVE 的设计开发始终围绕三个理念:一是顺应当前存储硬件设施发展趋势,做到软硬件结合打造顶级的存储产品;二是秉持 “Simple Can be harder than complex”,了解问题本质情况下选择最简单的方案解决问题;三是拥抱开源,在充分调研的前提下使用优秀的开源项目组件,避免造轮子。

当前网易基于 CURVE 已经实现了高性能块存储系统,支持快照克隆和恢复 ,支持 QEMU 虚拟机和物理机 NBD 设备两种挂载方式, 在网易内部作为高性能云盘使用。

特性

1. 高性能

高性能是 CURVE 的一大特点,也是项目团队创建 CURVE 项目的初衷。RPC 层面 CURVE 采用了高性能和低延迟并且已开源的 brpc;在一致性层面选择了基于 quorum 机制并且开源的 braft,从协议层面来说 quorum 机制在延迟方面天生优于多副本强一致的方式。实现上 CURVE 对 braft 快照的实现进行了优化,在状态机的实现上采用 chunkfilepool 的方式 ( 初始化集群的时候格式化出指定比例的空间用作 chunk ) 使得底层的写入放大为 0;此外CURVE 还在 chunk 上进行更细力度的地址空间 hash 以达到读写分离、减小 IO 碰撞等的效果,从而进一步提升 IO 性能。

2. 高可用

高可用是 CURVE 的另一大特点。MDS、ChunkServer 以及 SnapShotCloneServer 都支持多实例部署,部分实例异常不影响整个集群的可用性。

  • MDS

    MDS 是无状态的,推荐至少部署两个实例。通过 Etcd 进行选主。多个 MDS 实例通过 Etcd 进行选主,当单个实例失效时,可以秒级切换到另外一个实例。失效实例上正在处理的请求,Client 和 SnapShotCloneServer 都会对其进行重试,以达到不影响集群可用性的效果。

  • SnapShotCloneServer

    SnapShotCloneServer 与 MDS 类似, 也是通过 Etcd 进行选主,不同的是,它通过负载均衡对外提供服务。失效期间的请求失败重试都是幂等的,不影响任务的正确性以及集群的可用性。

  • ChunkServer

    ChunkServer 是一个集群,通过 Raft 协议保持数据一致性,并通过 MDS 做负载均衡。单个节点失效时,会影响到这个节点上存储的所有 Copyset。对于 Copyset 上的 Leader 节点,会中断服务,等待重新选举;对于Copyset 上的 follower 节点,服务不会受影响。当某个 Chunkserver 节点失效且在一段时间内无法恢复,MDS 会将其上的数据迁移到其他节点上。

加载中

Curve 加入 PolarDB 开源数据库社区,强化分布式共享存储

Curve社区签署阿里巴巴开源CLA(Contribution License Agreement, 贡献许可协议), 正式与阿里云PolarDB 开源数据库社区牵手,成为继 CurveFS 发布之后,Curve 开源项目发展的又一里程碑。 在3...

03/02 16:57

CurveFS beta 版首发,Curve 锚定云原生软件定义存储

近日,Curve 开源存储社区发布了 CurveFS 的第一个 beta 版本,旨在解决 CephFS 在云原生场景下存在的一系列性能及功能问题,并提供了全新的部署工具 CurveAdm ,以简化用户对 Curve 集群的部...

2021/12/16 11:36

网易开源分布式存储系统 Curve,性能可达 Ceph 1.84 倍

7月16日,网易公司旗下云服务商网易数帆宣布开源一款名为 Curve 的高性能分布式存储系统,官方称其性能可达 Ceph 的 1.84 倍。 据官方介绍,Curve 的定位是提供一个高性能、低延迟的存储底座...

2020/07/16 18:34

没有更多内容

加载失败,请刷新页面

没有更多内容

6
回答
网易分布式存储项目 Curve 专访:凭什么比 Ceph 提升 84%?

大数据时代,分布式存储凭借其较低的拥有成本、灵活的扩展能力、线性增长的性能、统一的资源池管理等诸多先天优势,逐步替代了传统的网络存储,成为越来越多的互联网...

2020/07/31 09:45

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无博客

返回顶部
顶部