Curve质量监控与运维 - 网易数帆0-rc0 v1.0.0 v1.0.1 release-1.0 v1.0.0-rc1 新功能 Bug修复 cherry-pick 11/33测试方法论 从测试粒度看,测试可以分为单元测试、集成测试、系统测试; 从测试角度看,测试可以分为常规测试、性能测试、异常测试、稳定性测试、混沌测试,等等 单元测试 1300+用例 行覆盖80%+,分支覆盖70%+ 集成测试 Given When 穿越模块接口的数据是否会丢失; 子功能的组合是否可以达到预期的要求; 子模块之间是否会相互影响; 单个模块的误差积累是否会放大,从而 达到不可接受的程度。 功能测试 站在使用者的角度,对模块提供的功能进行完备 的测试。 异常测试 制造或模拟系统异常(磁盘错误、网络错误、资源 冲突等)、依赖服务异常、应用本身异常等非正常 情况,测试软件的性能和稳定性是否符合预期。0 码力 | 33 页 | 2.64 MB | 6 月前3
CurveFS方案设计构不利于 Curve 长期的规划和演进,因此选择通用的 dentry,inode 两层映射的元数据结构。对于 fs© XXX Page 4 of 14 的场景,元数据的量比块存储场景会多很多,长期看元数据节点的设计也是需要满足高可用、高可扩、高可靠的。 因此对元数据节点的要求总结为:高可用、高可扩、高可靠、高性能。 架构设计 卷和文件系统© XXX Page 5 of 14 1. 1 Page 11 of 14 1. 2. 3. 4. 文件空间管理 文件空间管要解决的问题是:一个文件的数据如何存储?物理空间如何分配给不同的文件,如何从不同的文件回收?从这两个角度出发,分别调研了以下系统的空间管理策略: bluestore: CurveFS空间分配调研#bluestore chubaofs: CurveFS空间分配调研#chubaofs moosefs: moosefs空间分配调研0 码力 | 14 页 | 619.32 KB | 6 月前3
curvefs client删除文件和目录功能设计也可能下线。所以实际移除inode只能依赖于metaserver,两种方式:chubaofs的简单粗暴放7天就删,或者moosefs使用session机 制来维护inode是否被打开。所以从这一点来看, 。 forget接口可以先不实现 除此之外,还有以下几个问题需要解决: 1.Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? moosefs 送nlink-1的rpc失败(可以重试,但重试仍有可能失败), 这种情况下,就会存在nlink未被减1的情况,当所有硬链接都被删除后,就会出现孤儿inode。 moosefs由于只有一个mds节点看,所以不存在这个问题。 chubaofs的解决方案是: 在Delete_ll(api.go) 函数中,在delete dentry后有一段注释如下: // dentry is deleted successfully0 码力 | 15 页 | 325.42 KB | 6 月前3
Curve支持S3 数据缓存方案。 5.遍历完一轮DataCache后,获取DataCacheNum值,如果不为0,则继续遍历,如果为0则回到1步骤。 poc测试验证 根据上述设计,完成初步daemon,测试结果如下图 目前看写性能有明显的提升,但时延仍然很高, 。 需要进一步分析0 码力 | 9 页 | 179.72 KB | 6 月前3
CurveFs 用户权限系统调研Permission denied when accessing FUSE directory? man fuse 问题2:本地文件系统挂载默认是共享的? 目前没有查到相关确切的资料说明,但是从现象上看本地文件系统默认是多用户共享的,但是fuse作为用户态文件系统默认访问权限是文件系统的拥有者,可以通过allow_other实现共享。© XXX Page 7 of 33 strace ./baze0 码力 | 33 页 | 732.13 KB | 6 月前3
共 5 条
- 1













