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

无数据

分类

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

语言

全部中文(简体)(11)JavaScript(1)

格式

全部PDF文档 PDF(12)
 
本次搜索耗时 0.017 秒,为您找到相关结果约 12 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • JavaScript
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 CurveFS S3数据整理(合并碎片、清理冗余)

    © XXX Page 1 of 3 curvefs s3数据整理(合并碎片、清理冗余)© XXX Page 2 of 3 1. 2. 3. 1. 2. 3. 4. 5. 6. 1. 2. 背景 只考虑单客户端, 单metaserver 为了解决的问题: 客户端在对一个文件的某个部分多次写入后, 同一个chunk会产生很多版本数据; 而客户端在读的时候 会需要对这些chunk进行筛选和构建, 得到有效的部分, 越是散乱的状态, 就越需要发送更多次读请求至s3. 最后导致无效旧数据的堆积和读请求性能的下降, 所以需要在合适的时候进行重叠元数据和数据的合并 原则是尽力而为, 并不能做到完美 方案 基于一下3个基础的数据结构, 2层索引 s3chuninfolist[index] = [s3chunkinfo(s)] s3chunkinfo {
    0 码力 | 3 页 | 101.58 KB | 6 月前
    3
  • pdf文档 Curve文件系统空间分配方案

    配之后,extent的元数据量为24GiB(1PiB / 1MiB * 24,24为每个extent所占用的字节大小)。 如果同一文件在多次申请空间时,能分配连续的地址空间,则extent可以进行合并。例如,文件先后写入两次,每次写入1MiB数据,分别申请的地址空间为(100MiB,1MiB)和(101MiB,1MiB),则只需要一个ex tent进行记录即可,(0,100MiB,2MiB)。 。分配之后,相关信息如下图所示: 之前剩余的 30MiB ~ 2MiB 的extent完全分配出去,所以从level2中的list中删除。 文件inode中的extent可以将两次的申请结果进行合并,得到(0,28MiB,4MiB)。 特殊情况 新文件申请空间时,leve1中的所有bit都标记为1,即所有的块都已经预分配出去。在文件系统空间比较满的情况下,有可能会造成这个问题。此时,申请空 2. 。尽可能合并多个块分配给同一个文件。 空间回收 空间回收主要是一个extent合并的过程,有以下几种情况: 文件释放了一个完整的块,则直接将level1中对应的bit置为0。 文件释放了一小段空间,则尝试与level2中的extent进行合并。 如果合并之后是一个完整的块,则重新将level1中对应的bit置为0,同时删除该extent。 如果不能合并,则向level2中插入一个新的extent。
    0 码力 | 11 页 | 159.17 KB | 6 月前
    3
  • pdf文档 Curve支持S3 数据缓存方案

    通过日志初步分析有2点原因© XXX Page 3 of 9 1.append接口目前采用先从s3 get,在内存中合并完后再put的方式,对s3操作过多 2.对于4k 小io每次都要和s3交互,导致性能非常差。 因此需要通过Cache模块解决以上2个问题。 整体设计 整个dataCache的设计思路,在写场景下能将数据尽可能的合并后flush到s3上,在读场景上,能够预读1个block大小,减少顺序读对于底层s3的访问 (包括刚好是边界的情况)即可写。 4.2 同时计算后续的多个DataCache是否和chunkPos~len有交集,如果有则一并获取 5. 如果有可写的DataCache,则调用Write接口将数据合并到DataCache中; ,加入到ChunkCacheManager的Map中。 如果没有可写的DataCache则new一个 5.完成后返回成功。 Read流程 1.根据请求offset,计算出对应的chunk ap_中,这里要注意一点:回退的过程,如果chunkCacheMap_为空,则直接swap回退。如果chunkCacheMap_不为空,则表示F lush的过程中有新的cache加入,则需要进行合并,合并的规则是新的cache如果和老的cache有重叠则覆盖老的cache。 FsSync流程 1.循环获取FileCacheManager,执行Flush函数。© XXX Page 9 of 9
    0 码力 | 9 页 | 179.72 KB | 6 月前
    3
  • pdf文档 PFS SPDK: Storage Performance Development Kit

    1 基于SPDK的CurveBS PFS存储引擎10/17/22 2 Why ●为了减少使用cpu做内存copy,减少系统调用 ●发挥某些被操作系统屏蔽的功能,例如nvme write zero ●根据阿里《When Cloud Storage Meets RDMA》的说法 ●在100Gbps网络带宽时,内存带宽成为瓶颈 ●Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是 磁盘的读写 ●基于EXT4的存储引擎,依然需要通过系统调用来回切换 ●读写都需要CPU拷贝数据 ●不能发挥某些NVME的功能,例如write zero10/17/22 5 为什么用PFS ●对代码比较熟悉 ●找一个能管理裸盘,具有产品级可靠性的代码挺难的 ●PFS支持类POSIX文件的接口,与使用EXT4的存储引擎代码很像, 所以容易移植现有代码到PFS存储引擎 ●CurveBS对文件系
    0 码力 | 23 页 | 4.21 MB | 6 月前
    3
  • pdf文档 Raft在Curve存储中的工程实践

    等类 型的持久化存储卷 • 对接PolarFS作为云原生数据库的高性能存储 底座,完美支持云原生数据库的存算分离架 构 • Curve作为云存储中间件使用S3兼容的对象 存储作为数据存储引擎,为公有云用户提供 高性价比的共享文件存储 • 支持在物理机上挂载使用块设备或FUSE文件 系统开源社区 社区运营 生态共建 开源共建 源码兜底 技术领先 目标 方法 影响力 降本 获客 基于rocksdb的存储引擎 • 要求存储的元数据的大小不超过内存的大小 • raft apply的请求,数据都在内存,直接修改 内存中的数据 • raft snapshot,为避免快照对正常操作的影 响,利用操作系统的内存写时复制技术, fork一个进程创建完整的状态机的内存快照, 后台遍历内存,把内存的数据持久化到本地 磁盘 基于memory的存储引擎 • 存储元数据量不受内存大小限制 Curve文件系统也是使用copyset管理。 • 写日志的方式与Curve块存储基本一致,实现细节略有差异。 • raft apply和raft snapshot的实现和Curve块存储不同。 • metaserver有两套存储引擎,基于memory和基于rocksdb。 Curve文件系统与Curve块存储的实现区别CURVE的RAFT配置变更 心跳 • 通过心跳维持mds和chunkserver/metaserve的
    0 码力 | 29 页 | 2.20 MB | 6 月前
    3
  • pdf文档 CurveFS对接S3方案设计

    flag则在writechunk的时候会调用s3的append接口追加写到同一个block object。 3.更新inode中s3元数据的时候,现在只会将可以直接合并的S3Info进行了合并,后面需要考虑如果S3Info太大,需要进行rewrite将元数据进行重新合并 4.inode我们只更新s3Info,并不更新length,length由client在外面流程统一更新© XXX Page 11 of 11 read流程
    0 码力 | 11 页 | 145.77 KB | 6 月前
    3
  • pdf文档 Curve核心组件之snapshotclone

    KSERVER端快照实现-转储内部快照 a) 打快照后未写过,未触发cow, 无snap file产生,直接读取chunk file b) 打快照后写过,触发了cow, 有snap file, 合并读取 c) 卷从未写过, 两者都没有,返回NOTEXIST 转储内部快照,即读内部快照的三种情况:克隆总体流程 • 1. 用户发起克隆,生成克隆任务,并持 久化任务元数据到etcd,开始执行克隆 一个Page大小为4KB • 读请求到来时,根据bitmap中的信息, • 对于已写过的区域,从本地chunk file读 • 对于未写过的区域,从远端源chunk file读 • 之后,将两者合并返回。 • 同时把源chunk读到的数据异步写入到本地 chunk,并标记bitmap,这个过程称之为 PasteChunk 读时复制原理:CHUNKSERVER端克隆实现-读时复制实现 •
    0 码力 | 23 页 | 1.32 MB | 6 月前
    3
  • pdf文档 Curve 分布式存储设计

    主要挑战和支持场景Curve Roadmap 1. 架构 1. 文件存储支持分布式缓存、完善冷热数据分层存储能力 2. 完善混合云、公有云上部署架构 3. 完善高性能3副本存储引擎,支持混合盘 4. 文件存储支持数据存储到HDFS、rados等引擎 2. 性能 1. 完善RDMA/SPDK方案,发布稳定版本 2. 更高性能硬件选型、适配及性能调优 3. 大文件读写性能优化,RAFT优化,降低写放大 3
    0 码力 | 20 页 | 4.13 MB | 6 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    ,只需要把chunkserver改成metaserver。 curvefs的topo信息的层级最终是这样: →pool :存储池(curve的physical pool和logic pool这里合并,只保留一个pool) →zone:可用域 →server:代表着一台服务器 →metaserver:代表着一块盘© XXX Page 9 of 19 vector Copyset * out 6.6、topology topology参考curve的topology的实现,由于curve的physical pool和logic pool在curvefs中合并成了一个,所以,并不能直接复用curve的topology的代码。 curve在创建logic pool的时候去创建copyset。现在集群的topo信息在mds创建好了之后,topo中并没有co
    0 码力 | 19 页 | 383.29 KB | 6 月前
    3
  • pdf文档 Curve核心组件之Client - 网易数帆

    能  提供接口  数据面:AioWrite/AioRead、Write/Read  控制面:Create/Delete、Open/Close、Rename等  IO处理:转换、拆分、合并  元数据获取及缓存  逻辑chunk与物理chunk映射关系  物理chunk所属的复制组(copyset)  复制组所在的chunkserver列表  复制组的leader信息
    0 码力 | 27 页 | 1.57 MB | 6 月前
    3
共 12 条
  • 1
  • 2
前往
页
相关搜索词
CurveFSS3数据整理合并碎片清理冗余Curve文件系统文件系统空间分配方案支持缓存PFSSPDKStoragePerformanceDevelopmentKitRaft存储工程实践对接设计方案设计核心组件snapshotclone分布布式分布式CopysetFS对应关系Client网易数帆
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩