暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

新晋 contributor | 在活跃社区中感受开源魅力

OpenCurve 2023-11-10
323

背景

Curve 是云原生计算基金会 (CNCF) Sandbox 项目,是网易主导自研和开源的高性能、易运维、云原生的分布式存储系统。

Curve 联合 openEuler 举办的 Summer Code Camp 已圆满结束,本次开发者活动共有 14 位新晋 contributor。今天一起来看看新晋 contributor @peter5232 是如何顺利完成一道 hard 题,顺利抱走开发奖品——零刻开发机、华为耳机、小米手环的吧~(好多奖品!羡慕)


Curve

contributor

@peter5232


本科东北大学的人工智能专业,目前就读于西北工业大学的无人系统技术研究院的无人系统专业,常用语言c++pythonshell,平常闲暇时光看知乎、刷bilibili、览GitHub找找自己感兴趣的开源项目进行学习,参与开源社区的建设。


开发者活动:Summer Code Camp

暑假期间关注到很多活动,比如说开源之夏等,在开源之下中看到过 Curve 的项目,也研究过对应的课题,由于没有分布式和存储的底子就没有参加项目,但关注了 Curve 的 GitHub 以及公众号。某天刷微信的时候就看到了 Curve 的社区活动,发现有"openEuler 适配“的项目,以自己之前的开发经验来说,适配比较简单的,所以就开始研究这个项目。

一开始并没有报名,而是先弄了个 openEuelr 的虚拟机在上面测试,适配后发现难度可以,就开始和 menter 讨论和制定方案,拿下了 issue。

https://github.com/opencurve/curve/issues/2612


开发流程

在开始适配之前 

首先得看文档,看下 Curve 如何构建、部署、测试,好在 Curve 的文档非常健全,然后就开始按照文档在虚拟机上进行构建了(向 openEuler 社区申请了一台 openEuler 的测试机器)。

开发流程

Curve 在 issue 开始之前支持的操作系统是 debian9,并且正在提交一个  PR 进行 debian11 的适配,系统的构建以及部署都是基于 docker 的,适配操作系统的配置文件路径以及文件结构如下。

可以看到是以 Dockerfile 为基础分阶段构建的,那就可以制定以下几个步骤:

1.先使用 yum 替换掉 apt 安装的包,如果 yum 不包含包,就通过下载源码手动编译的方式补齐(其中补齐的是 libfiu、python2)。

2.补齐依赖后开始按照 debian11 给好的编译步骤进行照搬,然后发生错误进行修改,在 x86 的 openEuler 适配中没有遇到太多的问题,因为 Curve 本身支持的就是 x86 架构,但是在 arm64 的适配过程中遇到了很多错误,如下图。


图 1 bazel 没有clean的原因

图 2 修改期间因为版本变动导致的错误

其中遇到的最多的还是指令集的问题比如 -msse 没有对应的编译参数,还有一个 x86 宏的未定义问题,这些问题通过百度基本上可以解决。

https://github.com/opencurve/curve/pull/2789 感兴趣的小伙伴可以自行了解 PR。


开发体验

1.这是第一次真正的参加社区贡献,个人感觉 Curve 社区比其他的一些国内的社区要活跃,在群里说自己的问题几乎可以非常快的得到回复。

2.在这次开发中学习到了 bazel 构建、arm64 的系统迁移等知识,非常快乐!


开发收获

1.学习到了开源社区的流程(issueprgithub actiongit 提交的合并、最后 review 合并)。
2.Curve 提供的零刻开发机、小米手环、周边、openEuler 提供的华为蓝牙耳机。
3.由于 Curve 有很多存储的项目(memcache、etcd),还有很多开源来的仓库的使用,也可以这次项目中学习到很多库的使用。




------ END. ------


🔥 开发者活动:
三校联动 | Curve Code Camp·金秋篇
Summer Code Camp 活动回顾 | Curve & openEuler 联合举办
🔥 用户案例:
Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践
创云融达:基于 Curve 块存储的超融合场景实践 
🔥 技术解析:
如何快速迁移百亿级文件到Curve文件存储?
优化读取:Curve 文件存储的缓存策略
探索 : CurveBS 模拟 RBD 接口对接 OpenStack
Curve 混闪之性能优化记录
CurveBS RDMA & SPDK 部署指南


关于 Curve 

Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。

Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。

  • GitHub:https://github.com/opencurve/curve
  • 官网https://opencurve.io/
  • 用户论坛:https://ask.opencurve.io/
    微信群:搜索群助手微信号 OpenCurve_bot



文章转载自OpenCurve,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论