积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部系统运维(26)存储(26)

语言

全部中文(简体)(21)zh(2)JavaScript(1)西班牙语(1)zh-cn(1)

格式

全部PDF文档 PDF(26)
 
本次搜索耗时 0.013 秒,为您找到相关结果约 26 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 西班牙语
  • zh-cn
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Curve质量监控与运维 - 网易数帆

    当前实现了高性能块存储,对接OpenStack和 K8s  网易内部线上无故障稳定运行近两年  已完整开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve Curve 3/33为用户服务 作为一个复杂的大型分布式存储系统,Curve 需要利用科学的方法论和专业的工具,在整个 参考文献 8/33代码编写规范 Curve代码编写规范遵循Google Style Guides(https://google.github.io/styleguide/) 9/33新代码提交 Dailybuild测试 提交issue 开发设计 提交PR review +1 CI测试(编译、静态检 查、单元测试、集成测 试、覆盖率80%卡点) 合入master 分支 代码提交流程 异常自动化 查、单元测试、集成测 试、覆盖率80%卡点) 邮件通知 Curve所有代码均在github托管。新 代码需要通过CI测试和code review才 能合入master分支,确保新合入代码 的功能、正确性、规范性等都有基本 保障;而每日运行的dailybuild测试在 CI测试基础上增加了异常自动化测试 和混沌测试,确保master分支代码的 bug尽可能早地暴露出来。 通过这种流程,curve可以在一定
    0 码力 | 33 页 | 2.64 MB | 6 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    of 19 2、chubaofs的元数据管理 chubaofs(补充链接)的元数据也是采用的raft的方式进行管理,可以借鉴一下chubaofs的元数据的分片策略。 通过分析chubaofs的源代码。chubaofs的用volume管理一个文件系统,每个volume有若干meta partition和data partition。meta partition管理的元数据,data partition管理数据。meta 0个inode,最后一个partition是[100, max],切完之后,变成了[100, 200], [200, 分裂 max]。怎么维持一定数目的meta partition数据,目前还没在代码里找到对应的逻辑。 2.3、meta partition和inode以及dentry的对应关系?© XXX Page 5 of 19 怎么确定inode和dentry于partition的对应关系? copyset均衡调度器。根据集群中copyset的分布情况生成copyset迁移任务; LeaderScheduler: leader均衡调度器。根据集群中leader的分布情况生成leader变更任务; ReplicaScheduler: 副本数量调度器。根据当前copyset的副本数生成副本增删任务; RecoverScheduler: 恢复调度器。根据当前copyset副本的存活状态生成迁移任务。 结论:心跳参考cu
    0 码力 | 19 页 | 383.29 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    /A/C到/B/E symbolic link: hardlink:生成一个hardlink /B/E,指向文件/A/C list:遍历/A目录 5.1.2 好处 5.1.2 问题 5.2 分片方式二:Inode按照inodeid进行分片,Dentry按照parentid进行分片 rename:rename /A/C到/B/E hardlink:生成一个hardlink /B/E,指向文件/A/C 6、curve文件系统的多文件系统的设计 4、curve文件系统的元数据内存组织 curve文件系统元数据主要有3个类型,inode, dentry, 。 extent 4.1 inode定义: inode定义见:curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 5 of 24 typedef uint64_t InodeId; enum FileType { TYPE_DIRECTORY = 0, ::curve::common::RWLock lock_; };© XXX Page 6 of 24 4.2 dentry的定义: dentry定义见:curve文件系统元数据proto(代码接口定义,已实现) typedef uint64_t InodeId; class Dentry{ uint64_t fsId; InodeId parentId; InodeId
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 Curve核心组件之mds – 网易数帆

    当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve 概述整体架构 01 02 03 MDS各组件详细介绍 Q&A基本架构 • 元数据节点 MDS 管理元数据信息 Mds在分配空间时,轮流在不同的copyset中分配,每次从copyset中分配1个chunk, 这个chunk用copysetId:chunkId来唯一标识。COPYSET Copyset的生成策略:Source code : curve/src/mds/copyset/ bool GenCopyset(const ClusterInfo& cluster, int numCopysets 据集群中copyset的分布情况生成copyset迁移任 务; • LeaderScheduler 是leader均衡调度器,根据集 群中leader的分布情况生成leader变更任务; • ReplicaScheduler 是副本数量调度器,根据当 前copyset的副本数生成副本增删任务; • RecoverScheduler 是恢复调度器,根据当前 copyset副本的存活状态生成迁移任务。 触发任务:
    0 码力 | 23 页 | 1.74 MB | 6 月前
    3
  • pdf文档 Curve核心组件之chunkserver

    当前实现了高性能块存储,对接 openstack 和 k8s 网易内部线上无故障稳定运行500+天 • 已开源 • github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curveCURVE基本架构 01 02 03 04 ChunkServer架构 ChunkServer核心模块 新版本 scheduler发现copyset1, 2, 3的副本CS1 offline, 生成change peer from CS1 to CS2的operator给这三个copyset ④ MDS通过RPC在CS2上创建copyset1,2,3这三个copyset ⑤ 假定三个copyset的leader都是CS3,在CS3的下一次心跳的 response中,下发第三步生成的三个operator ⑥ CS3收到change 3迁移到CS1上 ① CS1换了新盘,并重新格式化后启动chunkserver ② CS1重新向MDS注册 ③ MDS生成新的chunkserver id和token给CS1 ④ MDS的copyset scheduler发现CS1上的copyset数量为0,CS2上 的copyset最多,生成change peer from CS2 to CS1的operator给 部分copyset,比如copyset1
    0 码力 | 29 页 | 1.61 MB | 6 月前
    3
  • pdf文档 Curve核心组件之snapshotclone

    责与MDS和ChunkServer交互。 CurveClient: • 负责管理快照和克隆源卷的引用计数。 SnapshotRef & CloneRef:快照总体流程 • 1.用户发起快照,生成快照任务,并持久化到 etcd,开始执行快照任务。 • 2.在curve中创建内部快照,并返回快照信息, 然后将快照信息更新到etcd。此时,即返回用 户快照成功,可以进行读写。 • 3. 打快照后写过,触发了cow, 有snap file, 合并读取 c) 卷从未写过, 两者都没有,返回NOTEXIST 转储内部快照,即读内部快照的三种情况:克隆总体流程 • 1. 用户发起克隆,生成克隆任务,并持 久化任务元数据到etcd,开始执行克隆 任务。 • 2. 调用mds接口创建clone卷信息,该 clone卷是个临时卷,位于/clone目录下。 • 3. 调用mds接口为目的卷分配空间。 (根据bitmap) • 那么,直接读取 需要从源chunk读取: • 判断是Clone Chunk且需要读取的区域还未被拷贝过 • 那么,生成CloneTask,交给CloneManager • Read & Merge, • 同时生成PasteChunkRequest 不需要从源chunk读取: • 异步完成,不在IO主路径 • 类似与发起一个写请求,经CopysetNode走一致性协议
    0 码力 | 23 页 | 1.32 MB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    optional VolumeExtentList volumeExtentList = 13; // TYPE_FILE only }© XXX Page 7 of 12 测试对比: 10 万条随机生成 inode 耗时 (MS) 内存 (KB) 顺序编码 13 5079 protobuf 序列化 81 4996 从对比结果来看,10 万条 inode 耗时相差不大(CPU 并不是瓶颈),内存 一个 DB 的功能: 如果改造,dump/load 的逻辑都得动,而且会牵扯到一些其他逻辑(如主从复制,因为 redis 主从全量复制发送的就是一整个 RDB 文件,即使我们不需要这个功能,这部分代码也是有耦合的)© XXX Page 11 of 12 1. 2. 3. 如果自己实现,只是一个简单的 sava/load 逻辑,比较清晰 redis 中有许多数据结构可供使用,如
    0 码力 | 12 页 | 384.47 KB | 6 月前
    3
  • pdf文档 CurveFS Client 概要设计

    找到当前dir的inode struct结构,从缓存或metaserver获取当前dir的dentry列表。 读取当前[off,size]对应位置的dentry,调用fuse_add_direntry,生成dir buffer,返回 getattr & setattr void (*getattr) (fuse_req_t req, fuse_ino_t ino, struct fuse_file_info server client curve client (适配层) fuse impl main© XXX Page 10 of 11 接口设计 相关接口设计,见curve文件系统元数据proto(代码接口定义,已实现) Cache设计 Client的重要部分,就是上述这些cache的组织,基于以下几点考虑cache的组织方式: 1.由于cache不命中情况下,损失了cache查找这部分时间
    0 码力 | 11 页 | 487.92 KB | 6 月前
    3
  • pdf文档 Curve支持S3 数据缓存方案

    uint32_t len_; char* data_; }; 详细设计 Write流程 1.加锁,根据inode和fsid找到对应的fileCacheManager,如果没有则生成新的fileCacheManager,解锁,调用fileCacheManager的Write函数。 2.考虑到同一个client同一个文件同时只能一个线程进行文件写,所以在Write函数中加写锁。 3 存,以及无缓存。将缓存部分buf直接copy到接口的buf指针对应的偏移位置,无缓存部分生成requestVer。 3.遍历requestVer,根据每个request的offset找到inode中对应index的S3ChunkInfoList,根据S3ChunkInfoList构建s3Request,最后生成s3RequestVer。 4.遍历s3Re 接口读取数据。 questVer中request采用异步
    0 码力 | 9 页 | 179.72 KB | 6 月前
    3
  • pdf文档 PFS SPDK: Storage Performance Development Kit

    ●读写都需要CPU拷贝数据 ●不能发挥某些NVME的功能,例如write zero10/17/22 5 为什么用PFS ●对代码比较熟悉 ●找一个能管理裸盘,具有产品级可靠性的代码挺难的 ●PFS支持类POSIX文件的接口,与使用EXT4的存储引擎代码很像, 所以容易移植现有代码到PFS存储引擎 ●CurveBS对文件系统元数据的操作非常少,对文件系统的要求不高, 所以不需要元数据高性能,这方面PFS也合适10/17/22 ●修改BRPC,允许使用dpdk内存作为IOBuf的内存分配器 ●BRPC接收到的数据在IOBuf中,IOBuf直接使用于NVME DMA传输 ●使用IOBuf内存读nvme,避免自己写PRP页面对齐内存分配代码10/17/22 11 pfs_pwrite_zero ●在初始化curvebs时,需要创建chunk pool, 每一个chunk都要填零 ●chunk不再被卷使用时,需要回归chunk pool,为了安全也需要填0。 ●CurveBS 使用brpc::Controller 的attachment 发送数据 ●attachment是一个IOBuf ●IOBuf直接通过rdma发送出去 ●以上过程在读chunk的代码路径上实现了零copy。10/17/22 15 写入nvme的零copy实现 ●当前只支持到SGL,对于PRP的实现不支持。 ●对于只支持PRP的nvme,可以开启读数据零copy功能 ●对
    0 码力 | 23 页 | 4.21 MB | 6 月前
    3
共 26 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
Curve质量监控运维网易数帆CurveFSCopysetFS对应关系文件系统文件系统数据管理数据管理核心组件mdschunkserversnapshotclone持久方案设计方案设计Client概要支持S3缓存PFSSPDKStoragePerformanceDevelopmentKit
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩