CurveFS rename 接口实现方案rename 接口实现方案(已实现,选用方案二) 背景 • 方案调研 • Chubaofs • Juicefs • 方案实现 • 方案一:chubaofs • 方案二:事务方案 • 方案三:利用 KV 自带的分布式事务 • Q&A • 1. 是否需要实现跨文件系统的 rename 操作? • 2. 在多客户端情况下,是否需要加锁来保证其原子性? • 3. rename dentry,(2)增加 file2 的 dentry(该 dentry 的 inodeid 等同 file1 的 inode id)。关于 rename 接口的实现,主要调研了 chubaofs 和 juicefs,而 rename 的实现难点主要在于其原子性的保证。 ## 方案调研 ## Chubaofs chubaofs 中的 rename 实现不是原子性的,它是通用创建源文件的硬连接,然后删除源文件的方式来实现的,主要有以下 iunlink(oldNodeId) ievict(oldNodeId) end end ## Juicefs Juicefs 中 rename 的实现都是原子性的,主要得益于它元数据是存储在各类 KV/DB 中(如 redis、tikv...),而这些 KV 本身就支持事务,所以它只要把这些操作打包成事务扔给 KV 就可以了。如果采用 Juicefs 的方案,我们需要在 metaserver 层实现分布式事务。 ##0 码力 | 15 页 | 555.93 KB | 1 年前3
2.1.1Go 在百亿级分布式文件系统的实践GO CN Go在百亿级分布式文件系统的实践 徐桑迪 Juicedata 核心系统工程师 JuiceFS 简介 01 为什么选择 Go 02 基础内存优化 03 深度内存优化 04 内存快照持久化 05 第一部分 JuiceFS 简介 ’ alt=‘OCR图片’/> JuiceFS 简介 为云环境设计的分布式文件系统 兼容POSIX、HDFS和S3协议 支持回收站、目录配额、克隆 单命名空间支持百亿级文件数 前做好检查和准备,减少子进程内存分配 父进程监控子进程状态,超时则主动 kill ’ alt=‘OCR图片’/> GO CN 谢谢! Website: https://juicefs.com https://github.com/juicedata/juicefs0 码力 | 26 页 | 894.68 KB | 1 月前3
2021 中国开源年度报告5k|382|11| |Gitee|git|未披露|2020/8|40k|22k|408| |极纳科技|Jina|3000万美元|2021/11|11.5k|1.3k|117| |Juicedata|JuiceFS|数百万元|2018/10|3.8k|292|34| |才云科技|Kubernetes|数千万元|2019/12|82k|30k|373| |Zilliz|milvus|4300万美元|2020/11|80 码力 | 132 页 | 14.24 MB | 2 年前3
2021 中国开源年度报告5k|382|11| |Gitee|git|未披露|2020/8|40k|22k|408| |极纳科技|Jina|3000万美元|2021/11|11.5k|1.3k|117| |Juicedata|JuiceFS|数百万元|2018/10|3.8k|292|34| |才云科技|Kubernetes|数千万元|2019/12|82k|30k|373| |Zilliz|milvus|4300万美元|2020/11|80 码力 | 199 页 | 9.63 MB | 2 年前3
共 4 条
- 1













