Curve核心组件之mds – 网易数帆result: cs1 [copyset-1, copyset-7] cs2 [copyset-2, copyset-5] cs3 [copyset-3, copyset-6] cs4 [copyset-1, copyset-6] cs5 [copyset-2, copyset-8] cs6 [copyset-4, copyset-5] cs7 [copyset-1, copyset-5] cs8 [copyset-3 [copyset-4, copyset-7] cs10[copyset-2, copyset-7] cs11[copyset-3, copyset-6] cs12[copyset-4, copyset-8] round2: zone1 zone2 zone3 zone4 ------------------------ cs2 cs6 cs7 cs11 cs3 copyset-5: (cs2, cs6, cs7) copyset-6: (cs11, cs3, cs4) copyset-7: (cs9, cs10, cs1) copyset-8: (cs5, cs8, cs12) round1: zone1 zone2 zone3 zone4 ------------------------- cs1 cs4 cs7 cs10 cs20 码力 | 23 页 | 1.74 MB | 6 月前3
CurveFs 用户权限系统调研目前没有查到相关确切的资料说明,但是从现象上看本地文件系统默认是多用户共享的,但是fuse作为用户态文件系统默认访问权限是文件系统的拥有者,可以通过allow_other实现共享。© XXX Page 7 of 33 strace ./bazel-bin/curvefs/src/client/fuse_client -f -o volume=/fs -o allow_other -o user=test wanghai01@pubbeta1-nostest2:/tmp/fsmount$ ls -l total 0 -rw-r--r-- 0 wanghai01 neteaseusers 0 Jan 7 2079 file1 wanghai01@pubbeta1-nostest2:/tmp/fsmount$ echo "hello" > file1 wanghai01@pubbeta1-nostest2:/tmp/fsmount$ /tmp/fsmount/ nbs@pubbeta1-nostest2:/tmp/fsmount$ ls -l total 0 -rw-r--r-- 0 wanghai01 neteaseusers 6 Jan 7 2079 file1 nbs@pubbeta1-nostest2:/tmp/fsmount$ echo "world" >> file1 nbs@pubbeta1-nostest2:/tmp/fsmount$0 码力 | 33 页 | 732.13 KB | 6 月前3
curvefs client删除文件和目录功能设计request handle * @param parent inode number of the parent directory * @param name to remove© XXX Page 7 of 15 1. 2. 3. 1. */ void (*rmdir) (fuse_req_t req, fuse_ino_t parent, const char *name); 减到0,则将inodeid放到freelist中。 inode在freelist中存放7天,以应对有文件被打开的情况。 如果nlink减到0的是目录,则直接移除,不需要放到freelist中,目录由于是nlink从2开始,当目录的nlink=2时,连续减两次到0。 freelist会被定期清理,清理时筛选出超过7天的inodeid,将其从inode tree和free list中移除。 chuba eMarkFlag,并将其放入freelist。 freelist在定期清理时,当发现设置了DeleteMarkFlag,则直接从inode tree和free list中移除该inode,不再等待7天。 chubaofs实现了强制从freelist中移除inode的机制,同样是使用设置DeleteMarkFlag的方式。 chubaofs也实现了查询机制,来查询处于freelist当中的inod0 码力 | 15 页 | 325.42 KB | 6 月前3
Curve文件系统元数据Proto(接口定义)4; required uint64 blockSize = 5; required Volume volume = 6; required uint32 mountNum = 7; repeated mountPoint mountpoints = 8; } message GetFsInfoResponse { required MetaStatusCode // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // dentry interface© XXX Page 7 of 15 message GetDentryRequest { required uint32 fsId = 1; required uint64 parentInodeId = ctime = 4; required uint32 mtime = 5; required uint32 atime = 6; required uint32 uid = 7; required uint32 gid = 8; required uint32 mode = 9; required sint32 nlink = 10; required0 码力 | 15 页 | 80.33 KB | 6 月前3
副本如何用CLup管理PolarDBClup管理界面-在Web界面中管理数据库-9- @ PolarDB环境准备创建PolarDB的要求 安装要求 需要有共享盘:盘的大小需要大于等于20GB CLup的高可用需要VIP 操作系统:CentOS7.X 盘要求有路径:/dev/nvmeXnY 机器需求 4台虚拟机器或物理机 1台做CLup管理节点:内存大于2GB 3台做数据库节点:内存需要大于4GB,最好有反亲和性,即能分布在不同的 用 区有要求: • 华东1(杭州)可用区I • 华东2(上海)可用区B • 华北2(北京)可用区K • 华南1(深圳)可用区F。 只有某些规格的虚拟机可以挂载Nvme共享盘: • g7se • c7se • r7se 虚拟机要求是按量付费才可以挂载Nvme共享盘 阿里云的VIP功能目前还在内侧阶段,需要申请其他云环境中使用CLup创建Polardb的情况 天翼云 共享盘:所有虚拟机都0 码力 | 34 页 | 3.59 MB | 6 月前3
CurveFS对接S3方案设计required uint64 capacity = 5; required uint64 blockSize = 6; required uint32 mountNum = 7; repeated MountPoint mountpoints = 8; required FSType fsType = 9; optional common.Volume ctime = 4; optional uint32 mtime = 5; optional uint32 atime = 6; optional uint32 uid = 7; optional uint32 gid = 8; optional uint32 mode = 9; optional VolumeExtentList volumeExtentList optional S3ChunkInfoList s3ChunkInfoList = 11; // TYPE_S3 only } message UpdateInodeResponse {© XXX Page 7 of 11 required MetaStatusCode statusCode = 1; } service MetaServerService { rpc UpdateIno0 码力 | 11 页 | 145.77 KB | 6 月前3
CurveFS Copyset与FS对应关系© XXX Page 1 of 19 curvefs copyset与fs对应关系© XXX Page 2 of 19 版本 时间 修改者 修改内容 1.0 2021/7/23 陈威 初稿 1.1 2021/8/4 陈威 根据评审意见修改 1.2 2021/8/9 陈威 增加详细设计 1、背景 2、chubaofs的元数据管理 2.1、meta partition的创建 2.2、meta 5、curvefs mds和metaserver的心跳 6、详细设计 6.1 创建fs 6.2、挂载fs 6.3、创建文件/目录 6.4、open流程 6.5、读写流程 6.6、topology 7、工作评估 7.1 client端 7.2 mds端 7.3 metaserver端 metaserver 子模块拆分 8、inode和dentry的内存估算 8.1 一台机器上能存放多少个inode和dentry y是拿着parent的inode id去查询。© XXX Page 6 of 19 一个fs的meta partition使用第一个叫做MetaWrapper的结构体组织起来© XXX Page 7 of 19 type MetaWrapper struct { sync.RWMutex cluster string localIP string0 码力 | 19 页 | 383.29 KB | 6 月前3
Curve for CNCF MainONE DISK FAILURE 4s 7s ONE SERVER FAILURE 4s 7s SERVER RESPONSE VERY SLOW 4s unrecoverable frequently delay of disk i/o are very long NETWORK LATENCY 50MS 1s frequently 7s recentlyStorage Engine0 码力 | 21 页 | 4.56 MB | 6 月前3
Curve文件系统元数据持久化方案设计----+---------+-----+--------------+-------+----------------+---------+ 持久化文件 字段 字节数 说明 CURVEFS 7 magic number(常量字符 "CURVEFS"),用于标识该文件为 curvefs 元数据持久化文件 version 4 文件版本号(当文件格式变化时,可以 100% 向后兼容加载旧版持久化文件) ctime = 4; required uint32 mtime = 5; required uint32 atime = 6; required uint32 uid = 7; required uint32 gid = 8; required uint32 mode = 9; required sint32 nlink = 10; required TYPE_SYM_LINK only optional VolumeExtentList volumeExtentList = 13; // TYPE_FILE only }© XXX Page 7 of 12 测试对比: 10 万条随机生成 inode 耗时 (MS) 内存 (KB) 顺序编码 13 5079 protobuf 序列化 81 4996 从对比结果来看,10 万条 inode0 码力 | 12 页 | 384.47 KB | 6 月前3
Estimation of Availability and Reliability in CurveBS𝑃) = 61 − 𝑒"#$%∗('"!)∗(,7 ∗ 1 3 ∗ 50 𝑁 3 The probability of the failure of the third disk in tr during the recovery time is as follows𝑃- = 61 − 𝑒"#$%∗(' " ))∗(,7 ∗ 1 3 ∗ 50 ∗ 3 𝑁 The0 码力 | 2 页 | 34.51 KB | 6 月前3
共 27 条
- 1
- 2
- 3













