CurveBS IO Processing Flowof snapshots l 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 scattered all over the storage nodes. ChunkServer provides 4KB random read/write capability to support 4KB aligned read/write on block devices.CurveBS file structure of virtual block device As mentioned uses RAFT as a consistency protocol. The figure above is from the RAFT paper(https://raft.github.io/raft.pdf). CurveBS uses BRaft to implement the consistency protocol. For CurveBS 1. A CopySet0 码力 | 13 页 | 2.03 MB | 6 月前3
OID CND Asia Slide: CurveFSRestore data on a disk within 5 minutes Data availability of 6 nines can be achievedCloud native Support Currently we offer CSI Driver for block storage to provide PV/PVC resources on KubernetesAgenda availability and reliability ● Cluster topology ● CopySet pre-allocation algorithm ● Raft Consistency protocol High performance ● pre-created file pool ● data strip like RAID ● Zero data copy ● RDMA Cloud COPYSET belong to different failure domainsCURVE IO data flowOther performance optimizations RAFT protocol Zero data copy pre-created file poolCURVE file system File service middleware Upper-layer applications0 码力 | 24 页 | 3.47 MB | 6 月前3
Curve for CNCF Maincontainer service (in Plan) • Config CurveBS by (Cluster and Pool CRDs) in Kubernetes (in Plan) • Support Operator capability level 5 (in Plan) • horizontal / vertical scaling, auto config tuning, abnormal abnormal detection and schedule tuningStorage Engine Comparison (vs. Ceph) DATA CONSISTENT PROTOCOL CURVE (RAFT) CEPH WRITE SUCCESS majority write successful all write successful READ Leader of copyset CurveFS by (cluster and storage pools) CRDs in Kubernetes (in Plan) • Support Operator capability level 5 (in Plan) • now support helmCurrent Status • Release 2 major version on CurveBS • v1.2 supporting0 码力 | 21 页 | 4.56 MB | 6 月前3
CurveFs 用户权限系统调研include/fuse_kernel.h // This is the first request sent by the kernel to the daemon. It is used to negotiate the protocol version and other filesystem parameters. struct fuse_init_in { uint32_t major; uint32_t minor; want; struct fuse_conn_info { /** * Major version of the protocol (read-only) */ unsigned proto_major; /** * Minor version of the protocol (read-only) */ unsigned proto_minor; /** * Maximum values are passed to the filesystem with setattr() requests. * However, if the filesystem does not support the full resolution of * the kernel timestamps (nanoseconds), the mtime and ctime values used0 码力 | 33 页 | 732.13 KB | 6 月前3
Estimation of Availability and Reliability in CurveBSEstimation of availability and reliability in CurveBS CurveBS uses the RAFT protocol to maintain consistency of stored data. It generally takes the form of 3 replicas of data. If one replica fails0 码力 | 2 页 | 34.51 KB | 6 月前3
Curve Cloud NativeLIFECYCLE Plan to Support app lifecycle, storage lifecycle(backup, failure, recovery) DEEP INSIGHTS Plan to Support metrics, alerts, log processing and workload analysis AUTO PILOT Plan to Support horizontal/vertical metadata backup and recovery • MDS / ChunkServer should respect failure domains of Kubernetes • Support for public cloud environments • Dashboard-driven configuration after minimal Curve installFeature alternative to host path • Support automatically detect new nodes, adding / removing nodes and disk drives • Support dynamic volume resizing • chunkserver on PVC support for different data and metadata(HDD0 码力 | 9 页 | 2.85 MB | 6 月前3
Curve Detail Introduction for CNCFmagnification for file new write • Cooperate with Alibaba to support high-performance polardb for postgresql using CurveBS • Cloud-native support for CurveBS • CurveBS clusters and related monitoring services FlowCurveFS Roadmap • CurveFS based on CurveBS • Cache support on CurveFS • NFS support on CurveFS • Cloud tiering support • Cloud-native support for CurveFS • CurveFS clusters and related monitoring0 码力 | 23 页 | 6.53 MB | 6 月前3
Open Flags 调研for more details. If this request is answered with an error code of ENOSYS and FUSE_CAP_NO_OPEN_SUPPORT is set in fuse_conn_info.capable, this is treated as success and future calls to open and release uint64_t lock_owner; /** Requested poll events. Available in ->poll. Only set on kernels which support it. If unsupported, this field is set to zero. */ uint32_t poll_events; }; // fastcfs typedef0 码力 | 23 页 | 524.47 KB | 6 月前3
Bazelgcc 编译 bazel build –config=gcc7-later … # use '-faligned-new' to enable C++17 over-aligned new support # 使用 clang 编译 CC=clang CXX=clang++ bazel build …2 制作镜像 docker run -v $(pwd):/curve -v /root/0 码力 | 6 页 | 4.69 MB | 6 月前3
TGT服务器的优化驱动没有本地cache,所以DPO & FUA可以turn on. • sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA • 这个对于curve驱动,Linux Initiator的dmesg不会显示这个信息TGT的性能问题 • 性能问题主要体现在不能有效使用多CPU • 对多个socket0 码力 | 15 页 | 637.11 KB | 6 月前3
共 10 条
- 1













