CurveFs 用户权限系统调研
二、文件系统权限管理 文件类型 文件权限 特殊权限(SUID, SGID, STICKY) 文件默认权限umask 用户&用户组 文件系统用户权限管理 对mode的管理 对ACL(Access Control Lists)的管理 ACL Access Entry保存在哪? ACL的表示 内存中的ACL 是如何与具体的 Inode 相关联 如何存储和获取ACL信息 Inode权限校验 chmod、chown、s wanghai01@pubbeta1-nostest2:/tmp/fsmount$ # nbs user nbs@pubbeta1-nostest2:/tmp$ ls -l | grep fsmount ls: cannot access 'fsmount': Permission denied d????????? ? ? ? ? ? fsmount fsmount: Permission denied # root user root@pubbeta1-nostest2:/tmp# ls -l | grep fsmount ls: cannot access 'fsmount': Permission denied d????????? ? ? ? ? ? fsmount0 码力 | 33 页 | 732.13 KB | 5 月前3CurveFS Client 概要设计
lookup write read open create & mknod mkdir forget unlink rmdir opendir readdir getattr & setattr access rename symlink & readlink link flush & fsync 其他 功能分析 模块划分 接口设计 Cache设计 时间 作者 内容 2021-04-27 +statfs +setxattr chubaofs +getxattr chubaofs +listxattr chubaofs +removexattr chubaofs +access +create +getlk +setlk +bmap +ioctl +ioctl +poll +write_buf +retrieve_reply 根据inode id 找到inode id 对应的inode 结构(从缓存或者metaserver) 根据to_set字段设置相应的attr字段,然后持久化到metaserver,并更新本地缓存。 access 可先不支持,返回ENOSYS rename void (*rename) (fuse_req_t req, fuse_ino_t parent, const char *name, fuse_ino_t0 码力 | 11 页 | 487.92 KB | 5 月前3Open Flags 调研
020000000|O_DIRECTORY #define O_NDELAY O_NONBLOCK(O_NDELAY是在System V的早期版本引入的,后改进为O_NONBLOCK) flags中必须access mode:O_RDONLY, O_WRONLY, O_RDWR其中之一;© XXX Page 4 of 23 文件创建标志只影响打开操作, 文件状态标志影响后面的读写操作 file creation 以目录形式打开,如果pathname不是一个目录则会打开失败。 O_DIRECTORY : 。 O_NOFOLLOW 如果pathname是一个符号链接,则会打开失败(ELOOP) : 不更新Inode中的last access time(进程uid=文件uid或者进程在它的user namespace有CAP_FOWNER, 而文件的uid在这个namespace中有一个映射)。 O_NOATIME : 在进程执行 apply. Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be filtered out / handled by the kernel. Access modes (O_RDONLY, O_WRONLY, O_RDWR) should be used by the filesystem to check if the operation is0 码力 | 23 页 | 524.47 KB | 5 月前3Curve for CNCF Main
apps(middleware/bigdata/ai) • CurveFS can manage different storages (HDFS, OSS, EBS) below • Apps access data by POSIX interface • Infrequent data is moved to OSS, and frequent data is moved to high0 码力 | 21 页 | 4.56 MB | 5 月前3OID CND Asia Slide: CurveFS
copy pre-created file poolCURVE file system File service middleware Upper-layer applications can access file data in storage pools through interfaces such as NFS/HDFS/Posix api Manage multiple types0 码力 | 24 页 | 3.47 MB | 5 月前3TGT服务器的优化
磁盘管理器refresh • Linux open-iscsi, iscsiadm --mode node -RDPO & FUA • DPO是disable page out的缩写,FUA是force unit access的缩写 • FUA可以让某些文件系统在做写操作时,不需要提交一个SCSI FLUSH COMMAND,提高性能 • 已经修改TGT,让驱动可以声明自己是否支持DPO & FUA • 由于增加的Curve0 码力 | 15 页 | 637.11 KB | 5 月前3CurveBS IO Processing Flow
provides services by libCurve. At first, external processes such as QEMU, Cinder, and NBD use it to access storage services provided by Curve. The client provids posix-like interface, such as read/wr0 码力 | 13 页 | 2.03 MB | 5 月前3Curve文件系统元数据管理
/* status change time */ uint32_t mtime; /* modify time */ uint32_t atime; /* access time */ uint32_t uid; /* user id * uint32_t gid; /* group id */ uint32_t mode;0 码力 | 24 页 | 204.67 KB | 5 月前3
共 8 条
- 1