{"id":13508256,"url":"https://github.com/happyfish100/FastCFS","last_synced_at":"2025-03-30T10:30:47.364Z","repository":{"id":38320146,"uuid":"289297374","full_name":"happyfish100/FastCFS","owner":"happyfish100","description":"A high performance distributed file system which can be used as the back-end storage of databases, K8s and VM etc.","archived":false,"fork":false,"pushed_at":"2025-03-22T01:23:04.000Z","size":28489,"stargazers_count":576,"open_issues_count":13,"forks_count":88,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-22T02:24:14.090Z","etag":null,"topics":["cloud-native","fuse-interface"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/happyfish100.png","metadata":{"files":{"readme":"README-zh_CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-21T15:03:49.000Z","updated_at":"2025-03-22T01:23:08.000Z","dependencies_parsed_at":"2022-07-11T02:00:37.162Z","dependency_job_id":"195475d5-eafa-457d-b08d-a92fac896999","html_url":"https://github.com/happyfish100/FastCFS","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happyfish100%2FFastCFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happyfish100%2FFastCFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happyfish100%2FFastCFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/happyfish100%2FFastCFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/happyfish100","download_url":"https://codeload.github.com/happyfish100/FastCFS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246307582,"owners_count":20756473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-native","fuse-interface"],"created_at":"2024-08-01T02:00:50.437Z","updated_at":"2025-03-30T10:30:47.354Z","avatar_url":"https://github.com/happyfish100.png","language":"C","funding_links":[],"categories":["C","cloud-native"],"sub_categories":[],"readme":"# FastCFS -- 可以跑数据库的高性能通用分布式文件系统\n\n[English](README.md) | 简体中文\n\n## 1. 简介\n\nFastCFS 是一款强一致性、高性能、高可用、支持百亿级海量文件的通用分布式文件系统，可以作为MySQL、PostgreSQL、Oracle等数据库，k8s、KVM、FTP、SMB和NFS等系统的后端存储。\n\n### FastCFS 主要特点\n\n* 保证数据强一致前提下实现了高性能：性能完胜Ceph；\n* 完全兼容POSIX文件接口，支持文件锁，64G内存即可支持百亿级海量文件；\n* 高可用：不存在单点，自动failover；\n* 简洁高效的架构和原生实现，不依赖第三方组件，内置运维工具，易用性较好；\n* 随机写性能强悍：FCFS基于trunk顺序分配空间，将客户端的随机写转换为顺序写。\n\n### FastCFS 典型应用场景\n\n* **数据库**：支持常规的独享数据和高阶的共享数据两种存储方式，支持数据库云化；\n* **文件存储**：如文档、图片、视频等等，FastCFS比对象存储更容易与通用软件集成；\n* **超融合存储**：数据库和文件存储共用一个存储集群，显著提升存储资源利用率；\n* **高性能计算**：高可靠和高性能的FastCFS，支持RDMA，天然适合高性能计算场景；\n* **视频监控**：FastCFS采用顺序写盘方式，使用SATA硬盘也可保证多路视频流畅写入。\n\n## 2. 当前版本：V5.3.3\n\n[FastCFS重大版本一览](docs/version-history-zh_CN.md)\n\n## 3. 支持的操作系统\n\n* Linux: Kernel version \u003e= 3.10 （完全支持，推荐使用4.18及更高版本）\n* MacOS or FreeBSD  （仅支持服务端，不支持FUSE）\n\n## 4. 依赖\n\n* [libfuse](https://gitee.com/mirrors/libfuse) (版本 3.9.4 或更高版本，推荐3.10.5)\n    * [Python](https://python.org/) (版本 3.5 或更高版本)\n    * [Ninja](https://ninja-build.org/) (版本 1.7 或更高版本)\n    * [gcc](https://www.gnu.org/software/gcc/) (版本 4.7.0 或更高版本)\n* [libfastcommon](https://gitee.com/fastdfs100/libfastcommon) (tag: V1.0.76)\n* [libserverframe](https://gitee.com/fastdfs100/libserverframe) (tag: V1.2.6)\n* [libdiskallocator](https://gitee.com/fastdfs100/libdiskallocator) (tag: V1.1.10)\n* [fastDIR](https://gitee.com/fastdfs100/fastDIR) (tag: V5.3.3)\n* [faststore](https://gitee.com/fastdfs100/faststore) (tag: V5.3.3)\n* [FastCFS](https://gitee.com/fastdfs100/FastCFS) (tag: V5.3.3)\n\n## 5. 部署 \u0026 运维\n\nFastCFS包含 libfastcommon、libserverframe、libdiskallocator、fastDIR、faststore和FastCFS 六个安装包。\n\n### 一键部署\n\n如果你打算快速体验一下FastCFS，可以一键搭建(包括部署和运行)单节点（需要root身份执行）：\n```\ngit clone https://gitee.com/fastdfs100/FastCFS.git; cd FastCFS/\n./helloWorld.sh\n\n# 注意：helloWorld.sh将更改FastCFS相关配置文件，请不要在多节点集群上执行！\n```\n\n上述操作完成后，执行命令：\n```\ndf -h /opt/fastcfs/fuse | grep fuse\n```\n可以看到FastCFS挂载的文件目录，你可以当作本地文件系统访问该目录。\n\n一键部署的详细说明，请参见这里[一键部署详细说明](docs/Easy-install-detail-zh_CN.md)\n\n### 集群部署工具\n\n推荐使用 [FastCFS集群运维工具](docs/fcfs-ops-tool-zh_CN.md)\n\n### DIY安装\n\n如果你要自己搭建FastCFS环境，可以采用如下三种安装方式之一：\n\n* yum安装（针对CentOS、Rocky、Fedora、RHEL等），参阅 [yum安装文档](docs/YUM-INSTALL-zh_CN.md)\n* apt安装（针对Ubuntu、Debian 和 Deepin），参阅 [apt 安装文档](docs/APT-INSTALL-zh_CN.md)\n* 源码编译安装，参阅 [安装文档](docs/INSTALL-zh_CN.md)\n\n### 配置指南\n\nFastCFS安装完成后，请参阅[配置指南](docs/CONFIGURE-zh_CN.md)\n\n### 集群扩容\n\n详情参见 [FastCFS集群扩容手册](docs/cluster-expansion-zh_CN.md)\n\n## 6. 性能测试\n\nFastCFS性能明显优于Ceph：顺序写是Ceph的6.x倍，顺序读是Ceph的2.x倍，随机写大约是Ceph的2倍。\n\n* [FastCFS与Ceph性能对比测试结果概要](docs/benchmark.md)\n\n* 详情参见 [完整PDF文档](docs/benchmark-20210621.pdf)\n\n* 如何进行性能测试点击 [这里](docs/benchmark-step-by-step.md)\n\n## 7. K8s CSI驱动\n\n参见项目 [fastcfs-csi](https://gitee.com/fastdfs100/fastcfs-csi)\n\n## 8. 技术文章\n\n参见 \u003ca href=\"https://my.oschina.net/u/3334339\" target=\"_blank\"\u003e技术博客\u003c/a\u003e\n\n## 9. 常见问题\n\n参见 [FastCFS常见问题](docs/FAQ-zh_CN.md)\n\n## 10. 待完成工作\n\n*  [fstore] 单盘故障恢复后，自动恢复数据（已完成）\n*  [fstore] 机器故障或网络短暂故障恢复后，master需重新均衡分配（已完成）\n*  [fauth \u0026 fdir \u0026 fstore] leader选举支持过半原则，防止脑裂（已完成）\n*  [fauth \u0026 fdir \u0026 fstore] 实现公用选举节点，双副本防脑裂（已完成）\n*  [fdir \u0026 fstore] binlog去重及历史数据清理（已完成）\n*  [fdir \u0026 fstore] 数据提交采用多数派确认机制保证数据一致性和可靠性（已完成）\n*  [fdir \u0026 fstore] 针对两副本，数据提交多数派机制智能化（已完成）\n*  [fstore] 文件读写性能优化（已完成）\n*  [fdir \u0026 api] POSIX兼容性测试及改进（已完成）\n*  [fstore] slice存储引擎插件，有限内存支持海量数据（已完成）\n*  [all] 适配RDMA网络，突破网络瓶颈（已完成）\n*  [fdir] 支持回收站功能，不用担心误删除文件（进行中）\n*  [all] 支持集群在线扩容\n\n参见更多 [TODO List](docs/TODO-zh_CN.md)，欢迎大家参与。\n\n## 11. 商业支持\n\n我们提供商业技术支持和定制化开发，欢迎微信或邮件洽谈。\n\nemail: 384681(at)qq(dot)com\n\n## 12. 联系我们\n\n查看FastCFS相关技术文章，请关注微信公众号：\n\n\u003cimg src=\"images/wechat_subscribe.jpg\" width=\"200\" alt=\"微信公众号\"\u003e\n\n微信交流群：\n\n\u003cimg src=\"images/wechat_group.jpg\" width=\"200\" alt=\"微信交流群\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappyfish100%2FFastCFS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhappyfish100%2FFastCFS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhappyfish100%2FFastCFS/lists"}