Curve元数据节点高可用leader at a time. // // If the context is 'context.TODO()/context.Background()', the Campaign // will continue to be blocked for other keys to be deleted, unless server // returns a non-recoverable error (e ErrCompacted). // Otherwise, until the context is not cancelled or timed-out, Campaign will // continue to be blocked until it becomes the leader. // Campaignkeyetcd serversessionleader // contxtkey-value }© XXX Page 17 of 30 if string(resp.Kvs[0].Value) == goLeaderName { continue } fmt.Printf("Observe() leaderChange, now is: %v, expect: %v\n", resp0 码力 | 30 页 | 2.42 MB | 6 月前3
Curve文件系统元数据管理parse a record -> record switch (record->opcode) { case 1: deal 1 break case 2: deal 2 break case 3: deal 3 break } err handle } inode和dentry的内存管理结构 class InodeKey { uint64_t0 码力 | 24 页 | 204.67 KB | 6 月前3
Open Flags 调研omitted by the filesystem. When writeback caching is enabled, the kernel may send read requests even for files opened with O_WRONLY. The filesystem should be prepared to handle this. When writeback caching is properly handle the O_APPEND flag and ensure that each write is appending to the end of the file. When writeback caching is enabled, the kernel will handle O_APPEND. However, unless all changes to the time the file was open) need not be invalidated. Has no effect when set in other contexts (in particular it does nothing when set by opendir()). */ unsigned int keep_cache : 1; /** Indicates0 码力 | 23 页 | 524.47 KB | 6 月前3
CurveBS IO Processing Flowof chunk is 16MB. If the file directly maps to chunk, a 4TB file will consist of 256KB chunks when the chunk size is set to 16MB. There will be lots of pressure on KV storage, so we use two-level replication in CurveBS. A CopySet contains multiple chunks. Copysets in CurveBS are created in advance. When users write data, they only need to select an appropriate CopySet and create a new chunk. Why The Client sends the request to the ChunkServer where the replication group Leader resides 2. When the user request arrives at the ChunkServer, the CopysetNode will encapsulate the request into a0 码力 | 13 页 | 2.03 MB | 6 月前3
CurveFs 用户权限系统调研:/tmp/fsmount# ls root@pubbeta1-nostest2:/tmp/fsmount# 参考文献 Why does root get Permission denied when accessing FUSE directory? man fuse 问题2:本地文件系统挂载默认是共享的? 目前没有查到相关确切的资料说明,但是从现象上看本地文件系统默认是多用户共享的, are generated (if max_readahead is * non-zero) by the kernel to preemptively fill its caches * when it anticipates that userspace will soon read more * data.© XXX Page 12 of 33 * * Asynchronous */ unsigned congestion_threshold; /** * When FUSE_CAP_WRITEBACK_CACHE is enabled, the kernel is responsible * for updating mtime and ctime when write requests are received. The * updated values0 码力 | 33 页 | 732.13 KB | 6 月前3
Curve质量监控与运维 - 网易数帆系统测试; 从测试角度看,测试可以分为常规测试、性能测试、异常测试、稳定性测试、混沌测试,等等 单元测试 1300+用例 行覆盖80%+,分支覆盖70%+ 集成测试 Given When Then 设计方法 500+用例 异常测试 40+自动化用例 混沌测试 20轮自动化随机故障注入 12/33单元测试 单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 有取值组合。 基于选择的覆盖 选择最常用的参数值作为基础组合,在此基础上每次改变一个参数, 生成新用例。 16/33 我们可以依据Given-When-Then模式来编写具体的测试用例: Given —— 测试上下文 When —— 执行一系列操作 Then —— 得到一系列可观察的后果,即需要检测的断言·异常自动化测试实践 Robotframework 支持python关键字,灵活定义测试0 码力 | 33 页 | 2.64 MB | 6 月前3
Estimation of Availability and Reliability in CurveBSIf one replica fails, the system can read and write data successfully on the other two replicas. When two copies fail at the same time, the system cannot determine the failure reason because only minor ∗ 365) ∗ 100 In CurveBS, the data on one disk is distributed in about 50 copysets, which means when a disk fails, up to 50 other disks will restore the data on that disk at the same time. According0 码力 | 2 页 | 34.51 KB | 6 月前3
Curve Cloud Nativefor different data and metadata(HDD, SSD, pmem) • Allow chunkserver on PVCs to automatically grow when the cluster is nearly fullFeature list for CurveFS • CSI plugin for CurveFS • CurveFS (cluster new nodes, adding / removing nodes • Allow CurveBS and S3 automatically grow underneath CurveFS when the cluster is nearly fullFeature list for monitor • Intergrate Prometheus monitoring (add support0 码力 | 9 页 | 2.85 MB | 6 月前3
Curve for CNCF MainDatabase services orchestrated in the cloud • Curve can backup / sync data to slave cloud • When master cloud failure happens, Database service can move to the slave cloudData apps(middleware/bigdata/ai) Ceph RBD)Performance (vs. Ceph RBD)CurveBS Features • RAFT for data consistency • minor impaction when chunk server fails • Precreated chunk file for volume space mapping • high performance framework0 码力 | 21 页 | 4.56 MB | 6 月前3
curvefs client删除文件和目录功能设计这样的语义。 这部分内容在fuse的相关接口中也有描述如下: /** * Forget about an inode * * This function is called when the kernel removes an inode * from its internal caches. * * The inode's lookup count increases non-zero lookup count may receive request from * the kernel even after calls to unlink, rmdir or (when * overwriting an existing file) rename. Filesystems must handle * such requests properly and it0 码力 | 15 页 | 325.42 KB | 6 月前3
共 13 条
- 1
- 2













