Curve Cloud Native
and Pool CRDs) • chunk server pods can run on arbitrary PVs(local storage) as an alternative to host path • Support automatically detect new nodes, adding / removing nodes and disk drives • Support volume resizing • chunkserver on PVC support for different data and metadata(HDD, SSD, pmem) • Allow chunkserver on PVCs to automatically grow when the cluster is nearly fullFeature list for CurveFS Dynamice volume resizing • Support automatically detect new nodes, adding / removing nodes • Allow CurveBS and S3 automatically grow underneath CurveFS when the cluster is nearly fullFeature list0 码力 | 9 页 | 2.85 MB | 5 月前3CurveFS Client 概要设计
fuse_conn_info *conn); 根据挂载信息,从mds获取文件系统信息(或superblock),块分配器(bitmap)和root inode所在的copyset、 metaserver ip等信息 去metaserver获取文件系统信息(super block),缓存到client端。 destroy void (*destroy) (void *userdata); 清理init缓存的文件系统信息。 id和name从denty缓存中找到对应的denty结构; 如果dentry缓存中不存在对应的inode,则从mds根据parent inode id获取parent inode 所在copyset,metaserver ip等信息 ,然后从metaserver获取denty(这里有两种方式,一种是只获取当前需要的 denty,一种是list整个目录的denty,这个需要考虑用哪个接口) 根据找到的denty结构,获取inodeid,设置 fuse_file_info *fi); 首先根据inode id 从缓存中查找到对应inode结构; 如果inode缓存中不存在对应的inode,则从mds获取inode所在copyset,metaserver ip等信息,然后从metaserver获取inode结构,缓存之; 判断inode结构中,对应请求[off, size]位置的空间是否有分配:如果未分配或只有部分分配空间,则调用空间分配器分配空间,并根0 码力 | 11 页 | 487.92 KB | 5 月前3CurveFs 用户权限系统调研
CurveFs 用户权限系统调研(已实现)© XXX Page 2 of 33 一、Curvefs测试 1. 启动curvefs 问题1:root用户无法访问挂载目录 测试 allow_root 测试allow_other 参考文献 问题2:本地文件系统挂载默认是共享的? 问题3:文件系统访问控制是在哪一层实现的? 二、文件系统权限管理 文件类型 文件权限 特殊权限(SUID, SGID owner拥有该文件系统的访问权限,如果想要其他用户有权访问,需要在挂载参数中指定‘-o allow-root’ 或'-o allow-other'以允许相应用户有权访问该文件系统,如果挂载者不是root还需要在/etc/fuse.conf(/usr/local/etc/fuse.conf)中增加配置项“user_allow_other”(该配置项是无值的)。详见libfuse官方文 档:https://github for the following parameters: # # user_allow_other - Using the allow_other mount option works fine as root, in # order to have it work as user you need user_allow_other in /etc/fuse.conf as # well. (This0 码力 | 33 页 | 732.13 KB | 5 月前3TGT服务器的优化
通过NBD,只支持Linux • 通过SDK API,目前只支持Linux • PFS • 扩大使用范围 • 通过iSCSI支持更多系统,例如Windows, 类UNIX系统等,使用两项基础 技术 • TCP/IP • SCSI • 替代SAN • 可靠性、稳定性方面有自己的的特色,使用raft副本一致性和copyset概念可以自动 修复损坏的副本,并且可扩容。无论在可靠性、稳定性还是性价比方面都很有优势,0 码力 | 15 页 | 637.11 KB | 5 月前3CurveBS IO Processing Flow
node of the copyset where chunk resides. 4. The Client sends read/write requests to the leader (IP=127.0.0.1, port=8200, CopysetId=1, chunkId=5678, offset in chunk=0, length in Chunk =4096). 50 码力 | 13 页 | 2.03 MB | 5 月前3CurveFS对接S3方案设计
t,write,read,delete和后台元数据整理以及数据回收流程 init流程 1.将conf中blockSize,chunkSize,metaServer和allocateServer ip保存在S3ClientAdaptor中 2.将conf中的S3相关信息:保罗ak,sk,s3address,bucketname等透传给S3Adapter模块。这里要注意,S3Adapter为原来0 码力 | 11 页 | 145.77 KB | 5 月前3BRPC与UCX集成指南
e6 BRPC SERVER7 BRPC SERVER8 BRPC client9 BRPC EndPoint EndPoint是一个代表通讯地址的数据结构, 是一个C++类。 字段: ip,port ●在Socket创建时需要提供EndPoint ●Socket::Connect时需要Remote EndPoint ●Accept的Socket可以获得Remote EndPoint100 码力 | 66 页 | 16.29 MB | 5 月前3Curve核心组件之mds – 网易数帆
Client 向 chunkserver 查询 chunk 所在的 copyset的leader Chunkserver节点; 4. Client 向 leader 发送读写请求client (IP, port, CopysetId, chunkId, offset in chunk, length in chunk), Chunkserver 完成后通知; 5. Client通知用户请求完成。HEARTBEAT0 码力 | 23 页 | 1.74 MB | 5 月前3Curve for CNCF Main
performance • mainly used for (SSD, three replicas) • csi / storage class for kubernete, nbd for HOST/VMPerformance (vs. Ceph RBD)Performance (vs. Ceph RBD)CurveBS Features • RAFT for data consistency0 码力 | 21 页 | 4.56 MB | 5 月前3Curve文件系统元数据Proto(接口定义)
// fs id optional string fsName = 2; // fs name } message mountPoint { required string host = 1; required string mountDir = 2; // } message Volume { required uint64 volumeSize =0 码力 | 15 页 | 80.33 KB | 5 月前3
共 12 条
- 1
- 2