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

无数据

分类

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

语言

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

格式

全部PDF文档 PDF(25)
 
本次搜索耗时 0.015 秒,为您找到相关结果约 25 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 西班牙语
  • zh-cn
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 curvefs client删除文件和目录功能设计

    © XXX Page 1 of 15 curvefs client 删除文件和目录功能设计© XXX Page 2 of 15 背景 相关调研 moosefs chubaofs 方案设计思考 1.Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash放在哪里? 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? ent崩溃) 相关调研 moosefs moosefs 未对接forget moosefs 实现了在mds上open,因此删除时可以判断文件是否被打开 moosefs使用了两种机制,来实现上述功能,分别是trash机制和reserve机制(最新版本叫sustained),两种机制如下: trash机制: 对于所有TYPE_FILE类型的文件在删除时, ,则不会立即将该文件彻底删除,而是将 理,可能会存在孤儿inode的问题,这一情况,chubaofs是通过运维手段去修复,见遗留问题。moosefs由于单mds,不存在这个问题。 方案设计思考 首先我们可以确定以下几个设计点: 删除的大致过程如下,首先移除dentry,然后移除inode,可以容忍只存在inode,也就是孤儿inode情况,这部分内容见下面遗留问题。 必须要实现(至少)一个trash机制,以作为回收站,不论是后续做UNDEL,还
    0 码力 | 15 页 | 325.42 KB | 6 月前
    3
  • pdf文档 CurveFs 用户权限系统调研

    conf /tmp/fsmount 问题1:root用户无法访问挂载目录 测试发现client mount进程是哪个用户启动的就只有该用户(filesystem owner)可以访问该目录,即使挂载点mode是777。 # filesystem owner wanghai01@pubbeta1-nostest2:/tmp$ ls -l | grep fsmount drwxrwxrwx 0 root "allow_other,fd=9,rootmode=40000,"...) = 0 问题3:文件系统访问控制是在哪一层实现的? 测试curvefs,发现文件系统链路默认是没有做权限控制。(挂载点mode 777) # mountpoint wanghai01@pubbeta1-nostest2:/tmp$ ls -l | grep fsmount drwxrwxrwx 0 root >> file1 nbs@pubbeta1-nostest2:/tmp/fsmount$ cat file1 hello world 测试curvefs,发现文件系统链路默认是没有做权限控制。( 挂载点mode 755)© XXX Page 8 of 33 wanghai01@pubbeta1-nostest2:/tmp$ ls -l | grep fsmount drwxr-xr-x 0 root
    0 码力 | 33 页 | 732.13 KB | 6 月前
    3
  • pdf文档 CurveFS方案设计

    补充文件空间分配,讨论与确认 背景 调研 开源fs 性能对比 可行性分析 方案对比 对比结论 架构设计 卷和文件系统 元数据架构 文件系统快照 方案一:文件/目录级别快照 方案二:文件系统快照 关键点 元数据设计 数据结构 索引设计 文件空间管理 开发计划及安排 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文件系统,其中高性能主要是适配云原生数据库的场景。当前Curve是 计会涉及到多次rpc的交互。这里需要确认的一点是:我们需要怎样的元数据节点的性能? 可行性分析 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: CurveFS kv方案设计 curve实现块设备时,元数据不是扁平化的设计,而是采用来有目录层级的 namespace 方式,namespace 已经实现了 fs 元数据管理的雏形,具备了基本的元数据管理功能。(当时为什么要设计为 namespace namespace 的管理形式?留有租户这个概念),直接基于 namespace 开发: a. 功能 软/硬链接:目前是都不支持的。软链接可以通过标识文件类型解决;由于 prefix + parentid + filename 作为 key , filename 直接和 fileInfo 关联,硬链接无法支持 b. 性能 list:list在通用文件系统中是很常见的操作,目前 curve
    0 码力 | 14 页 | 619.32 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据管理

    Page 1 of 24 Curve文件系统元数据管理(已实现)© XXX Page 2 of 24 1. 2. 3. 4. Inode 1、设计一个分布式文件系统需要考虑的点: 2、其他文件系统的调研总结 3、各内存结构体 4、curve文件系统的元数据内存组织 4.1 inode定义: 4.2 dentry的定义: 4.3 内存组织 5 元数据分片 5.1 分片方 1、设计一个分布式文件系统需要考虑的点: 文件系统的元数据是否全缓存? 元数据持久化在单独的元数据服务器上?在磁盘上?在volume上? inode+dentry方式?当前curve块存储的kv方式? 是否有单独的元数据管理服务器? 2、其他文件系统的调研总结 fs 中心化元数据 内存namespace元数据 内存空间分配元数据 元数据持久化 元数据扩展 小文件优化 空间管理单位 数据持久化 binlog,随时间会越来越大 差 DG Master/Slave glusterfs 无中心化服务器 dht算法 hash 扩展时大量迁移 client缓存 inode→ hashtable(gfid) dentry→ hashtable(name) inode扩展属性字段 和写数据一样 好 写多份 overwirte有数据不一致风险 curve 有元数据服务器 lru cache缓存
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    一台机器上能存放多少个inode和dentry 8.2 一台机器上建议的copyset数量 8.3 每个copyset建议管理存储容量的大小 1、背景 curvefs使用raft作为元数据一致性的保证。为了提高元数据的可扩展性和并发处理能力,采用元数据分片的方式管理inode和dentry的元数据。inode的分片依据是fsid + inodeid,dentry的分片依据是fsid + parentinodeid。借鉴 chubaofs的文件系统使用volume的来表示,在创建一个文件系统的时候,会创建3个meta partition和10个data partition。chubaofs的data partition的功能我们使用curve块设备替换。meta partition的创建,以及meta partition的管理的,下面会详细分析一下。 2.1、meta partition的创建 再创建文件系统的时候 11 of 19 6.2、挂载fs 挂载fs的流程不变,client向mds发送mount rpc请求,mds对fs进行相应的检查,然后记录挂载点返回成功。 1、检查文件系统是否存在 2、检查fs的状态,是否是INITED状态 3、检查挂载点是否已经存在 6.3、创建文件/目录 client在创建inode的时候,如何选择copyset。client在fs的所有可用的copyset中
    0 码力 | 19 页 | 383.29 KB | 6 月前
    3
  • pdf文档 CurveFS Client 概要设计

    unlink rmdir opendir readdir getattr & setattr access rename symlink & readlink link flush & fsync 其他 功能分析 模块划分 接口设计 Cache设计 时间 作者 内容 2021-04-27 许超杰 初稿 背景 CurveFS初步设计见 , 目前需细化Client端设计 void (*mknod) (fuse_req_t req, fuse_ino_t parent, const char *name, mode_t mode, dev_t rdev); 这两个函数的功能是类似,都用来创建文件。 根据parent inode id 和name,向mds查询创建dentry和inode的位置,去meta server创建dentry和inode 预分配一些空间?可先不做 xattr系列接口,chubaofs都没实现,目前先不考虑 fuse高版本新增的接口如lseek等,在低版本中没有,因此不是必须接口,也先不实现。 功能分析 根据上述接口的分析,可以把client端的功能进行汇总,client需实现的功能主要有: 缓存文件系统元数据(包括super block, bitmap & allocator等) 缓存文件和目录信息(包括inode struct,dentry
    0 码力 | 11 页 | 487.92 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    redis 的方案是不行了. redis 的高可用、高可扩方案? 主要是 redis cluster + 主从复制 (或者第三方 codis + 哨兵) redis cluster/codis 主要解决扩展性的问题,它会进行分片,每个 redis 实例保存分片的 key 主从复制主要解决高可用,一个分片实例挂 2 个从实例,当主节点挂掉时,cluster/哨兵会自动将从节点升为主节点 redis redis,初步评估了下,其工作量要比自己实现持久化的逻辑要大一些,改造主要是为了让 redis 提供单独 dump/load 一个 DB 的功能: 如果改造,dump/load 的逻辑都得动,而且会牵扯到一些其他逻辑(如主从复制,因为 redis 主从全量复制发送的就是一整个 RDB 文件,即使我们不需要这个功能,这部分代码也是有耦合的)© XXX Page 11 of 12 1. 2. 3. 如果自己实现,只是一个简单的 哈希表在 rehashidx 索引上的所有键值对 rehash 到 ht[1], 当 rehash 工作完成之后, 程序将 rehashidx 属性的值增一 (4) 随着字典操作的不断执行, 最终在某个时间点上, ht[0] 的所有键值对都会被 rehash 至 ht[1], 这时程序将 rehashidx 属性的值设为 -1, 表示 rehash 操作已完成 哈希表渐进式 rehash 执行期间的哈希表操作:
    0 码力 | 12 页 | 384.47 KB | 6 月前
    3
  • pdf文档 Curve核心组件之Client - 网易数帆

    C u r v e 核 心 组 件 之 C l i e n t 吴汉卿CURVE CURVE是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟存储底座 • 可扩展存储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接 OpenStack 和 k8s • 网易内部线上无故障稳定运行400+天 • 已开源 • github主页: https://opencurve 交互 可以作为容器的数据存储 CSI插件也已经开源: https://github.com/opencurve/curve-csi CLIENT上层应用CLIENT虚拟块设备CLIENT主要功能  提供接口  数据面:AioWrite/AioRead、Write/Read  控制面:Create/Delete、Open/Close、Rename等  IO处理:转换、拆分、合并 Client接收到IO请求后,直接发送 异步RPC(在用户线程) 发送异步4K RPC的平均延迟在11.26us, 这种情况下单线程只有 89055 iops 发送RPC阻塞了用户线程,导致iops下降 优化点: 增加队列,用户请求放入队列,由后台线 程负责发送 86.4K -> 130KCLIENT性能优化  发送RPC耗时较长  增加发送线程个数  在bthread协程中使用std::m
    0 码力 | 27 页 | 1.57 MB | 6 月前
    3
  • pdf文档 Curve元数据节点高可用

    clientV3的concurrency模块构成 3.2 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集群的lead revision: 5 3.2.2 举例说明Campagin流程 场景描述:三个mds(mds1, mds2, mds3),希望实现一个mds作为主提供服务,另外两个mds作为备在主挂掉的时候提供服务的功能。如果利用上述的Campagin进行选举,过程如下: 正常情况: step1: 三个mds向etcdserver写入带有相同前缀的key,etcd会给每个key一个版本号(revision: 是全局递增的)© of 30 1. 2. observe的功能在上面说过,主要用于监听leader的变化。 获取[指定prefix的key, 创建版本号最小]kv值, 如果不存在,会一直等待到有指定prefix的key创建为止。 如果存在,监听该key值,如果key被删除,回到1的操作。 过程描述如下: 4. MDS使用election模块的功能进行选主© XXX Page 16 of 30 1
    0 码力 | 30 页 | 2.42 MB | 6 月前
    3
  • pdf文档 副本如何用CLup管理PolarDB

     实现PostgreSQL/PolarDB数据库的私有云 RDS产品  PostgreSQL/PolarDB集群统一管理、统一运 维。  PostgreSQL/PolarDB集群可以用功能(即故 障自动切换)  实现对PostgreSQL/PolarDB的监控管理  对PostgreSQL/PolarDB的TopSQL的管理  架构说明  有一台机器上部署的CLup管理节点,这个管 读写分离  多个读库之间负载均衡 负载均衡  读线性扩展  支持分库分表 高扩展性 写 VIP 读 VIP PG (Primary) PG (Standby1) PG (Standby2) PG (Standby3) 数据同步复制 写请求 读请求 应用层 负载均衡器 CLup高可用及读写分离功能http://www.csudata.com │中启乘数科技(杭州)有限公司 │中启乘数科技(杭州)有限公司 数据赋能│价值创新 Clup管理界面-性能监控http://www.csudata.com │中启乘数科技(杭州)有限公司 数据赋能│价值创新 CLUP TOP SQL功能http://www.csudata.com │中启乘数科技(杭州)有限公司 数据赋能│价值创新 Clup管理界面-在Web界面中管理数据库-9- @ PolarDB环境准备创建PolarDB的要求
    0 码力 | 34 页 | 3.59 MB | 6 月前
    3
共 25 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
curvefsclient删除文件目录功能设计功能设计CurveFs用户权限系统调研CurveFS方案方案设计Curve文件系统数据管理数据管理CopysetFS对应关系Client概要持久核心组件网易数帆节点可用副本如何CLupPolarDB
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩