CurveFs 用户权限系统调研二、文件系统权限管理 文件类型 文件权限 特殊权限(SUID, SGID, STICKY) 文件默认权限umask 用户&用户组 文件系统用户权限管理 对mode的管理 对ACL(Access Control Lists)的管理 ACL Access Entry保存在哪? ACL的表示 内存中的ACL 是如何与具体的 Inode 相关联 如何存储和获取ACL信息 Inode权限校验 chmod、 This is the first request sent by the kernel to the daemon. It is used to negotiate the protocol version and other filesystem parameters. struct fuse_init_in { uint32_t major; uint32_t minor; uint32_t file operations and as a parameter to the * destroy() method. * * Introduced in version 2.3 * Changed in version 2.6 */ void *(*init) (struct fuse_conn_info *conn); // libfuse include/fuse_common0 码力 | 33 页 | 732.13 KB | 6 月前3
CurveBS IO Processing Flow/foo/bar in CurveBS 2. The address space of the block device /dev/sda maps to chunks of file in the system. For example, chunk1 corresponds to the address space of 0 to 4MB in /dev/sda, and chunk2 corresponds interface, such as read/write/aioread/aiowrite in data plane and open/create/rename/extend, etc in control plane. 2. Depending on libCurve, the application must be restarted every time the library is machine to complete the disk write operation. CurveFS architecture Curvefs implements the file system interface based on FUSE. 1. Fs-meta Cluster is used to manage the inode and dentry metadata of0 码力 | 13 页 | 2.03 MB | 6 月前3
Curve for CNCF MainCurve High performance Cloud native Distributed storage system https://www.opencurve.io/Agenda • What is Curve • Use Cases • CurveBS • Key Features • Comparing to Ceph • CurveFS • Comparing is an distributed storage system • Components • Curve Block Storage (CurveBS) • CurveBS: a high performance cloud native distributed block storage • Curve File System (CurveFS) • CurveFS: a Support Operator capability level 5 (in Plan) • now support helmCurrent Status • Release 2 major version on CurveBS • v1.2 supporting QOS, Discard, data silent check • v1.3 some performance optimization0 码力 | 21 页 | 4.56 MB | 6 月前3
Curve Cloud NativeCurve integrate to Cloud NativeCurve intro • Curve is an distributed storage system • High performance • Easiser operation • Cloud native • Curve is composed of two parts • Curve Block Storage performance cloud native distributed block storage • Curve File System (CurveFS) • CurveFS: a high performance cloud native file system (Based on CurveBS / S3 compatible Storage)Operator capability Level application provisioning and configuration management SEAMLESS UPGRADES Y (by Helm) patch and minor version upgrads supported FULL LIFECYCLE Plan to Support app lifecycle, storage lifecycle(backup, failure0 码力 | 9 页 | 2.85 MB | 6 月前3
CurveFS对接S3方案设计4M/1G(待定),chunk内部会划分为多个block,每个block最大4M,每个block对应s3上一个object。 s3上对象已chunkid_indexblock_version进行命名,元数据则已S3ChunkInfo(见数据结构)的方式存储在inode中。对于文件顺序写场景,文件0~4M的s3对象必然为chunkid_0_0,4M~8M为chunkid_1_0,以此类推, 还有一种情况是文件先写了0~2M,然后在写2M~4M,这里会采用append到同一个对象的方式进行写,而不是额外upload到一个新的对象;元数据则为{2,0,0,8M}。对于覆盖写,为了区分新老数据,则会对version进 行++,比如覆盖写了0~4M,则数据会写到chunkid_0_1的对象,则元数据包含了2个S3Chunkinfo{2,0,0,8M}和{2,1,0,4M}。 接口和关键数据结构 common of 11 // inodes3chunk message S3ChunkInfo { required uint64 chunkId = 1; required uint64 version = 2; required uint64 offset = 3; required uint64 len = 4; // file logic length required0 码力 | 11 页 | 145.77 KB | 6 月前3
Estimation of Availability and Reliability in CurveBSreplicas of data. If one replica fails, the system can read and write data successfully on the other two replicas. When two copies fail at the same time, the system cannot determine the failure reason because the actual situation of the system. Estimation of availability and reliability in the three- replicas case Assume that the total number of disks in Curve system is N, the number of replicas is0 码力 | 2 页 | 34.51 KB | 6 月前3
OID CND Asia Slide: CurveFSEasy operation and maintenance ○ High performance ● CEPH ○ Complex and Large amount of codes ○ system maintenance are difficult in corner cases ○ Performance requirements cannot be metAgenda Why develop flowOther performance optimizations RAFT protocol Zero data copy pre-created file poolCURVE file system File service middleware Upper-layer applications can access file data in storage pools through of Curve file systems ● System operation and maintenance ○ Further improve tools for installation/monitoring/maintenance ○ dashboard ● Cloud Native ○ Using CURVE file system in KubernetesCURVE community0 码力 | 24 页 | 3.47 MB | 6 月前3
curvefs client删除文件和目录功能设计kernel issues forget only after the release or releasedir * calls. * * Note that if a file system will be exported over NFS the * inodes lifetime must extend even beyond forget. See the * generation the lookup count for all inodes implicitly drops * to zero. It is not guaranteed that the file system will * receive corresponding forget messages for the affected© XXX Page 5 of 15 * inodes. nlookup); /** * Remove a file * * If the file's inode's lookup count is non-zero, the file * system is expected to postpone any removal of the inode * until the lookup count reaches zero (see description0 码力 | 15 页 | 325.42 KB | 6 月前3
Curve Detail Introduction for CNCFHigh performance Cloud native Distributed storage system https://www.opencurve.io/Agenda • CurveBS Architecture • CurveBS Topology • CurveBS Data Organization • MetaData Server (MDS) • ChunkServer and expand CurveBS clusters • Use Curve Discover to discover resource changes and to collect the system’s runtime status to operatorCurveFS ArchitectureCurveFS Data OrganizationCurveFS File OrganizationCurveFS and expand CurveFS clusters • Use Curve Discover to discover resource changes and to collect the system’s runtime status to operatorthanksAbout RAFT0 码力 | 23 页 | 6.53 MB | 6 月前3
CurveFS S3数据整理(合并碎片、清理冗余)[s3chunkinfo(s)] s3chunkinfo { chunkid version // write always 0, compact will increase it offset len } s3 object命名: chunkid_version_index (index为obj在chunk内的index) 执行步骤 数据整理作为一个后台服务(线程池) ,compaction+1,chunkid为上一步获取的chunkid,为需要新增的obj - 老的obj为全部需要删除的部分 应用变更 - 先读写新增的s3 objects列表, 由于新增了version字段, 不会涉及到覆盖老的对象 - 加锁, 增量的更新inode的s3chunkinfolist, 保证原子更新, 更新失败回退新增数据 - 等待N秒, 保证mds已经告知client缓存失效,0 码力 | 3 页 | 101.58 KB | 6 月前3
共 17 条
- 1
- 2













