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

无数据

分类

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

语言

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

格式

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

    单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 正确性检验的测试工作。 curve通过lcov统计代码覆盖率,衡量单元测试的完备程度,如下图所示: 13/33集成测试 测试目的 测试内容 单元测试后,有必要进行集成测试,发现 并排除在模块连接中可能发生的上述问题, 最终构成要求的软件子系统或系统。集成 测试需要关注的主要是各模块连接起来后 的问题: 的测试。  异常测试 制造或模拟系统异常(磁盘错误、网络错误、资源 冲突等)、依赖服务异常、应用本身异常等非正常 情况,测试软件的性能和稳定性是否符合预期。  规模测试 测试模块在一定规模下是否能够正常工作,是否 会出现异常或者崩溃, 14/33系统测试 系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符 合系统说明书的地方。它是一个黑盒测试,可以发现系统分析和设计中的错误。 Curve的系统测试一般是由QA来完成,包含:  常规测试,主要是新增功能的手工测试;  性能测试,将性能数据与基准对照,确定性能没有出现预期外的下降或提升;  稳定性测试,在正常压力下运行足够长的时间;  异常测试,在正常流程中注入一种软硬件异常;  混沌测试,大压力多级故障(随机组合软硬件异常)。 在系统测试过程中,我们尽可能将所有用例自动化,其优点是:  大幅降低了测试回归成本,加快了测试进度;
    0 码力 | 33 页 | 2.64 MB | 6 月前
    3
  • pdf文档 Curve核心组件之mds – 网易数帆

    文件查找:查找一个具体的文件 • 目录重命名:对一个目录/文件进行重命名 当前元数据信息编码之后存储在 etcd 中。COPYSET Curve系统中数据分片的最小单位称之为Chunk。在大规模的存储容量下,会产生大量的Chunk,如此众多的 Chunk,会对元数据的存储、管理产生一定压力。因此引入CopySet的概念,CopySet类似于ceph的pg。CopySet 可以理解为一组复制组,这组复 间的通信将会非常复杂,例如复制组内Primary给Secondary定期发送心跳进行探活,在256K个复制组的情况 下,心跳的流量将会非常大;而引入CopySet的概念之后,可以以CopySet的粒度进行探活、配置变更,降低 开销。 3. 提高数据可靠性:在数据复制组过度打散的情况下,在发生多个节点同时故障的情况下,数据的可靠性会受 到影响。引入CopySet,可提高分布式存储系统中的数据持久性,降低数据丢失的概率。COPYSET CopySetScheduler 是copyset均衡调度器,根 据集群中copyset的分布情况生成copyset迁移任 务; • LeaderScheduler 是leader均衡调度器,根据集 群中leader的分布情况生成leader变更任务; • ReplicaScheduler 是副本数量调度器,根据当 前copyset的副本数生成副本增删任务; • RecoverScheduler
    0 码力 | 23 页 | 1.74 MB | 6 月前
    3
  • pdf文档 Curve设计要点

    近期规划背景 • 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) • 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务背景 01 02 03 04 总体设计 系统特性 近期规划基本架构 • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度基本架构 • 一键部署,一键升级高质量 • 良好的模块化和抽象设计 • 完善的测试体系 • 单元测试 行覆盖80%+,分支覆盖70%+ • 集成测试 Given When Then 方法 完备的测试用例集 • 自动化异常测试 41个异常用例 • 自动化大压力随机故障注入 20轮随机故障注入背景 01 02 03 04 总体设计 系统特性 近期规划• 性能优化 • 满足数据库性能要求
    0 码力 | 35 页 | 2.03 MB | 6 月前
    3
  • pdf文档 副本如何用CLup管理PolarDB

    机器有反亲和性创建PolarDB需要的阿里云环境 创建虚拟机的时 候选中的盘都不 是共享盘,必须 在创建完虚拟机 后,在单独添加 共享盘 注意创建PolarDB需要的阿里云环境创建PolarDB需要的阿里云环境 部署集把虚拟机打散到不通的物理机上创建PolarDB需要的阿里云环境 VIP的使用创建PolarDB需要的阿里云环境 把VIP绑定到多台数据库主机创建PolarDB需要的阿里云环境 创建虚拟机的时候选中的盘都不是共享盘,必须在创建完
    0 码力 | 34 页 | 3.59 MB | 6 月前
    3
  • pdf文档 Curve元数据节点高可用

    1 Curve中MDS的选举过程 如果对代码部分不感兴趣,请跳到 4.2 图示说明选举流程 MDS使用election模块选有以下三个步骤: 调用Campagin进行选举 如果选举成功,获取一下当前的leaderKey,看是否存在。如果不存在,则继续竞选;如果存在进行下一步 调用Observe观察leader的变化,如果leader有变化,mds退出;重新进行选举 // leaderKey 这种情况是常态,大概率情况ElectionTime略大于ElectionTimeout, LeaseTime >= 1.5*ElectionTimeout > ElectionTime 这种情况下etcd集群恢复正常之后,MDS与etcd集群的lease维持正常;定期get Leader/MDS1正常;Observe正常 4.2.4 异常情况3:Etcd的leader发生重新选举,MDS1受到影响退出,不一定可以正常处理。 < ElectionTime 4.2.4.1 LeaseTIme < ElectionTime的情况 这种情况发生概率较小,etcd集群选出新leader耗时较长 当etcd集群恢复正常的情况下,MDS1的lease已过期,etcd server把MDS1注册过来的Key删掉© XXX Page 22 of 30 2. 1. 此时会有两件事情发生, 顺序不定: 一是MDS1定期去get
    0 码力 | 30 页 | 2.42 MB | 6 月前
    3
  • pdf文档 Curve核心组件之Client - 网易数帆

    请求会被拆分成两个子请求:  ChunkIdx 1, off: 8M len 8M  ChunkIdx 2, off: 0 len 8MCLIENT IO流程 子请求由哪个chunkserver处理,依赖以 下信息:  逻辑chunk与物理chunk映射关系  物理chunk所属的复制组(copyset)  复制组所在的chunkserver列表  复制组的leader信息CLIENT IO流程 定的Chunkserver上,RPC有可能会失败,一般情况下 处理逻辑是sleep一个较短时间后重试,但是存在两种特殊的场景: Chunkserver Overload: 这种情况下,对应的RPC Response中返回的错误码是OVERLOAD,说明底层Chunkserver正在处理的 请求数量过多。按照一般重试逻辑,大概率情况下重试请求还是返回OVERLOAD,造成用户IO请求一直 无法返回。 碰撞到一起。 RPC超时: 请求在chunkserver端处理请求处理时间长,导致请求的返回时间超过了预期的RPC超时时间。 这种情况下,如果重试请求的RPC超时时间不发生变化,也有可能会重复上述流程,导致用户IO请求迟迟 未能返回。所以,在这种情况下,重试请求会将RPC超时时间进行增加。CURVE基本架构 01 02 03 04 Client总体介绍 热升级NEBD总体介绍
    0 码力 | 27 页 | 1.57 MB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    }; 4.3 内存组织 inode和dentry的关系需要在内存中通过某种方式组织起来。 还需要额外考虑一下的hard link, symlink,rename的处理。 fastcfs的inode和dentry没有分开,两者在同一个结构体里面。这种方式如何应对硬链接? 看了下fastcfs的实现,在硬链接这里是有问题的。 考虑inode和dentry的内存组织形式,可以考虑has 元数据进行恢复的时候,有两种情况。 一种系统必须等到元数据全部加载到内存才能提供服务,这种情况下,元数据需要在内存全缓存。这种方式,对性能友好,但是需要消耗比较多的内存,元数据服务的扩展性受限于内存,而且在元数据服务启动的 时候,需要等待一段时间加载内存。 一种是元数据需要全部加载到内存,这种情况下,元数据只需要加载一小部分主要的元数据,比如说super block这种,剩下的比如inode, 间按照20块1.6TB的盘来计算,一个服务器上可以有32TB的空间,硬盘的空间比内存到100多倍。但是这种方式,由于数据不能去全部缓存到内存,在查询元数据的时候,需要去盘上读数据,而且在文件系统这种使 用场景下,一次对文件的查找,需要在磁盘上读取多次。 我们的文件系统定位是一个高性能的通用文件系统,元数据的缓存倾向于全缓存。 系统加载的时候从持久化介质中进行加载,需要把一条条持久化的记录加载到内存里。实
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 Curve核心组件之chunkserver

    CS2成为了复制组的一员,CS1不再属于这个复制组。 ⑦ CS3在下一次心跳中向MDS报告本次raft成员变更已完成 ⑧ MDS在得知CS1上的所有copyset都成功迁移后,把CS1设置为 retired,CS1下线完毕。ChunkServer核心模块-CopysetNode 换盘(CS1对应的盘)后重新上线的流程 初始状态,copyset1,copyset2,copyset3的三个副本分别在 CS2,CS3 ); 2、因为在请求4KB的情况下,写入的大小带上头部后是4120,是不对齐的,所以又测试了一下把写入大小改成4096的情况:新版本ChunkServer性能优化 因此ChunkServer性能优化主要是braft日志落盘优化,包括三个方面: 1. 追加写改为覆盖写(避免每次写的时候改变元数据,减少IO放大) 2. 写入时4KB对齐(4KB不对齐的情况下,每次写入都会有读请求,从而影响效率)
    0 码力 | 29 页 | 1.61 MB | 6 月前
    3
  • pdf文档 Raft在Curve存储中的工程实践

    Curve块存储和文件存储的配置变更实现基本一致CURVE的RAFT配置变更 异常场景下配置变更 • ReplicaSchedule • RecoverSchedule 均衡场景下配置变更 • CopySetSchedule • LeaderSchedule • RapidLeaderSchedulerCURVE的RAFT配置变更 异常场景下配置变更 • ReplicaSchedule (a, b) -> c, d) 保持raft的副本个数为指定值 • RecoverSchedule (a, b, c) -> (a, c, d) 替换不能提供服务的serverCURVE的RAFT配置变更 均衡场景下配置变更 • CopySetSchedule (a, b, c) -> (a, b, d) 每个chunkserver上的copyset个数尽量均衡 • LeaderSchedule (a(leader)
    0 码力 | 29 页 | 2.20 MB | 6 月前
    3
  • pdf文档 CurveFS Client 概要设计

    一是,向metaserver发起inode和dentry迁移,从parent迁移到new parent,并修改name为newname。 二是,在new parent创建新的inode和dentry,然后删除旧的parent下的inode和dentry 两者都涉及到rename的事务性的问题?( ) 这里可能还需要详细分析到底是否需要完整的事务的4个特性acid,还是只需要实现其中部分 目前阶段rename可先不实现,但是可以先考虑一些方案。 struct) 缓存metaserver copyset 和 topo信息(目前先支持单metaserver的情况下,只需要一个metaserver的ip就可以) 与mds 交互,调用mds接口获取metaserver copyset 和 topo信息,这部分可先不实现(目前先支持单metaserver的情况下,可先不实现,由配置文件加载metaserver的ip) 与metaserver交互, 调用meta 相关接口设计,见curve文件系统元数据proto(代码接口定义,已实现) Cache设计 Client的重要部分,就是上述这些cache的组织,基于以下几点考虑cache的组织方式: 1.由于cache不命中情况下,损失了cache查找这部分时间,因此,应当选用cache查找尽可能快的结构,这里考虑采用hash_map。 2. 由于fuse一次mount是一个独立的进程,因此,不需要考虑在同一个进程中支持多文件系统,每个文件系统对应独立进程。
    0 码力 | 11 页 | 487.92 KB | 6 月前
    3
共 24 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
Curve质量监控运维网易数帆核心组件mds设计要点副本如何CLup管理PolarDB数据节点可用Client文件系统文件系统数据管理chunkserverRaft存储工程实践CurveFS概要
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩