Curve文件系统元数据管理
inode + name) 全内存 chunk → hashtable(chunk id) log + dump record 差 否 chunk 链式多副本 overwirte有数据不一致风险 chubaofs(cfs) 有元数据服务器 inode → b tree(key ino) dentry → b tree (key parentIno + name) extent → B+ client缓存 inode→ hashtable(gfid) dentry→ hashtable(name) inode扩展属性字段 和写数据一样 好 写多份 overwirte有数据不一致风险 curve 有元数据服务器 lru cache缓存 kv → hashtable(key parent inode + name) segment kv → hashtable(key inode0 码力 | 24 页 | 204.67 KB | 5 月前3CurveFS ChunkID持久化
当前chunkID bundle 内最后一个可分配的chunkID bundleSize_;// chunkId池子的大小 };© XXX Page 3 of 3 1. 2. 问题与风险 构造函数内判断 storeKey_ 不存在时,会从0开始分配,可能会出现覆盖chunkid的情况; chunkID用完情况没有考虑;0 码力 | 3 页 | 79.38 KB | 5 月前3CurveFS S3数据整理(合并碎片、清理冗余)
等待N秒, 保证mds已经告知client缓存失效, 需要更新为新的s3chunkinfolist // 需不需要这个步骤@xuchaojie @chenwei确认 - 删除老的object 问题与风险 在执行变更时, 在bcd步挂掉时, 会造成s3数据的残留 当同时有多个变更inode元数据(s3chunkinfolist)的动作时, 目前的updateinode的实现是直接的覆盖, 如果数据0 码力 | 3 页 | 101.58 KB | 5 月前3
共 3 条
- 1