CurveFS Client 概要设计© XXX Page 1 of 11 CurveFS Client 概要设计(已实现)© XXX Page 2 of 11 背景 概述 关键接口分析 init destroy lookup write read open create & mknod mkdir forget unlink rmdir opendir readdir getattr & setattr access rename 作者 内容 2021-04-27 许超杰 初稿 背景 CurveFS初步设计见 , 目前需细化Client端设计 CurveFS方案设计(总体设计,只实现了部分) 概述 CurveFS client 向上提供两层接口,分别是© XXX Page 3 of 11 对接fuse,提供通用文件系统接口。对于fuse接口,先前进行了一些调研,见FUSE调研 erblock),块分配器(bitmap)和root inode所在的copyset、 metaserver ip等信息 去metaserver获取文件系统信息(super block),缓存到client端。 destroy void (*destroy) (void *userdata); 清理init缓存的文件系统信息。 lookup void (*lookup) (fuse_req_t0 码力 | 11 页 | 487.92 KB | 6 月前3
Curve核心组件之Client - 网易数帆URVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化CURVE基本架构 • 元数据节点 MDS • 管理和存储元数据信息 • 感知集群状态,合理调度 • 数据节点 Chunkserver • 数据存储 • 副本一致性,raft • 客户端 Client • 对元数据增删改查 • 对数据增删改查 • • 快照克隆服务器CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化 QEMU、Curve-NBD:上层应用 通过链接curve-client使用curve提供的服务 FileManager:提供接口,记录已挂载卷 FileInstance:对应一个已挂载的卷 LeaseExecuto 行通信 前者负责IO请求 后者负责获取复制组(copyset)的leader MDSClient:负责与MDS交互,挂卸载卷、获取元数据信息 CLIENT整体架构QEMU: 实现了QEMU block与Client的对接层 向cinder/glance提供了Python API https://github.com/opencurve/curve-qemu-block-driver0 码力 | 27 页 | 1.57 MB | 6 月前3
curvefs client删除文件和目录功能设计© XXX Page 1 of 15 curvefs client 删除文件和目录功能设计© XXX Page 2 of 15 背景 相关调研 moosefs chubaofs 方案设计思考 1.Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash放在哪里? 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? 的打开情况? 方案设计 Trash机制: Session机制: 遗留问题 工作量评估 背景 目前curvefs client版本对删除unlink和rmdir的设计只有简单的删除inode和dentry结构,遗留了nlink和lookup count相关的内容还未实现,是不完备的。本文首先调研moosefs,chubaofs等分布式系统,参考并设计解决上述遗留问题。 当前删除接口代码如下:© count需要减nlookup(forget的参数) 当umount时,所有lookup count减至0 不应该完全依赖forget接口去实现inode的移除,因为forget接口可能不会被内核调用(例如client崩溃) 相关调研 moosefs moosefs 未对接forget moosefs 实现了在mds上open,因此删除时可以判断文件是否被打开 moosefs使用了两种机制,来实现上述功0 码力 | 15 页 | 325.42 KB | 6 月前3
julia 1.10.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 46.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 894 46.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Unless the function docstring explicitly indicates that aliasing produces the expected0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia 1.10.9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886 46.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 894 46.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Unless the function docstring explicitly indicates that aliasing produces the expected0 码力 | 1692 页 | 6.34 MB | 3 月前3
Julia 1.11.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 47.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 1031 47.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Un- less the function docstring explicitly indicates that aliasing produces the expected0 码力 | 2007 页 | 6.73 MB | 3 月前3
Julia 1.11.5 Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 47.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 1031 47.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Un- less the function docstring explicitly indicates that aliasing produces the expected0 码力 | 2007 页 | 6.73 MB | 3 月前3
Julia 1.11.6 Release Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020 47.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 1031 47.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Un- less the function docstring explicitly indicates that aliasing produces the expected0 码力 | 2007 页 | 6.73 MB | 3 月前3
Julia 1.12.0 RC1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059 48.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 1071 48.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Un- less the function docstring explicitly indicates that aliasing produces the expected0 码力 | 2057 页 | 7.44 MB | 3 月前3
Julia 1.12.0 Beta4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1058 48.5 Views (SubArrays and other view types) . . . . . . . . . . . . . . . . . . . . . . . . 1070 48.6 Concatenation and permutation . makes a copy of the selected part of the original string. Alternatively, it is possible to create a view into a string using the type SubString. More simply, using the @views macro on a block of code converts mutated argument shares memory with another argument, a situation known as aliasing (e.g. when one is a view of the other). Un- less the function docstring explicitly indicates that aliasing produces the expected0 码力 | 2057 页 | 7.44 MB | 3 月前3
共 54 条
- 1
- 2
- 3
- 4
- 5
- 6













