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

无数据

分类

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

语言

全部中文(简体)(14)zh(2)JavaScript(1)

格式

全部PDF文档 PDF(17)
 
本次搜索耗时 0.015 秒,为您找到相关结果约 17 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Curve元数据节点高可用

    Campaign的流程 3.2.1 代码流程说明 3.2.2 举例说明Campagin流程 3.3 Observe的流程 4. MDS使用election模块的功能进行选主 4.1 Curve中MDS的选举过程 4.2 图示说明选举流程 4.2.1 正常流程 4.2.2 异常情况1:MDS1退出,可以正常处理 4.2.3 异常情况2:Etcd集群的leader发生重新选举,MDS1未受影响,可以正常处理 举例说明Campagin流程 场景描述:三个mds(mds1, mds2, mds3),希望实现一个mds作为主提供服务,另外两个mds作为备在主挂掉的时候提供服务的功能。如果利用上述的Campagin进行选举,过程如下: 正常情况: step1: 三个mds向etcdserver写入带有相同前缀的key,etcd会给每个key一个版本号(revision: 是全局递增的)© XXX Page 12 of [Leader/MDS1, revision:2]}, 因此watch Leader/MDS1© XXX Page 14 of 30 异常情况2:EtcdLeader重新进行leader选举,且在该过程中,三个MDS和EtcdServer之间的租约全部失效 step1 MDS2收到Leader/MDS1被删除的通知,MDS3收到Leader/MDS2被删除的通知,Campagin都返回成功 :
    0 码力 | 30 页 | 2.42 MB | 6 月前
    3
  • pdf文档 curvefs client删除文件和目录功能设计

    inode的问题,这一情况,chubaofs是通过运维手段去修复,见遗留问题。moosefs由于单mds,不存在这个问题。 方案设计思考 首先我们可以确定以下几个设计点: 删除的大致过程如下,首先移除dentry,然后移除inode,可以容忍只存在inode,也就是孤儿inode情况,这部分内容见下面遗留问题。 必须要实现(至少)一个trash机制,以作为回收站,不论是后续做UNDEL,还 际的目录结构,完全遵循文件系统,可能可以复用client的当前设计,甚至可以参考moosefs实现一个meta文件系统来管理,更为优雅。 但是缺点是DEL和UNDEL需 ,这部分处理会引入 。(这个过程其实类似于rename) 要在trash下创建和删除dentry 额外的复杂性 由于moose是单文件系统,对于我们实现多文件系统,这里还有两种方案: ,二是每个fs一个trash,并且tras metaserver端的open过程,会记录一条session到内存中,表示当前inode已经被client打开 client端后续的open只在本地将open num++ client端在close过程中,首先会去open num–, 当发现open num==0时,也就是所有的open都已经close了,此时调用close on metaserver close on metaserver的过程,将移除内存中的session。©
    0 码力 | 15 页 | 325.42 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    $value_length 保存编码后的 value© XXX Page 5 of 12 其他说明 持久化文件中涉及到的数字均以小端序存储 利用 fork 子进程 (COW) 的方式解决在持久化的过程中,读写冲突的问题以及性能问题 实现 1、inode、entry 的编码 给 inode、dentry 增加编码函数 // 这里要尽可能减少 key/value 编码后的字节数,这样同样的内存可以存入较多的 感觉不是很划算 redis 中哈希表实现的优点? 主要是当哈希表需要扩桶的时候,rehash 过程中 redis 采用了均摊/渐进式的思想,把 rehash 中的性能损耗均摊在每一次 SET/DEL 操作中(如 rehash 总耗时 1 秒,均摊给 100 个请求,那么每个请求只增加延时 10 毫秒),rehash 过程如下: 哈希表渐进式 rehash 的详细步骤: (1) 为 ht[1] 分配空间 至 ht[1], 这时程序将 rehashidx 属性的值设为 -1, 表示 rehash 操作已完成 哈希表渐进式 rehash 执行期间的哈希表操作: 因为在进行渐进式 rehash 的过程中, 字典会同时使用 ht[0] 和 ht[1] 两个哈希表, 所以在渐进式 rehash 进行期间, 字典的删除 (delete)、查找(find)、更新(update) 等操作会在两个哈希表上进行:
    0 码力 | 12 页 | 384.47 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    fsid+parentId+name , value : struct dentry; 分别从不同场景上进行分析,curve文件系统的元数据应该有以下的操作: 1、系统加载的时候,元数据从持久化介质加载。 2、业务运行过程中,元数据的增删改查。 3、系统退出的时候,元数据持久化。© XXX Page 7 of 24 场景一:系统加载的时候,元数据从持久化介质中加载。 元数据进行恢复的时候,有两种情况。 系统,元数据的缓存倾向于全缓存。 系统加载的时候从持久化介质中进行加载,需要把一条条持久化的记录加载到内存里。实现把string转化为inode结构体,再插入内存结构中。 场景二:业务运行过程中,元数据的增删改查。 如果采用raft的方式对元数据持久化进行保证,所有元数据的处理都是先写WAL,再修改内存结构。那么任何对元数据的增删改查,对应着一条记录,根据记录去修改内存数据。 按照之 300,查询"C"的inode信息。 inode 400,查询"D"的inode信息。 5.1.2 好处 这种方案的好处在于,inode和dentry大概率落到一个分片上管理。在查询inode的过程中,第一步通过parentid和name查询inodeid,第二步通过inodeid查询inode结构体在同一个分片上处理。查询时,client只 需要向metaserver发送一次请求,就可以完成上面两步的查询任务。
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 Curve质量监控与运维 - 网易数帆

     集成测试 Given When Then 设计方法 500+用例  异常测试 40+自动化用例  混沌测试 20轮自动化随机故障注入 12/33单元测试 单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 正确性检验的测试工作。 curve通过lcov统计代码覆盖率,衡量单元测试的完备程度,如下图所示: 13/33集成测试 测试目的 测试内容 没有出现预期外的下降或提升;  稳定性测试,在正常压力下运行足够长的时间;  异常测试,在正常流程中注入一种软硬件异常;  混沌测试,大压力多级故障(随机组合软硬件异常)。 在系统测试过程中,我们尽可能将所有用例自动化,其优点是:  大幅降低了测试回归成本,加快了测试进度;  可以对代码进行足够频繁的测试,有利于提高代码质量;  容易发现隐藏的问题,手工测试无法做到频繁触发 Server架构,以支持热升级。 升级Curve Client只需重启NEBD Server,业务IO中断时间一般在5 秒之内(右图为1.0版本实测结果)。  MDS易升级 自动化滚动升级——先升备再升主,确保升级过程中只发生一次主 备切换。  ChunkServer易升级 自动化滚动升级——升级一个zone的所有ChunkServer后,等待集 群恢复健康后,自动升级下一个zone的ChunkServer;以避免升级
    0 码力 | 33 页 | 2.64 MB | 6 月前
    3
  • pdf文档 Curve核心组件之Client - 网易数帆

    用户调用接口,发起IO请求 2. AioWrite将请求封装成io task并放入任务队列 3. 放入任务队列后,异步请求发起成功,返回用户 IO拆分线程 4. 从任务队列取出任务后进行拆分 5. 拆分过程依赖元数据,可能会通过MDSClient向 MDS获取 6. 拆分成的子请求放入队列CLIENT IO线程模型 IO分发线程 7. 从队列中取出子请求准备发送 8. 发送依赖复制组leader,可能会向 Client(part1):只包含轻量的业务逻辑, 以链接库的形式提供给QEMU使用  NEBD Server(part2):将NEBD Client的请求转 发到Curve Client 升级过程只需要重启NEBD Server即可,IO可在 1~5s内恢复NEBD 整体介绍CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍 新版本Client/NEBD性能优化NEBD性能优化
    0 码力 | 27 页 | 1.57 MB | 6 月前
    3
  • pdf文档 Curve支持S3 数据缓存方案

    如果DataCache的Flush失败,则整个Flush失败。但是缓存需要重新回退到chunkCacheMap_中,这里要注意一点:回退的过程,如果chunkCacheMap_为空,则直接swap回退。如果chunkCacheMap_不为空,则表示F lush的过程中有新的cache加入,则需要进行合并,合并的规则是新的cache如果和老的cache有重叠则覆盖老的cache。 FsSync流程
    0 码力 | 9 页 | 179.72 KB | 6 月前
    3
  • pdf文档 TGT服务器的优化

    • 如何评价LILO • 输出内核块设备I/O效率高 • 不利于把复杂的存储协议代码搬进内核,例如(curve, brpc, c++, protobuf 等) • TCMU多了一层转接,配置过程复杂,业界踩的坑不够多。 • TCMU的用户态代码会受到框架约束,不够灵活。iSCSI target 服务器 • TGT(STGT) • 比较久的历史,原来叫STGT,后来改成TGT • 纯用户态,不与内核绑定
    0 码力 | 15 页 | 637.11 KB | 6 月前
    3
  • pdf文档 PFS SPDK: Storage Performance Development Kit

    C存放数据的类 ●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
  • pdf文档 CurveFS对接S3方案设计

    © XXX Page 1 of 11 curvefs对接s3方案设计(过程文档)© XXX Page 2 of 11 时间 修订人 修订内容 2021-05-20 胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto
    0 码力 | 11 页 | 145.77 KB | 6 月前
    3
共 17 条
  • 1
  • 2
前往
页
相关搜索词
Curve数据节点可用curvefsclient删除文件目录功能设计功能设计系统文件系统持久方案方案设计管理数据管理质量监控运维网易数帆核心组件Client支持S3缓存TGT服务务器服务器优化PFSSPDKStoragePerformanceDevelopmentKitCurveFS对接
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩