 CurveBS IO Processing Flowl Support asynchronous and incremental snapshot l Support lazy (pre-allocated space) and non-lazy (allocated space on needs) clones from snapshots/mirrors l Support rollback from snapshot CurveBS /foo/bar in CurveBS 2. The address space of the block device /dev/sda maps to chunks of file in the system. For example, chunk1 corresponds to the address space of 0 to 4MB in /dev/sda, and chunk2 chunk2 corresponds to the address space of 4 to 8MB in /dev/sda. The size of chunk can be configured 3. Each file (/foo/bar) contains chunks scattered all over the storage nodes. ChunkServer provides0 码力 | 13 页 | 2.03 MB | 6 月前3 CurveBS IO Processing Flowl Support asynchronous and incremental snapshot l Support lazy (pre-allocated space) and non-lazy (allocated space on needs) clones from snapshots/mirrors l Support rollback from snapshot CurveBS /foo/bar in CurveBS 2. The address space of the block device /dev/sda maps to chunks of file in the system. For example, chunk1 corresponds to the address space of 0 to 4MB in /dev/sda, and chunk2 chunk2 corresponds to the address space of 4 to 8MB in /dev/sda. The size of chunk can be configured 3. Each file (/foo/bar) contains chunks scattered all over the storage nodes. ChunkServer provides0 码力 | 13 页 | 2.03 MB | 6 月前3
 Curve文件系统元数据Proto(接口定义)DeleteInode(DeleteInodeRequest) returns (DeleteInodeResponse);© XXX Page 11 of 15 }© XXX Page 12 of 15 2.3 space.proto space.proto /* * Copyright (c) 2020 NetEase Inc. * * Licensed under the Apache License, Version syntax="proto2"; package curvefs.space; option cc_generic_services = true; enum SpaceStatusCode { OK = 0; // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // space interface message Extent UnInitSpaceResponse { required SpaceStatusCode status = 1; } service SpaceAllocService { // space interface rpc InitSpace(InitSpaceRequest) returns (InitSpaceResponse); rpc AllocateSpace(0 码力 | 15 页 | 80.33 KB | 6 月前3 Curve文件系统元数据Proto(接口定义)DeleteInode(DeleteInodeRequest) returns (DeleteInodeResponse);© XXX Page 11 of 15 }© XXX Page 12 of 15 2.3 space.proto space.proto /* * Copyright (c) 2020 NetEase Inc. * * Licensed under the Apache License, Version syntax="proto2"; package curvefs.space; option cc_generic_services = true; enum SpaceStatusCode { OK = 0; // UNKNOWN_ERROR = 1; // NOSPACE = 2; // } // space interface message Extent UnInitSpaceResponse { required SpaceStatusCode status = 1; } service SpaceAllocService { // space interface rpc InitSpace(InitSpaceRequest) returns (InitSpaceResponse); rpc AllocateSpace(0 码力 | 15 页 | 80.33 KB | 6 月前3
 CurveFS ChunkID持久化1. 2. 1. 2. 3. 4. 3. 2. 背景 将原有的获取chunkid的方法从space迁入mds中,并持久化写入etcd中; 只考虑单 mds 工作的情况; chunkid全局递增。 实现 proto/space.proto 中的 message AllocateS3ChunkRequest、message AllocateS3ChunkResponse proto; 修改 AllocateS3ChunkResponse 的状态码的类型为 FSStatusCode; proto/space.proto/service SpaceAllocService中的 rpc AllocateS3Chunk 复制到 proto/space.proto/service/MdsService中; curvefs/src/mds/mds_services.h MdsServiceImp类中增加0 码力 | 3 页 | 79.38 KB | 6 月前3 CurveFS ChunkID持久化1. 2. 1. 2. 3. 4. 3. 2. 背景 将原有的获取chunkid的方法从space迁入mds中,并持久化写入etcd中; 只考虑单 mds 工作的情况; chunkid全局递增。 实现 proto/space.proto 中的 message AllocateS3ChunkRequest、message AllocateS3ChunkResponse proto; 修改 AllocateS3ChunkResponse 的状态码的类型为 FSStatusCode; proto/space.proto/service SpaceAllocService中的 rpc AllocateS3Chunk 复制到 proto/space.proto/service/MdsService中; curvefs/src/mds/mds_services.h MdsServiceImp类中增加0 码力 | 3 页 | 79.38 KB | 6 月前3
 CurveFS对接S3方案设计胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto 关键流程 init流程 write流程 read流程 整体架构 S3ClientAdaptor模块:负责将文件数据进行chunk,以及block的拆分为s3的ob optional S3ChunkInfoList s3ChunkInfoList = 14; // TYPE_S3 only optional uint64 version = 15; } space相关数据结构和proto enum AllocateType { NONE = 0; SMALL = 1; // BIG = 2; // S3 SpaceStatusCode status = 1; // required uint64 chunkId = 2; } service SpaceAllocService { // space interface rpc InitSpace(InitSpaceRequest) returns (InitSpaceResponse); rpc AllocateSpace(0 码力 | 11 页 | 145.77 KB | 6 月前3 CurveFS对接S3方案设计胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto 关键流程 init流程 write流程 read流程 整体架构 S3ClientAdaptor模块:负责将文件数据进行chunk,以及block的拆分为s3的ob optional S3ChunkInfoList s3ChunkInfoList = 14; // TYPE_S3 only optional uint64 version = 15; } space相关数据结构和proto enum AllocateType { NONE = 0; SMALL = 1; // BIG = 2; // S3 SpaceStatusCode status = 1; // required uint64 chunkId = 2; } service SpaceAllocService { // space interface rpc InitSpace(InitSpaceRequest) returns (InitSpaceResponse); rpc AllocateSpace(0 码力 | 11 页 | 145.77 KB | 6 月前3
 CurveFs 用户权限系统调研grep wanghai wanghai+ 2641513 1 0 13:44 pts/213 00:00:00 ./bazel-bin/curvefs/src/space_allocator/curve_fs_space_allocator_main wanghai+ 2641514 1 0 13:44 pts/213 00:00:00 ./bazel-bin/curve the maximum number of mounts. # Currently (2014) it must be typed exactly as shown # (with a single space before and after the equals sign). #mount_max = 100 # man fuse user_allow_other Allow0 码力 | 33 页 | 732.13 KB | 6 月前3 CurveFs 用户权限系统调研grep wanghai wanghai+ 2641513 1 0 13:44 pts/213 00:00:00 ./bazel-bin/curvefs/src/space_allocator/curve_fs_space_allocator_main wanghai+ 2641514 1 0 13:44 pts/213 00:00:00 ./bazel-bin/curve the maximum number of mounts. # Currently (2014) it must be typed exactly as shown # (with a single space before and after the equals sign). #mount_max = 100 # man fuse user_allow_other Allow0 码力 | 33 页 | 732.13 KB | 6 月前3
 Curve for CNCF Maindata consistency • minor impaction when chunk server fails • Precreated chunk file for volume space mapping • high performance framework • Use bthread (M bthread map N pthread) for scalability and CurveFS can manage storages (open cloud storage and on-prem storage) and expose unified file space for app accessing • RAFT for data consistency • POSIX-compatiable • Cloud native supportCloud0 码力 | 21 页 | 4.56 MB | 6 月前3 Curve for CNCF Maindata consistency • minor impaction when chunk server fails • Precreated chunk file for volume space mapping • high performance framework • Use bthread (M bthread map N pthread) for scalability and CurveFS can manage storages (open cloud storage and on-prem storage) and expose unified file space for app accessing • RAFT for data consistency • POSIX-compatiable • Cloud native supportCloud0 码力 | 21 页 | 4.56 MB | 6 月前3
 Curve设计要点github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 35 页 | 2.03 MB | 6 月前3 Curve设计要点github主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 35 页 | 2.03 MB | 6 月前3
 Curve核心组件之Client - 网易数帆github主页: https://opencurve.github.io/  github代码仓库: https://github.com/opencurve/curve  系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 27 页 | 1.57 MB | 6 月前3 Curve核心组件之Client - 网易数帆github主页: https://opencurve.github.io/  github代码仓库: https://github.com/opencurve/curve  系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 27 页 | 1.57 MB | 6 月前3
 Curve核心组件之snapshotclonegithub主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 23 页 | 1.32 MB | 6 月前3 Curve核心组件之snapshotclonegithub主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 23 页 | 1.32 MB | 6 月前3
 Curve核心组件之chunkservergithub主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 29 页 | 1.61 MB | 6 月前3 Curve核心组件之chunkservergithub主页: https://opencurve.github.io/ • github代码仓库: https://github.com/opencurve/curve • 系列讲座:https://space.bilibili.com/700847536/channel/detail?cid=1539490 码力 | 29 页 | 1.61 MB | 6 月前3
共 11 条
- 1
- 2













