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 异常情 1. 2. Campagin用于leader竞选 Observe用于监测集群中leader的变化 3.2 Campaign的流程 3.2.1 代码流程说明 如对相关代码实现不感兴趣,请直接跳到 3.2.2 举例说明Campagin流程 按照官方对Campagin的定义: blocked until it becomes the leader func (e *Election) Page 7 of 30 return nil } 代码流程说明如下:© XXX Page 8 of 30© XXX Page 9 of 30© XXX Page 10 of 30 etcd中的revision是全局的,只要有key-value的修改(put, delete txn),revision都会增加。举例说明:© XXX Page 11 of 30 $ ETCDCTL_API=30 码力 | 30 页 | 2.42 MB | 6 月前3
Curve文件系统元数据持久化方案设计© XXX Page 1 of 12 元数据持久化© XXX Page 2 of 12 前言 Raft Log Raft Snapshot 持久化文件 key_value_pairs 其他说明 实现 1、inode、entry 的编码 2、KVStore Q&A 单靠 redis 的 AOF 机制能否保证数据不丢失? redis 的高可用、高可扩方案? redis + muliraft [value_length] | [value] | checksum | +------+------------+-----+----------------+---------+----------+ 字段 字节数 说明 type 1 操作类型,共有以下 2 类: SET (0X01):ADD 和 UPDATE 都可以转换成 SET 操作 DEL (0X02):当为 DEL 操作时,value_length 和 ----------------+---------+-----+--------------+-------+----------------+---------+ 持久化文件 字段 字节数 说明 CURVEFS 7 magic number(常量字符 "CURVEFS"),用于标识该文件为 curvefs 元数据持久化文件 version 4 文件版本号(当文件格式变化时,可以 100%0 码力 | 12 页 | 384.47 KB | 6 月前3
Curve核心组件之snapshotcloneTask user 快照元数据 2.创建内部快照 5.删除内部快照 快照数据 1.发起快照 SnapshotCloneServer 6.删除内部快照数据快照的元数据和数据组织 字段 类型 说明 uuid string 快照唯一Id user string 所属用户 fileName string 快照目标卷名 snapshotName string 快照名 seqNum uint64_t SnapFile的命名方式为“chunk_” + ChunkId + “_snap_”+ seqNum的形式,以区别于 ChunkFile。CHUNKSERVER端快照实现-SNAPFILE 字段 类型 说明 version uint8_t 文件格式协议 版本号 demaged bool 损坏标记 sn uint64_t 快照版本号 bits uint32_t 位图的位数 bitmap char[] chunk: 安装元数据时即分配好chunk。 无额外接口: 无需Flatten接口。 适用场景: 适用于从云主机或快照创建镜像CHUNKSERVER端克隆实现-CHUNKFILE 字段 类型 说明 version uint8_t 文件格式协议版本号 sn uint64_t chunk文件的版本号 correntSn uint64_t chunk的修正版本号 locationSi ze0 码力 | 23 页 | 1.32 MB | 6 月前3
BRPC与UCX集成指南dispatcher是边沿触发 ●写端句柄永远不会触发可读事件 ●写端句柄第一次epoll会返回可写,可写是brpc判断连接成功的措施 ●UcpCm从来不会写入pipe,如果pipe有可读字节,会打印错误,说明有地方遗漏了修 改。 ●Socket通过关闭UcpCm返回的句柄来关闭连接。此举和Socket原来代码一样,减少了修 改。UcpCm检测到pipe读端可读,关闭UcpConnection。 ●以上修改实际上绕过了BRPC的Event 服务器端一般不主动关闭连接,客户端主动关闭,自己负 责是否有未接收完的应答。56 修改BRPC的EndPoint ●原始的EndPoint类,不能识别网络连接的类型,默认只有TCP –现在有了UCX, 需要添加一个字段说明是UCX连接,防止在函数传递参数 时丢失连接类型信息。 –UCX的地址依然是tcp地址。5758 修改 Socket Connect59 修改Socket Connect60 修改Socket::DoRead0 码力 | 66 页 | 16.29 MB | 6 月前3
Open Flags 调研O_DSYNC, FASYNC, O_NONBLOCK(O_NDELAY ),这类flags应该是内核进行了支持,在用户态文件系统中进行相应设置,例如O_DIRECT有具体的文档描述说明了这一点,其他flag暂时查阅资料和 代码还未发现正面说明。 O_DIRECT© XXX Page 17 of 23 一般来说,当调用 open() 系统调用打开文件时,如果不指定 O_DIRECT 标志,那么就是使用缓存I0 码力 | 23 页 | 524.47 KB | 6 月前3
CurveFs 用户权限系统调研root get Permission denied when accessing FUSE directory? man fuse 问题2:本地文件系统挂载默认是共享的? 目前没有查到相关确切的资料说明,但是从现象上看本地文件系统默认是多用户共享的,但是fuse作为用户态文件系统默认访问权限是文件系统的拥有者,可以通过allow_other实现共享。© XXX Page 7 of 33 strace 是物理文件系统的一个属性,需要永久保存。如何将 ACL 保存在外存中,包括 ACL 在外存中具体存放的位置,以及如何从外存中读取和写入原始 ACL 内容。涉及到 VFS 和具体的物理文件系统,这里以Ext4文件系统为例说明。© XXX Page 28 of 33 在 Linux 操作系统中,如果libattr 功能在内核设置中被打开, ext2 、 ext3 、 ext4 、 JFS 、 ReiserFS 以及 XFS0 码力 | 33 页 | 732.13 KB | 6 月前3
Curve 分布式存储设计3. 项目 https://github.com/opencurve/curve 4. 版本发布周期:每半年一个大版本,1~2个月一个小版本 5. 了解Curve进展:每隔2周的Curve周会说明Curve进展以及讨论 相关问题 6. 提交bug与建议:https://github.com/openCURVE/CURVE/issues 7. 参与Curve交流与讨论:微信群,右手边二维码Follow0 码力 | 20 页 | 4.13 MB | 6 月前3
NJSD eBPF 技术文档 - 0924版本• 项⽬https://github.com/opencurve/curve • 版本发布周期:每半年⼀个⼤版本,1~2个⽉⼀个⼩版本 • 了解Curve进展:每隔2周的Curve周会说明Curve进展以及讨论相关问题 • 提交bug与建议:http://github.com/opencurve/curve/issues • 参与Curve交流与讨论:微信群,右⼿边⼆维码You0 码力 | 20 页 | 7.40 MB | 6 月前3
副本如何用CLup管理PolarDBPostgreSQL/PolarDB集群可以用功能(即故 障自动切换) 实现对PostgreSQL/PolarDB的监控管理 对PostgreSQL/PolarDB的TopSQL的管理 架构说明 有一台机器上部署的CLup管理节点,这个管 理节点提供WEB管理界面统一管理所有的 PostgreSQL/PolarDB数据库。 每台数据库主机上部署clup-agent。CLup管0 码力 | 34 页 | 3.59 MB | 6 月前3
Curve核心组件之Client - 网易数帆况下 处理逻辑是sleep一个较短时间后重试,但是存在两种特殊的场景: Chunkserver Overload: 这种情况下,对应的RPC Response中返回的错误码是OVERLOAD,说明底层Chunkserver正在处理的 请求数量过多。按照一般重试逻辑,大概率情况下重试请求还是返回OVERLOAD,造成用户IO请求一直 无法返回。 加入睡眠时间指数退避,并加入一个随机值,避免sleep后大量重试又碰撞到一起。0 码力 | 27 页 | 1.57 MB | 6 月前3
共 13 条
- 1
- 2













