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

无数据

分类

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

语言

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

格式

全部PDF文档 PDF(28)
 
本次搜索耗时 0.012 秒,为您找到相关结果约 28 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 西班牙语
  • zh-cn
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Curve文件系统元数据Proto(接口定义)

    curve文件系统元数据proto(代码接口定义,已实现)© XXX Page 2 of 15 1、代码结构和代码目录 curve文件系统是相对于curve块设备比较独立的一块,在当前curve项目的目录下,增加一个一级目录curvefs,curvefs下有自己独立的proto\src\test。 2、文件系统proto定义 2.1 mds.proto mds.proto /* * Copyright for the specific language governing permissions and * limitations under the License. */ syntax="proto2"; package curvefs.mds; option cc_generic_services = true; enum FSStatusCode { OK = 0; rpc DeleteFsInfo(DeleteFsInfoRequest) returns (DeleteFsInfoResponse); } 2.2 metaserver.proto metaserver.proto /* * Copyright (c) 2020 NetEase Inc. * * Licensed under the Apache License, Version
    0 码力 | 15 页 | 80.33 KB | 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 specifiedZone ) (hosts chooseTargetMetaHosts string uint64 string int bool string [] , peers []proto.Peer, err ) string error metanode是否能够创建copyset,由这个函数判断。有这些判断条件: 1、metaNode的存活状态 2、metaNode的内存使用情况 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的对应关系?
    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, Inode ::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 管理元数据信息 100 zonenum: 3 scatterwidth: 0NAMESERVER NameServer管理namespace元数据信息,包括(更具体的信息可以查看curve/proto/nameserver2.proto): • FileInfo: 文件的信息。 • PageFileSegment: segment是给文件分配空间的最小单位 。 • PageFileChunkInfo: chunk是数据分片的最小单元。 Mds在分配空间时,轮流在不同的copyset中分配,每次从copyset中分配1个chunk, 这个chunk用copysetId:chunkId来唯一标识。COPYSET Copyset的生成策略:Source code : curve/src/mds/copyset/ bool GenCopyset(const ClusterInfo& cluster, int numCopysets
    0 码力 | 23 页 | 1.74 MB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    protobuf 直接序列化 顺序编码: 利用 protobuf(SerializeToString)进行序列化© XXX Page 6 of 12 // curvefs/proto/metaserver.proto message DentryKey { // required uint32 fsId = 1; required uint64 parentInodeId 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 meta 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质量监控与运维 - 网易数帆

    当前实现了高性能块存储,对接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文档 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文档 CurveFS对接S3方案设计

    2021-05-20 胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto 关键流程 init流程 write流程 read流程 整体架构 S3ClientAdaptor模块:负责将文件数据进行chunk,以及bl 行++,比如覆盖写了0~4M,则数据会写到chunkid_0_1的对象,则元数据包含了2个S3Chunkinfo{2,0,0,8M}和{2,1,0,4M}。 接口和关键数据结构 common.proto enum FSType { TYPE_VOLUME = 1; TYPE_S3 = 2; } message S3Info { required string ak = uint64 blockSize = 5; required uint64 chunkSize = 6; } mds.proto© XXX Page 4 of 11 import "curvefs/proto/common.proto"; message CreateFsRequest { required string fsName = 1; required
    0 码力 | 11 页 | 145.77 KB | 6 月前
    3
共 28 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
Curve文件系统文件系统数据Proto接口定义接口定义CurveFSCopysetFS对应关系管理数据管理核心组件mds网易数帆持久方案设计方案设计Client概要质量监控运维chunkserversnapshotclone对接S3
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩