CurveFs 用户权限系统调研
1 of 33 CurveFs 用户权限系统调研(已实现)© XXX Page 2 of 33 一、Curvefs测试 1. 启动curvefs 问题1:root用户无法访问挂载目录 测试 allow_root 测试allow_other 参考文献 问题2:本地文件系统挂载默认是共享的? 问题3:文件系统访问控制是在哪一层实现的? 二、文件系统权限管理 文件类型 文件权限 特殊权限(SUID 文件默认权限umask 用户&用户组 文件系统用户权限管理 对mode的管理 对ACL(Access Control Lists)的管理 ACL Access Entry保存在哪? ACL的表示 内存中的ACL 是如何与具体的 Inode 相关联 如何存储和获取ACL信息 Inode权限校验 chmod、chown、setfacl、getfacl接口文件系统自己如何实现 结论: 参考文献: 一、Curvefs测试 Page 4 of 33 查阅资料发现这是fuse的一种安全策略,默认是只有filesystem owner拥有该文件系统的访问权限,如果想要其他用户有权访问,需要在挂载参数中指定‘-o allow-root’ 或'-o allow-other'以允许相应用户有权访问该文件系统,如果挂载者不是root还需要在/etc/fuse.conf(/usr/local/etc/fuse.conf)中增加配0 码力 | 33 页 | 732.13 KB | 5 月前3Curve文件系统元数据管理
© XXX Page 1 of 24 Curve文件系统元数据管理(已实现)© XXX Page 2 of 24 1. 2. 3. 4. Inode 1、设计一个分布式文件系统需要考虑的点: 2、其他文件系统的调研总结 3、各内存结构体 4、curve文件系统的元数据内存组织 4.1 inode定义: 4.2 dentry的定义: 4.3 内存组织 5 元数据分片 hardlink:生成一个hardlink /B/E,指向文件/A/C 6、curve文件系统的多文件系统的设计 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 stl unordered_map moose,使用c实现 4、curve文件系统的元数据内存组织 curve文件系统元数据主要有3个类型,inode, dentry, 。 extent 4.1 inode定义: inode定义见:curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 5 of 24 typedef uint64_t0 码力 | 24 页 | 204.67 KB | 5 月前3Curve文件系统空间分配方案
Curve文件系统空间分配方案(基于块的方案,已实现)© XXX Page 2 of 11 背景 本地文件系统空间分配相关特性 局部性 延迟分配/Allocate-on-flush Inline file/data 空间分配 整体设计 空间分配流程 特殊情况 空间回收 小文件处理 并发问题 文件系统扩容 接口设计 RPC接口 空间分配器接口 背景 根据 ,文件系统基于当前的块进 ,文件系统基于当前的块进行实现,所以需要设计基于块的空间分配器,用于分配并存储文件数据。 CurveFS方案设计(总体设计,只实现了部分) 本地文件系统空间分配相关特性 局部性 尽量分配连续的磁盘空间,存储文件的数据。这一特性主要是针对HDD进行的优化,降低磁盘寻道时间。 延迟分配/Allocate-on-flush 在sync/flush之前,尽可能多的积累更多的文件数据块才进行空间分配,一方面可以提高局部性,另一方面可以降低磁盘碎片。 几百字节的小文件不单独分配磁盘空间,直接把数据存放到文件的元数据中。 针对上述的本地文件系统特性,Curve文件系统分配需要着重考虑 。 局部性 虽然Curve是一个分布式文件系统,但是单个文件系统的容量可能会比较大,如果在空间分配时,不考虑局部性,inode中记录的extent数量很多,导致文件系统元数据量很大。© XXX Page 3 of 11 假如文件系统大小为1PiB,空间分配粒度为1MiB,inode中存储的e0 码力 | 11 页 | 159.17 KB | 5 月前3Curve文件系统元数据Proto(接口定义)
XXX Page 1 of 15 curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 2 of 15 1、代码结构和代码目录 curve文件系统是相对于curve块设备比较独立的一块,在当前curve项目的目录下,增加一个一级目录curvefs,curvefs下有自己独立的proto\src\test。 2、文件系统proto定义 2.1 mds.proto0 码力 | 15 页 | 80.33 KB | 5 月前3Curve文件系统元数据持久化方案设计
0 码力 | 12 页 | 384.47 KB | 5 月前3使用Chaos Mesh来保障云原生系统的健壮性-周强
云原生社区Meetup 第三期·杭州站 使用 Chaos Mesh 来保障云原生系统的健壮性 演讲人:周强 GitHub 地址:https://github.com/zhouqiang-cl PingCAP 工程效率负责人,ChaosMesh 负责人 云原生社区Meetup 第三期·杭州站 The incident in the production environment0 码力 | 28 页 | 986.42 KB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 灰度验证 云化落地 规模化落地 2018年下半年开始投 入 Kubernetes 及其配 套系统研发 2019年初于生产环境 开始灰度验证,对部分 应用做平台迁移 2019年4月完成云化环境 适配,蚂蚁金服云上基础 设施全部采用 Kubernetes 支撑618 2019年7月到双十一前完成 全站 Kubernetes 落地,超过 90% 的资源通过 Kubernetes 分配,核心链路100%落地支撑0 码力 | 19 页 | 2.18 MB | 5 月前3分布式NewSQL数据库TiDB
18 ⽬录 ⽬录 ⽬录 ⽬录 概览 概览 什么是 什么是TiDB 产品优势 产品优势 ⾼度兼容 MySQL 动态扩展 分布式事务 HTAP 真正⾦融级⾼可⽤ 适⽤场景 适⽤场景 对数据⼀致性及⾼可靠、系统⾼可⽤、可扩展性、容灾要求较⾼的⾦融⾏业属性的场景 对存储容量、可扩展性、并发要求较⾼的海量数据及⾼并发的 OLTP 场景 Real-time HTAP 场景 数据汇聚、⼆次加⼯处理的场景 真正⾦融级⾼可⽤ 的⽔平扩展,按需扩展吞吐或存储,轻松应对⾼并发、海量数据场景。 分布式事务 分布式事务 TiDB 100% ⽀持标准的 ACID 事务。 HTAP 为在线事务处理、在线分析处理提供⼀站式解决⽅案,⽆需独⽴部署分析处理系统。 产品优势 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 12/120 真正⾦融级⾼可⽤ 真正⾦融级⾼可⽤ 相⽐于传统主从 (M-S) 复制⽅案,基于 Processing)、HTAP 解决⽅案。TiDB 适合⾼可⽤、强⼀致要求较⾼、数据规模较⼤等各种应⽤ 场景。 对数据⼀致性及⾼可靠、系统⾼可⽤、可扩展性、容灾要求较⾼的⾦融⾏业属性的场景 对数据⼀致性及⾼可靠、系统⾼可⽤、可扩展性、容灾要求较⾼的⾦融⾏业属性的场景 众所周知,⾦融⾏业对数据⼀致性及⾼可靠、系统⾼可⽤、可扩展性、容灾要求较⾼。传统的解决⽅案是同城两个机房提供服务、异地⼀个机房提供数据容灾能⼒但不提供服务,此解决⽅案存0 码力 | 120 页 | 7.42 MB | 5 月前3TiDB中文技术文档
目 录 致谢 README TiDB 简介 TiDB 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 关键字和保留字 简介与整体架构 TiDB 简介 TiDB 整体架构 TiDB 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 数据目录 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 服务器日志文件 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 发送失败或者收到了错误的 message 如果出现了大量的 unreachadble 的消息,表明系统网络出现了问题。如果有 store not match 这样的错误, 表明收到了不属于这个集群发过来的消息 Vote : Raft vote 的频率 通常这个值只会在发生 split 的时候有变动,如果长时间出现了 vote 偏高的情况,证明系统出现了 严重的问题, 有一些节点无法工作了 95% & 99% coprocessor0 码力 | 444 页 | 4.89 MB | 5 月前3CurveFS方案设计
调研 开源fs 性能对比 可行性分析 方案对比 对比结论 架构设计 卷和文件系统 元数据架构 文件系统快照 方案一:文件/目录级别快照 方案二:文件系统快照 关键点 元数据设计 数据结构 索引设计 文件空间管理 开发计划及安排 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是实现了块存储,向上提供块设 备服务,CurveFS会基于此实现。第一阶段的目标是实现 满足数据库场景的文件接口。 调研 开源fs 当前对已有的开源分布式文件系统进行了调研,主要包括系统架构,元数据内存结构,元数据持久化,调研文档如下: chubaofs: ChubaoFS© XXX Page 3 of 14 1. 2. 3. moosefs: https://kms.netease.com/te com/team/km_curve/article/29140 cephfs: https://kms.netease.com/team/km_curve/article/27909 性能对比 并对以上文件系统在相同环境进行了元数据节点性能测试: 。测试结果c开发的moosefs和fastcfs元数据性能远优于go开发的chubaofs和c开发的cephfs,理论上分析这个结果是合理的,分布式的元数据设 调研测试0 码力 | 14 页 | 619.32 KB | 5 月前3
共 75 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8