• pdf 文档 Curve文件系统元数据持久化方案设计

    0 码力 | 12 页 | 384.47 KB | 5 月前
    3
    文档详细阐述了Curve文件系统的元数据持久化方案设计,包括Raft Log和Raft Snapshot的持久化机制。Raft Log记录操作日志,包含类型、键值对及校验和等字段;Raft Snapshot将内存数据结构 dump 至文件,包含 CURVEFS 标识、版本号、键值对数量等部分。持久化文件采用小端序存储,利用 fork 子进程解决读写冲突。文档还探讨了Redis在持久化中的应用及其局限性,包括AOF和RDB的不足,以及 Redis Cluster与主从复制的高可用方案。最后提出了基于 multiraft 的持久化实现,并对 kodevs 和 Redis 的改造进行了权衡分析。
  • pdf 文档 Curve支持S3 数据缓存方案

    0 码力 | 9 页 | 179.72 KB | 5 月前
    3
    文档介绍了Curve支持S3数据缓存方案的设计与实现,旨在解决基于S3的daemon版本性能差的问题。通过引入缓存模块,优化了读写场景下的数据操作。设计包括读写缓存分离、两层元数据索引、缓存层级结构以及后台刷数据线程。详细描述了Write、Read、ReleaseCache、Flush和FsSync等流程,并通过POC测试验证了方案的有效性。该方案针对顺序读写和小IO性能进行了优化。
  • pdf 文档 Curve元数据节点高可用

    0 码力 | 30 页 | 2.42 MB | 5 月前
    3
    文档阐述了Curve元数据节点(MDS)的高可用方案,通过etcd的TTL和CAS机制实现leader选举和故障转移。MDS负责元数据管理和集群状态监控,其高可用设计确保在主节点故障时,备节点能够快速接管服务以减少中断时间。文档详细介绍了选主流程、异常情况处理方案以及各类故障的影响分析。
  • pdf 文档 CurveFs 用户权限系统调研

    0 码力 | 33 页 | 732.13 KB | 5 月前
    3
    文档调研了CurveFs用户权限系统的实现情况。测试发现,默认情况下CurveFs文件系统链路没有进行权限控制,但通过挂载参数'default_permissions'和'allow_other'可以启用内核基于模式的权限控制,使其与本地文件系统权限管理一致。 CurveFs支持文件权限、特殊权限、ACL、文件默认权限(umask)等特性,但不支持ACL扩展。为了避免普通用户删除非自己所属文件,建议将root节点mode设置为1777。测试结果表明,非root用户挂载需要在/etc/fuse.conf中配置'user_allow_other'。
  • pdf 文档 CurveFS方案设计

    0 码力 | 14 页 | 619.32 KB | 5 月前
    3
    该文档详细描述了CurveFS的方案设计,旨在为云原生场景提供高性能通用文件系统,重点支持数据库场景。通过调研多个开源分布式文件系统(如ChubaoFS、MooseFS、CephFS等),最终选择基于块设备构建CurveFS。文档详细阐述了元数据管理、空间分配、快照逻辑等关键点,并对元数据节点的高可用、高可扩展性、高可靠性等要求进行了分析。文档还包括了详细的开发计划及安排,确保实现满足数据库场景的文件接口需求。
  • pdf 文档 CurveFS Client 概要设计

    0 码力 | 11 页 | 487.92 KB | 5 月前
    3
    文档详细描述了CurveFS客户端的设计,其中客户端向上提供了fuse接口和lib库两层接口。Fuse接口主要实现了诸如init、destroy、lookup、write、read等功能。文档着重分析了关键接口如lookup和write的实现逻辑,并讨论了缓存设计,包括缓存组织方式、查找结构的选择、淘汰策略等。功能分析涵盖了文件系统元数据的缓存、与元数据服务器及块设备的交互,以及fuse接口的实现。模块划分包括fs cache、inode cache、dentry cache等模块。硬链接和部分高级接口暂时未实现。
  • pdf 文档 新一代云原生分布式存储

    0 码力 | 29 页 | 2.46 MB | 5 月前
    3
    文档介绍了分布式存储的发展、分类及其要素,重点对比了Ceph和Curve两种分布式存储系统。Ceph的架构简介及其在块存储中的应用场景和存在的问题,如一致性协议导致的性能差和容量不均衡问题。Curve则通过改进架构,解决了这些问题并实现了高可用性和高可扩展性,适用于数据库、Kafka等中间件场景。文档还介绍了分布式存储的核心要素,包括数据分布、可靠性、数据一致性和可扩展性等,并强调了其在云原生环境下的应用重要性。
  • pdf 文档 Raft在Curve存储中的工程实践

    0 码力 | 29 页 | 2.20 MB | 5 月前
    3
    文档介绍了Curve存储系统中对Raft协议的工程实践。Curve是一个高性能、稳定且易于运维的分布式存储系统,支持块存储和文件存储。文中详细说明了Raft协议在Curve块存储和文件存储中的应用,包括基于memory和rocksdb的存储引擎实现、快照机制的优化、配置变更的实现方案以及系统的容错和负载均衡特性。此外,还提到了Curve文件系统与块存储在实现细节上的差异,特别是在写日志、快照处理和存储引擎的选择方面。
  • pdf 文档 NJSD eBPF 技术文档 - 0924版本

    0 码力 | 20 页 | 7.40 MB | 5 月前
    3
    文档详细介绍了eBPF技术在Curve文件系统中的应用,主要包括通过eBPF优化Curve文件系统的客户端延迟问题,并与ld_preload方法进行对比。文档还阐述了eBPF在内核中的缓存读取机制,用于提升文件读取性能。Curve文件系统采用缓存技术以提升性能,并结合对象存储降低成本。此外,文档还涉及了eBPF的基础知识、基于FUSE的缓存设计、关键数据结构如Map映射,以及Curve社区的介绍和应用场景。
  • ppt 文档 Bazel

    0 码力 | 6 页 | 4.69 MB | 5 月前
    3
    文档记录了将Bazel升级到4.2.2的过程,并对Debian9、Debian10和Debian11系统提供了支持。文档详细描述了使用gcc和clang进行编译的配置方法,以及Docker镜像的制作过程。其中包括了在容器内外环境下进行构建和测试的具体命令,并提到了单元测试文件的修改。
共 39 条
  • 1
  • 2
  • 3
  • 4
前往