登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
12月28日,「开源中国源创会年终盛典」珠海站再次回归!点击免费报名参会
代码拉取完成,页面将自动刷新
开源项目
>
服务器应用
>
分布式存储系统
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
99
Star
679
Fork
151
GVP
happyfish100
/
FastCFS
代码
Issues
5
Pull Requests
0
Wiki
统计
流水线
服务
Gitee Pages
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
申请加入仓库
发行版
最新版
V5.3.2
b967daf
2024-09-25 08:38
对比
FastCFS V5.3.2发布,bug修复和小改进
happyfish100
FastCFS V5.3.2发布,主要为bug修复和小改进。 changelog如下: [fstore] protocol ACTIVATE_SERVER do NOT response for RDMA [fdir & fstore] bugfixed: MUST seperate pd for RDMA network [fdir & fstore] check if the listening port matches the cluster configuration [fstore] fix hash_code type from uint32_t to uint64_t in func fs_client_bs_operate [fstore] return EINVAL when data group id NOT belongs to me [FastCFS] fcfs_fused.c: connection pool stat for debug [libfastcommon] connection pool performance optimization [libserverframe] task init callback support extra argument [libserverframe] struct sf_context add field is_client for RDMA callback alloc_pd [libfastrdma] global init use CAS lock free for singleton
最后提交信息为:
README changed for V5.3.2
V5.3.0
f8e4e66
2024-03-11 15:06
对比
FastCFS V5.3发布,bug修复和小改进
happyfish100
FastCFS V5.3发布,主要为bug修复和小改进。 change log如下: [fdir & fstore] service groups can overwrite buffer_size [fdir & fstore] service stat output version delay [all] log square quoted IPv6 address [fstore] bugfixed: set flags to FS_COMMON_PROTO_FLAGS_LAST_PKG for last pakage
最后提交信息为:
upgrade version to V5.3.0
V5.2.0
943da77
2024-01-30 14:32
对比
FastCFS V5.2发布,主要为bug修复
happyfish100
FastCFS V5.2发布,主要为bug修复。 change log如下: [fdir & fstore] service_stat output space stat for storage engine [fstore] remove the limit of max data groups per server [fstore] bugfixed: dump replica binlog to file correctly when slice storage engine enabled [fstore] data_group_count in cluster.conf can't changed since first run [libdiskallocator] da_binlog_reader_load: read binlog file with fixed buffer size [libfdirstorage] inode array shrinked by updated count [libfsstorage] bugfixed: block binlog shrinked correctly
最后提交信息为:
upgrade version to 5.2.0
V5.1.0
5a2ab20
2023-12-29 09:59
对比
FastCFS V5.1发布,支持IPv6和bug修复
happyfish100
经过1个月的研发和测试,FastCFS V5.1发布,主要改进:支持IPv6和bug修复。 对应的git log如下: [fdir & fstore] auto support IPv6 by cluster.conf [libdiskallocator] check store paths duplicate [libdiskallocator] call crontab task trunk_index_dump with new thread [libdiskallocator] trunk_index_dump optimize [fstore] bugfixed: binlog_check.[hc] set replica's data group id correctly [fstore] cluster.conf add item use_hash_func to disperse data group distribution 欢迎大家测试和使用V5.1,建议老用户升级到最新版本。有任何问题和建议欢迎加群交流。
最后提交信息为:
upgrade version to 5.1.0
V5.0.0
ac8709b
2023-12-06 10:37
对比
FastCFS V5.0发布,原生支持RDMA
happyfish100
经过4个多月的预研、开发和测试,FastCFS 5.0终于和大家见面了。FastCFS 5.0使用ibverbs原生方式适配了RDMA网络,可以充分发挥RDMA网络的低延迟和高吞吐特性。在此特别感谢 @Frank 提供IB环境的高端服务器供我们预研;非常感谢 @yunqi 在ibverbs编程方面耐心的答疑;十分感谢 @AI墨墨 公众号提供了非常好用的chatGPT服务,帮助我解答了不少疑惑。 我们租用阿里云 g8类型的 ECS,使用其eRDMA特性,4KB随机读在fuse场景性能下相比socket方式提升了50%;我们直接调用API(纯用户态模式)的fcfs_beachmark,非busy polling模式下性能相比socket方式提升80%,而busy polling模式下性能提升了110%。后续我们将找机会在IB网络环境下进行性能对比测试,预计性能提升会更加明显。 是否开启busy polling,我们server端默认配置为智能模式。当一个连接的QPS连续N秒(如3秒)超过阈值(如10240),则启用 busy polling模式;连续N秒低于阈值,则退回非 busy polling模式。 友情提示:配置示例及说明参见源码 conf/full/ 子目录下的配置文件。 V5.0修复的bug如下: [fdir] bugfixed: dentry_create set loaded_flags correctly [fdir] bugfixed: must use lock for db skiplist [libfdirstorage] bugfixed: set variable normal_update correctly [libfsstorage] segment reclaim more robustly FastCFS 5.0通过了比较充分的测试,欢迎有RDMA网络环境的朋友进行性能测试。建议使用FastCFS老版本的用户,尽快升级到最新版本。有任何问题和建议,欢迎提交issue,也可以加群交流。
最后提交信息为:
fix compile error in Linux
V4.3.0
8776261
2023-08-07 10:28
对比
FastCFS V4.3发布,小改进和bug修复
happyfish100
经过3个星期的研发和测试,高性能分布式文件系统FastCFS 4.3发布了。V4.3主要包括2个小改进和7个bug修复。 2个小改进如下: 1)fastdir存储引擎的children容器默认为sortedarray,新支持了skiplist,对应的配置项为children_container。当一个目录下的子目录或文件数过多,比如超过了1万个,建议将children_container配置为skiplist。 2)faststore数据同步线程数由宏定义改为配置项 recovery_concurrent,默认值为2。新增存储节点时,可以酌情调大此参数,以加快数据同步速度。 修复的bug列表: [faststore] improve robustness of slice space log flow control [libfastcommon] bugfixed: array_allocator_alloc MUST init the array [libserverframe] improve robustness of binlog writer flow control [libserverframe] bugfixed: sf_binlog_index.c call parse only when row_count > 0 [libfsstorage] bugfixed: set variable block instead of new_block [libfsstorage] bugfixed: set variable normal_update correctly [libfdirstorage] bugfixed: set variable normal_update correctly FastCFS开源项目托管在gitee和github,欢迎大家测试和使用。
最后提交信息为:
upgrade version to 4.3.0
V4.2.0
ea5cde2
2023-07-10 08:52
对比
FastCFS V4.2发布,性能提升和bug修复
happyfish100
FastCFS V4.2发布,主要改进: 1. 写盘支持direct io模式(默认不开启); 2. 写盘线程采用有序队列,提升性能的同时可以最大程度保证顺序写; 3. 5个bug修复。 修复的bug如下: bugfixed: calculate path_info->trunk_stat.used correctly fcfs_api_statvfs: unify avail and free space bugfixed: MUST persist fi->oper.additional_gids.list for future usage load redo logs filter records strictly slice_dedup_redo MUST match caller 强烈建议大家升级到最新的V4.2,server端和client端都要升级。
最后提交信息为:
docs upgrade version to V4.2
V4.0.0
f9f0cf3
2023-06-05 15:41
对比
FastCFS V4.0发布,支持单机PB级存储
happyfish100
经过整整4个月的潜心研发,FastCFS V4.0终于与大家见面了。V4.0主要改进:faststore引入存储插件,存储节点以有限内存(如32GB)支持上百TB的存储空间。如果单机要支持PB级的存储空间,出于性价比考虑,建议存储节点至少配置128GB内存。另外V4.0 对faststore的存储层进行了重构,直接使用底层库 libdiskallocator,这样的做好处是保持一套代码,更容易维护,同时减少出bug的几率。 faststore存储插件以block(4MB的文件块)为单位进行持久化存储,存储该block对应的slice索引;当内存不足时按block进行淘汰。faststore使用slice binlog + block索引持久化的做法,block索引持久化采用的是异步方式。总结一下faststore是否使用存储插件的差异:未使用存储插件只有slice binlog;使用存储插件是slice binlog + 按block组织的slice索引。 V4.0其他小改进: [fdir] add protocols get_fullname_by_[inode|pname] for fdir_stat(便于调试文件访问权限问题) [fuseclient] support mount option ro (read-only)(mount的文件系统支持只读模式) [fstore] file block size use config instead of macro define(默认为4MB的文件block大小支持配置方式) V4.0修复的bug列表: [fdir] bugfixed: correct idempotency output when storage engine enabled [fdir] bugfixed: rename_check with flags S_ISVTX when dest dentry exist [fstore] bugfixed: must call slice_binlog_set_binlog_start_index(0) [libfastcommon] bugfixed: fast_mblock_batch_alloc correct return value [libdiskallocator] trunk_space_log.c: fix redo logic of keep record 我们租用阿里云本地SSD的ECS对V4.0的数据一致性、系统稳定性以及性能进行了充分测试,欢迎大家体验和试用。建议使用旧版本的用户,尽快升级到最新版本。
最后提交信息为:
README.md upgrate FCFS version to 4.0.0
V3.7.1
3ee0874
2023-01-16 09:50
对比
FastCFS v3.7.1发布,支持用户附加组
happyfish100
FastCFS v3.7.1发布,支持用户附加组,完全符合POSIX标准,解决了在FastCFS的fuse client上跑NFS(套娃模式)可能碰到的访问权限问题。 v3.7.1改进和修复的问题如下: [fdir] service_stat add fields: version, auth_enabled and storage_engine [fdir] list dentry support special dentries . and .. [fdir] call get_path_block_size only when read_direct_io is true [fdir] dentry_remove bugfixed: correct posix ACL check [fstore] service_stat add version field and support options: -G and all [libserverframe] check socket connected on unexpected stage [libserverframe] get_leader_connection: failover on multi ip addresses [libserverframe] change log level to debug for hash entry reclaim [libfastcommon] parse_bytes support space charactors (before and after the unit) [libfastcommon] fc_fallocate fail back to ftruncate under Linux FastCFS 针对intel和arm架构分别提供了 rpm 和 deb 包,欢迎大家安装和体验。
最后提交信息为:
upgrade version to 3.7.1
V3.7.0
8c0c7a0
2022-11-22 10:24
对比
FastCFS 3.7发布,通过 POSIX兼容性测试
happyfish100
FastCFS 3.7.0 发布,主要通过了 POSIX 兼容性测试以及修复了 7 个 bug,FastCFS 的稳定性进一步提升。 POSIX 兼容性测试使用开源项目 pjdfstest,共有 8 千多个 test case,只有极少数 case 未能通过,其中 30 个 FIFO 类型的文件 open case 失败,这类 open 调用不会传递到 fuse 层,返回值取决于 Linux 内核实现。 v3.7.0 修改的 bug 列表如下: [libfastcommon] bugfixed: common_blocked_queue_[alloc|free]_node must use lock [libfastcommon] bugfixed: can't use global malloc_allocato [fstore] bugfixed: skip rpc to slaves when no update for allocate space [fstore] bugfixed: remove_conflict_slices add to two chains correctly [fdir] bugfixed: define macro FDIR_FLAGS_FOLLOW_SYMLINK correctly [fdir] bugfixed: normalize_path for symlink correctly [fdir] return ENOLINK for readlink when path is not a symlink FastCFS 提供了 rpm 和 deb 包,欢迎大家安装和体验。使用 FastCFS 旧版本的用户,请尽快升级到最新版本。
最后提交信息为:
gh actions: upgrade to 3.7.0-1
V3.6.0
01c85db
2022-09-08 09:39
对比
FastCFS v3.6发布,读写性能大幅提升
happyfish100
历时3星期的研发,FastCFS v3.6发布了,文件读写性能提升明显,尤其顺序写相信会惊艳到大家,感兴趣的朋友可以用 dd或scp等工具体验一下飞一般的感觉。我们租用3台阿里云本地SSD ECS 和 1台普通ECS作为客户端进行压测,2个fio并发线程即可把3gb网络带宽打满(约351MB/s),而v2.2在4并发线程下只有126MB/s。 v3.6性能优化主要包括如下两方面: **1. fstore server优化** 文件写引入选项write_to_cache,默认为true,表示异步写盘,以充分发挥磁盘写入能力。另外,通过内存池动态分配数据buffer,从网络上接收数据,然后把数据buffer直接传递给磁盘写入线程和数据同步线程,避免内存拷贝。 文件读引入配置项read_direct_io,表示是否采用direct io模式,默认不采用(即使用系统缓存)。对于SATA或SAS普通硬盘,建议使用系统缓存;而SSD硬盘可以根据实际需要采用 direct io模式。 **2. fuse client优化** 支持fuse选项writeback_cache,告诉Linux kernel是否启用合并写。开启这个选项,将迅猛提升连续写入小块数据(比如一次写入4KB)的性能。 fuse.conf增加配置项kernel_cache,表示是否使用Linux kernel的文件缓存。开启这个选项,相当于在fuse客户端启用了文件缓存,在某些情况下将大幅提升文件读取性能。对于多节点共享数据场景,最好不要启用kernel_cache。 使用这两个fuse选项,程序内部合理设置fuse相关参数,文件读写性能提升明显。 v3.6修复的bug列表: [fstore] bugfixed: MUST call set_binlog_indexes to set start_index [fuseclient] bugfixed: write_to_pid_file move before fcfs_api_start_ex bugfixed: base_path support relative path FastCFS v3.6的文件读写性能又上了一个台阶,欢迎大家测试和使用。
最后提交信息为:
README update for 3.6.0
V3.5.0
1d8f398
2022-07-26 12:44
对比
FastCFS V3.5支持多数派数据复制
happyfish100
经过一个多月紧锣密鼓的研发,FastCFS v3.5发布了。v3.5主要完成了异常情况下保证数据一致性的改进工作:数据提交采用多数派确认机制保证在高负载等不稳定情况下数据一致性和可靠性;实现了数据不一致时的自动恢复机制(以前版本是持续报错),包括如下两点: 1. slave自动回滚不一致的数据,然后从master恢复数据; 2. 在重启情况下,如果slave的数据版本比master高,则自动提升为master。 其他小改进: 1. 支持跨机器幂等; 2. 默认开启日志按天轮转和日志清除。 修复的bug列表: [fdir] dentry_list_by_path must call dentry_check_load_children [fdir & fstore] select leader/master distinguish success count and active count [fdir & fstore] get_myself_in_cluster_cfg by service, cluster and replica ports [fstore] MUST ignore errno EOPNOTSUPP when leader notify FastCFS v3.5是极端情况下保证数据一致性和可靠性的里程碑版本,欢迎大家下载和使用。使用FastCFS旧版本的用户,请及时升级到最新版本。
最后提交信息为:
doc changed for v3.5
V3.4.0
cc9a9fd
2022-06-15 10:17
对比
FastCFS V3.4 发布,支持双活互备防脑裂
happyfish100
历经一个半月的紧张研发和测试,V3.4发布了。V3.4主要改进: 1. 引入选举节点,双副本防脑裂(即双活互备防脑裂,保证数据一致性); 2. fdir和fstore的binlog去重及历史数据清理,减少不必要的磁盘空间占用; 3. fdir实现的文件锁严格遵循POSIX规范: 1) 允许重入(同一进程内多次重复加锁); 2) UNLOCK均返回成功; 3) 一次UNLOCK可以解开多个锁; 4) UNLOCK支持部分解锁。 4. 去掉不必要的错误日志,网络连接失败日志中增加服务名称,方便定位问题。 修复的bug如下: [fdir] bugfixed: must check load children for list dentry when storage engine is enabled [fdir] bugfixed: CAS set data version correctly [fdir] bugfixed: MUST change replication ptr array in the cluster thread [fauth] bugfixed: padding with the terminating '\0' character for strtoll [fstore] bugfixed: send active test when (task->offset == 0 && task->length == 0) V3.4版本中fdir的稳定性得到了增强,欢迎大家安装和使用V3.4版本,使用过程中有任何问题或建议,欢迎提交issue或加入微信群交流。
最后提交信息为:
images/wechat_group.jpg refreshed
V3.3.0
710a772
2022-04-25 10:31
对比
里程碑版本V3.3.0
happyfish100
经过一个半月的紧张研发和测试,FastCFS V3.3如期发布了。V3.3是一个里程碑版本,正常重启和kill -9强杀,系统稳定性和数据一致性,均得到了充分测试和保障。V3.3主要改进为: 1. [fstore] 修复了服务器重启等情况下的数据一致性问题; 2. [fstore] 单盘数据恢复:单盘故障恢复后,可通过命令行参数恢复数据; 3. [fstore] master再平衡:机器故障或网络短暂故障恢复后,master重新均衡分布; 4. [fauth & fdir & fstore] 引入防脑裂机制:leader/master选举投票采用过半原则。 修复的bug列表如下: 1. bugfixed: done_bytes must use atom decrease under multi threads 2. bugfixed: DG master election stopped in rare case 3. bugfixed: MUST waiting slice write done before trunk reclaim 4. bugfixed: should keep delete-slice binlog when ob_index_get_slice_count > 0 5. timestamp in the replica and slice binlogs increases monotonically 6. bugfixed: should scan last N + 1 seconds binlog when binlog check and repair 7. bugfixed: log replica binlog by the fetched binlog FastCFS V3.3已达到生产环境使用要求,欢迎大家体验和测试,有任何问题欢迎随时反馈。
最后提交信息为:
upgrade README version
V3.2.0
15b494c
2022-03-09 15:39
对比
V3.2.0
happyfish100
经过一个半月的研发和测试,FastCFS V3.2.0和大家见面了。这个版本主要改进: 1. 提供诸如 open/fopen、write/fwrite、read/fread、close/fclose、readv、writev 等全套POSIX API,应用程序可以通过这套API使用FastCFS存储; 2. 提供了LD_PRELOAD方式,实现用户态虚拟mount point; 3. 为了支持POSIX API,fdir进行了调整和完善,比如 list/remove denry 和 get/list/remove xattr 支持flags;libfastcommon 和 fstore 支持 readv 和 writev; 4. fstore支持集群扩容后清除多余的binlog数据(启动 fs_serverd时带上参数 --migrate-clean)。 其他改进和bugfix如下: [fastcfs-csi] config optimization [fstore] read ahead support prefetch automatically [fuseclient] fuse.conf add parameter: xattr_enabled [fdir] bugfixed: update field "mode" correctly [fdir] bugfixed: server_parse_inode_for_update MUST set dentry_type FastCFS POSIX API简介参见博客:https://my.oschina.net/u/3334339/blog/5481119
最后提交信息为:
add link to docs/cluster-expansion-zh_CN.md
V3.1.0
fe3df58
2022-01-13 11:22
对比
V3.1.0
happyfish100
V3.1主要对FastDIR进行改进,实现了LRU淘汰算法,以有限内存支持海量文件。 其他改进和bug修复如下: 1. 采用引用计数方式,不再延迟释放 dentry; 2. delay free namespace string for lockless; 3. bugfixed: get trunk_file_size from ini correctly。
最后提交信息为:
remove %define for FastCFS-auth debuginfo
V3.0.0
7e0d22b
2022-01-13 11:06
对比
V3.0.0
happyfish100
经过整整5个月的潜心研发,FastCFS v3.0 终于发布了。FastCFS 3.0 主要改进:核心组件FastDIR通过插件方式实现数据存储引擎,采用binlog + 存储引擎插件,按需加载inode数据,单机以有限内存(如64GB)支持100亿级的海量文件。 通过binlog实现的数据持久化比较简单,程序重启时通过binlog重放将inode数据全部加载到内存中,这种方式存储海量文件存在如下两个问题: 1. 程序启动就绪时间长(每秒加载大约200万个inode); 2. 对内存空间要求非常高(一个inode占用约300字节)。 V3.0引入的存储引擎插件,很好地解决了单纯通过binlog实现数据持久化的两大问题。 另外,FastCFS 3.0 修复了如下3个bug: [fdir] increase/decrease parent's nlink on rename operation [fdir] set dentry->kv_array->count to 0 correctly [fstore] should init barray->count to 0
最后提交信息为:
docs changed for V3.0.0
V2.3.0
f8add66
2021-07-08 07:41
对比
V2.3.0
happyfish100
FastCFS V2.3.0发布,主要改进如下: 1. auth server以主备方式支持多节点,避免单点; 2. leader/master选举/切换引入超时机制,选举时长可控。 另配置文件中的 section name统一用减号分隔,例如:[pool-generate]
最后提交信息为:
upgrade FastCFS versions in README
V2.2.0
35d5713
2021-06-22 15:34
对比
V2.2.0
happyfish100
历经大约一个月的研发,FastCFS V2.2.0 发布,主要改进如下: 1. [fstore] 使用libaio实现异步读,随机读性能提升明显; 2. [fstore] 支持预读机制,顺序读性能提升显著; 3. 修复了3个bug: 1)[fstore] 修复V2.1.0引入的bug:第一次运行时,一个关键bool变量没有正确赋值; 2)[fuseclient] 修复列举目录导致元数据缓存的一致性问题; 3)[fauth] 修复username和poolname格式修饰符不当导致的乱码问题。 另,sungness 开发的集群运维工具(fcfs.sh) 和 vazmin 开发的k8s驱动(fastcfs-csi)已同步发布,欢迎大家测试和使用(FastCFS项目主页有链接)。 FastCFS V2.2.0采用异步读取和预读机制,读性能显著提升,至此FastCFS的IOPS全面超越Ceph:顺序写是Ceph的6.x倍,顺序读是Ceph的2.x倍,随机写大约是Ceph的2倍。详细的测试数据参见FastCFS项目官网:https://gitee.com/fastdfs100/FastCFS V2.2.0是FastCFS一个里程碑版本,敬请朋友们多多支持!
最后提交信息为:
add link for fastcfs-csi
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
C
1
https://gitee.com/fastdfs100/FastCFS.git
git@gitee.com:fastdfs100/FastCFS.git
fastdfs100
FastCFS
FastCFS
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册