Bazelcache/bazel:/root/.cache/bazel -it opencurvedocker/curve-base:build-debian11 # 容器内 cd /curve/curvefs make build os=debian11 # 容器外 # curvefs sudo make image os=debian11 tag=harbor.cloud.netease.com/cur0 码力 | 6 页 | 4.69 MB | 6 月前3
Curve 分布式存储设计benchmarkSQL 每分钟事务数提升39% 2. pgbench 延迟降低21% TPS提升26% 研究现状Curve块存储 1. 分布式块存储服务 2. KVM块存储服务 3. iSCSI协议 4. 容器云块存储(CSI) 应用场景Curve块存储 1. 高可用性/高可靠性 (易运维) 2. RAFT一致性协议 3. CopySet分配算法 4. 拓扑结构 5. 高性能 6. chunkfilepool0 码力 | 20 页 | 4.13 MB | 6 月前3
Curve核心组件之Client - 网易数帆on API https://github.com/opencurve/curve-qemu-block-driver NBD: 实现了Curve-NBD,与内核NBD模块进行交互 可以作为容器的数据存储 CSI插件也已经开源: https://github.com/opencurve/curve-csi CLIENT上层应用CLIENT虚拟块设备CLIENT主要功能 提供接口0 码力 | 27 页 | 1.57 MB | 6 月前3
Open Flags 调研store anything in fi->fh. There are also some flags (direct_io, keep_cache) which the filesystem may set in fi, to change the way the file is opened. See fuse_file_info structure infor 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 will also 续读写等操作中依据该状态进行处理。 // cephfs Inode Fh.flags(cephfsFh struct Inode : RefCountedObject { ... std::set fhs; } // file handle for any open file state struct Fh { InodeRef inode; int _ref; 0 码力 | 23 页 | 524.47 KB | 6 月前3
Curve文件系统元数据持久化方案设计+------+------------+-----+----------------+---------+----------+ 字段 字节数 说明 type 1 操作类型,共有以下 2 类: SET (0X01):ADD 和 UPDATE 都可以转换成 SET 操作 DEL (0X02):当为 DEL 操作时,value_length 和 value 则为空 key_length 4 key 长度 key $key_length 消耗却更少,推介使用 protobuf 进行序列化 2、KVStore 将当前实现中的 MemoryDentryStorage 和 MemoryInodeStorage 抽象成一个 KVStore,对外提供 SET/GET/DEL 等接口,inode/dentry 均编码后以 key-value 的形式存入 KVStore 当前实现可先只实现 KVStore(提供方便 API),Raft 等可以后续接入(目前实现中持久化可以在 public braft::StateMachine { public: enum class OP_TYPE { OP_TYPE_SET, OP_TYPE_DEL, }; public: bool Init(); int Set(const std::string& key, const std::string& value); int Get(const0 码力 | 12 页 | 384.47 KB | 6 月前3
CurveFs 用户权限系统调研* * NOTE: For the time being, the maximum size of read requests© XXX Page 11 of 33 * must be set both here *and* passed to fuse_session_new() * using the ``-o max_read=`` mount option. At some 1, i.e. full * nano-second resolution. Filesystems supporting only second resolution * should set this to 1000000000. */ unsigned time_gran; /** * For future use.© XXX Page 14 of 33 */ unsigned /etc/login.defs # UMASK is the default umask value for pam_umask and is used by # useradd and newusers to set the mode of the new home directories. # 022 is the "historical" value in Debian for UMASK # 027, or 0 码力 | 33 页 | 732.13 KB | 6 月前3
BRPC与UCX集成指南UCT ●Memory domain open/close ●Active message ●Memory get/put ●Memory atomic fetch, compare and set ●Tag match ●client/server模式的Listener, Ep(endpoint)26 UCP ●构建于uct之上,实现更加高级的功能,容易使用,但有一定开销。 ●UC ●指定了FEATURE_AM, 多线程共享39 命令行参数控制context的属性 ●--brpc_ucp_error_mode缺省是none,是的本地通讯使用shared memory成为可能 ●--brpc_set_cpu_latency 非-1, 设置intel cpu节电模式,可能减少硬 件延迟。 –/dev/cpu_dma_latency ●root特权 –Busy poll下不要开启,可能导致电耗过高、cpu降速400 码力 | 66 页 | 16.29 MB | 6 月前3
CurveFS Client 概要设计(fuse_req_t req, fuse_ino_t ino, struct stat *attr, int to_set, struct fuse_file_info *fi); 根据inode id 找到inode id 对应的inode 结构(从缓存或者metaserver) 根据to_set字段设置相应的attr字段,然后持久化到metaserver,并更新本地缓存。 access 可先不支持,返回ENOSYS0 码力 | 11 页 | 487.92 KB | 6 月前3
Curve文件系统元数据管理com/abseil/abseil-cpp/tree/master/absl/c ontainer 实现了btree map和btree set,(Apache)。 google, https://code.google.com/archive/p/cpp-btree/, btree_map , btree_set, btree_multimap, and btree_multiset ,( ) Apache B+tree0 码力 | 24 页 | 204.67 KB | 6 月前3
NJSD eBPF 技术文档 - 0924版本tcp_timeout_init • tcp_call_bpf(BPF_SOCK_OPS_TIMEOUT_INI T) • bpf_cgrougp_run_sock_ops • … • set_initial_rtoCurve的Cache模块 • 底层ext4⽂件系统作为cache • cache分为写cache与读cache,读/ 写cache独⽴配置 • 与底层⽂件关系 (filename0 码力 | 20 页 | 7.40 MB | 6 月前3
共 12 条
- 1
- 2













