积分充值
 首页
前端开发
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文库
  • 综合
  • 文档
  • 文章

无数据

分类

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

语言

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

格式

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

    client MDS leader Chunk server 1、发起请求 2、查询元数据 5、返回结果 5、返回结果 user 3、查询leader节点 4、向leader cs发起请求 1. 用户发起请求(fd, offset, length) ; 2. Client 向 mds 查询请求的元数据, 并缓存到本地,请求转换为对 chunk 的请求 (CopysetId (CopysetId ,chunkId, offset in chunk, length in chunk); 3. Client 向 chunkserver 查询 chunk 所在的 copyset的leader Chunkserver节点; 4. Client 向 leader 发送读写请求client (IP, port, CopysetId, chunkId, offset in chunk, length 间(默认 30min),chunkserver状态改为unstable状态,打 印一条warning日志。 • Offline :chunk server超过offline的时间没有收到心 跳(默认30min), chunkserver状态改为offline, 打印一条error日志。调度模块感知到offline状态, 触发chunk server的recover修复。 心跳正常 心跳正常
    0 码力 | 23 页 | 1.74 MB | 5 月前
    3
  • pdf文档 CurveFS方案设计

    inode-inodeInfo; dentry 中存储 filename-dentryInfo 信息 copyset 启动的时候根据 inode 和 dentry 分别建立对应的内存结构,再回放 wal 日志完成构建 卷的元数据管理 卷的元数据中需要包含建立在该卷之上的文件系统元数据分片的位置,以便进行元数据的索引 常见的元数据操作 Create 与 mds 交互获取 inode 和 dentry /(inodeid=1) 所在的 copyset 根据 parent-inode=1 和 name=A 获取对应的 dentry,从而获取到 /A 的 inode 根据 /A 的 inodeId 查询 /A/B 所在的 copyset 根据 parent-inode=* (/A的的inodeid) 和 name=B 获取对应的 dentry,从而获取到 /A/B 的 inode ReadDirAll
    0 码力 | 14 页 | 619.32 KB | 5 月前
    3
  • pdf文档 Raft在Curve存储中的工程实践

    raft可以解决分布式理论中的CP,即一致性和分区容忍性 • 大多数副本成功即可返回成功 • 速度取决于写的较快的大多数RAFT协议简介 • Leader:负责从客户端接受日志,把日志复制到其 他服务器,当保证安全性的时候告诉其他服务器应用 日志条目到他们的状态机中。 • Candidate: 发起选举。获取大多数选票的候选人将 成为领导者。 • Follower: 响应来自其他服务器的请求,如果接受不 leader收到客户端的请求。 2. leader把请求指令记录下来,写入日志,然后并⾏发 给其他的服务器,让他们复制这条⽇志。 3. 当这条⽇志条⽬被安全的复制,leader会应⽤这条⽇ 志条⽬到它的状态机中。 4. 然后把执⾏的结果返回给客户端。 • 提供命令在多个节点之间有序复制和执行,当多个节 点初始状态一致的时候,保证节点之间状态一致。 raft日志复制RAFT协议简介 raft配置变更 • 配置:加入一致性算法的服务器集合。 集群先切换到一个过渡的配置(old + new),一旦共同一 致已经被提交,系统切换到新的配置(new)。RAFT协议简介 日志压缩 • 日志会不断增长,占用空间 • 采用快照的方式压缩日志 • 在某个时间点,整个系统的状态都以快照的形式写入 到稳定的持久化存储中 • 完成一次快照之后,删除时间点之前的所有日志和快 照。BRAFT简介 • raft协议提出之后,涌现出了非常多的实现,比如etcd,braft,tikv等。
    0 码力 | 29 页 | 2.20 MB | 5 月前
    3
  • pdf文档 Curve核心组件之chunkserver

    CliService。成员变更相关操作 • CopySetService。创建copyset等操 作 • RaftService。Braft内置的service, 完成raft成员之间的选举,日志复制, 安装快照等操作。 ChunkServer架构CopysetNode封装了braft的Node,并 实现了braft的状态机,完成与raft的交 互。详细交互流程后面展开。 CopysetNodeManager负责管理 在CS3的下一次心跳的 response中,下发第三步生成的三个operator ⑥ CS3收到change peer from CS1 to CS2的operator,给CS2同步 raft日志,当CS2成功赶上进度时,本次raft成员变更成功完成, CS2成为了复制组的一员,CS1不再属于这个复制组。 ⑦ CS3在下一次心跳中向MDS报告本次raft成员变更已完成 ⑧ MDS在得知 在CS3的下一次心跳的 response中,下发第四步生成的三个operator ⑦ CS3收到change peer from CS2 to CS1的operator,给CS1同步 raft日志,当CS1成功赶上进度时,本次raft成员变更成功完成, CS1成为了复制组的一员, CS2不再属于这个复制组。 ⑧ CS3在下一次心跳中向MDS报告本次raft成员变更已完成 ⑨ 等CS1上
    0 码力 | 29 页 | 1.61 MB | 5 月前
    3
  • pdf文档 Curve文件系统元数据管理

    展性不受限于内存,服务上的内存只有几百GB,而硬盘空 间按照20块1.6TB的盘来计算,一个服务器上可以有32TB的空间,硬盘的空间比内存到100多倍。但是这种方式,由于数据不能去全部缓存到内存,在查询元数据的时候,需要去盘上读数据,而且在文件系统这种使 用场景下,一次对文件的查找,需要在磁盘上读取多次。 我们的文件系统定位是一个高性能的通用文件系统,元数据的缓存倾向于全缓存。 系统加载的时候 name "A",查询"A"的inodeid为100© XXX Page 13 of 24 2、client给server0发送请求:inode 100,查询的"A"的inode信息。 3、client给server1发送请求:parentid 100 + name "C",查询"C"的inode为300 4、client给server1发送请求:inode 300,查询"C"的inode信息。 1、client给server0发送请求:parentid 0 + name "A",查询"A"的inodeid为100 2、client给server0发送请求:inode 100,查询的"A"的inode信息。 3、client给server1发送请求:parentid 100 + name "C",查询不到 4、client给server1发送请求:分配inodeid 300,创建文件C的inode。
    0 码力 | 24 页 | 204.67 KB | 5 月前
    3
  • pdf文档 curvefs client删除文件和目录功能设计

    tree和free list中移除该inode,不再等待7天。 chubaofs实现了强制从freelist中移除inode的机制,同样是使用设置DeleteMarkFlag的方式。 chubaofs也实现了查询机制,来查询处于freelist当中的inode的情况,以便与运维,这一部分没有细看。 优点: 实现简单,开发代价小,且后续可以增加metaserver端打开(session)等机制,向着moosefs的演进也是可以的。 id 由于inode放在原地,那么由于dentry已经被删除,那么查询工具就较为复杂,不能复用原有的client逻辑,需要组织成moosefs那样的meta文件系统可能需要引入额外的复杂性,但是依然可以实现简单的 工具查询。 由于该方案,删除的inode是分散于每个partition中,那么查询工具可能需要遍历所有partion去查询所有的删除inode。 第二种方案: 将inode移动到隐藏的 目录结构,有dentry和inode,并遵循当前inode和dentry的放置方式(inode按照inodeid分布,dentry按照parentid分布) 这种方案的优点是便于工具对trash进行查询,毕竟是实际的目录结构,完全遵循文件系统,可能可以复用client的当前设计,甚至可以参考moosefs实现一个meta文件系统来管理,更为优雅。 但是缺点是DEL和UNDEL需 ,这部分处理会引入
    0 码力 | 15 页 | 325.42 KB | 5 月前
    3
  • pdf文档 CurveFS Client 概要设计

    parent, const char *name, mode_t mode, dev_t rdev); 这两个函数的功能是类似,都用来创建文件。 根据parent inode id 和name,向mds查询创建dentry和inode的位置,去meta server创建dentry和inode 预分配一些空间?可先不做 mkdir© XXX Page 7 of 11 void (*mkdir) (fuse_req_t (fuse_req_t req, fuse_ino_t parent, const char *name, mode_t mode); 根据parent inode id 和name,向mds查询创建dentry和inode的位置,去meta server创建dentry和inode forget void (*forget) (fuse_req_t req, fuse_ino_t ino, uint64_t name找到当前文件的inode和denty结构 根据lookup count 值,如果非0,则需要延迟删除文件,如果为0,则真正删除文件。 ( ) 这里需要做标记删除 删除时需要从缓存或mds查询删除inode和dentry的位置,并去metaserver删除,然后清除本地缓存 rmdir void (*rmdir) (fuse_req_t req, fuse_ino_t parent,
    0 码力 | 11 页 | 487.92 KB | 5 月前
    3
  • pdf文档 Curve设计要点

    Chunk server 1、发起请求 2、查询元数据 5、返回结果 5、返回结果 user 3、查询leader节点 4、向leader cs发起请求 1. 用户发起请求; 2. Client 向 mds 查询请求的元数据, 并缓存到本地,请求转换为对 chunk 的请求 3. Client 向 chunkserver 查询 chunk 所在的 copyset的leader 可视化 • 每日报表 • 丰富的数据定位问题易运维 • 丰富的metric体系 • prometheus + grafana 可视化 • 每日报表 • 丰富的数据定位问题 • 集群状态查询工具 • curve_ops_tool • 自动化部署工具 • 一键部署,一键升级高质量 • 良好的模块化和抽象设计 • 完善的测试体系 • 单元测试 行覆盖80%+,分支覆盖70%+
    0 码力 | 35 页 | 2.03 MB | 5 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    创建dentry,去parent inodeid所在的meta partition进行创建就好了。 查找inode和partition的时候,通过inodeid去查询应该由哪个partition进行处理。inode是拿着inodeid查询,dentry是拿着parent的inode id去查询。© XXX Page 6 of 19 一个fs的meta partition使用第一个叫做MetaWrapper的结构体组织起来© 变成了去copyset上修改。 client端缓存所有open的inode,读写的时候,根据inode的元数据,去对应的volume或者S3进行读写。如果涉及到inode的修改,根据inodeId查询对应的copyset,去对应的copyset进行inode的更新。 bool :: ( , , :: < > ) CopysetManager GenCopyset
    0 码力 | 19 页 | 383.29 KB | 5 月前
    3
  • pdf文档 Curve质量监控与运维 - 网易数帆

    生成监控指标,其特点是:  thread local存储,减少了cache bouncing,性能开销极小;  支持在 brpc server 服务的端口上以web portal的方式导出和查询监控指标: 常用的bvar数据类型:  bvar::Adder : 计数器,默认0, varname << N相当于varname += N  bvar::LatencyRecorder 实现自动恢复,保障存储服务高可用性。  多对多,恢复时间短  精确的流量控制,对io影响很小 Kill一个节点所有ChunkServer进程 31/33快照克隆工具snaptool Curve_ops_tool  查询Curve状态  管理Curve文件  管理copyset 运维工具 Ansible  一键部署: ansible-playbook -i server.ini deploy_curve
    0 码力 | 33 页 | 2.64 MB | 5 月前
    3
共 15 条
  • 1
  • 2
前往
页
相关搜索词
Curve核心组件mds网易数帆CurveFS方案设计方案设计Raft存储工程实践chunkserver文件系统文件系统数据管理数据管理curvefsclient删除目录功能功能设计Client概要要点CopysetFS对应关系质量监控运维
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩