Curve核心组件之snapshotcloneChunk的大小,即16MB DataObject: • 打快照时读取当前目标卷的所有快照的全 部metaObject • 根据本快照的chunk映射表,判断当前的 快照chunk是否需要转储 增量转储原理:快照在CHUNKSERVER上的数据组织 快照chunk和普通chunk,都是 ChunkServer上的ext4文件系统中 的文件,称为SnapFile和ChunkFile; SnapFile uint32_t 位图的位数 bitmap char[] 位图 crc uint32_t 上述字段的crc 校验码 padding / 填0,以补足 4KBCHUNKSERVER端快照实现-写时复制原理 写时复制通常使用版本号实现 复制时仅复制元数据,并增加版本号 写入时,先复制要写入的数据块,然后再写入CHUNKSERVER端快照实现-写时复制 使用copy-on-write : objectxxx@s3 • 如果源卷在curve内部,则location格式为 fileName:offset@cs,例如: /test1:0@csCHUNKSERVER端克隆实现-读时复制原理 • 使用chunkfile的bitmap来标记写过的Page, 一个Page大小为4KB • 读请求到来时,根据bitmap中的信息, • 对于已写过的区域,从本地chunk file读0 码力 | 23 页 | 1.32 MB | 6 月前3
CurveFs 用户权限系统调研-v, --version print version and exit -h, --help this help text ACL的使用规则和原理: ACL是由一系列的Access Entry所组成的,每一条Access Entry定义了特定的类别可以对文件拥有的操作权限。Access Entry有三个组成部分:Entry tag type0 码力 | 33 页 | 732.13 KB | 6 月前3
NJSD eBPF 技术文档 - 0924版本offset, len) • 读cache流程 • 写cache流程基于inode cache优化 • bpf程序类型 BPF_PROG_TYPE_EXTFUSE • Hook点及⽅法 • fuse_request_send • FUSE_LOOKUP / FUSE_GETATTR / FUSE_SETATTR / • map 结构 • dentry map BPF_MAP_TYPE_HASH key inode id • value fuse_attr (⽂件属性)基于data cache部分 • bpf程序类型 BPF_PROG_TYPE_EXTFUSE • Hook点及⽅法 • fuse_file_read_iter, fuse_file_write_iter • FUSE_READ / FUSE_WRITE • Map • WriteCache map0 码力 | 20 页 | 7.40 MB | 6 月前3
共 3 条
- 1













