awesomeDataTool / FastCFS

A high performance distributed file system which can be used as the back-end storage of databases, K8s and VM etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FastCFS -- a high performance distributed file system for databases, K8s and VM etc.

English | 简体中文

1. About

FastCFS is a block based standard distributed file system which can be used as the back-end storage of databases (MySQL, PostgresSQL, Oracle etc.), K8s and virtual machines such as KVM.

2. Current Version

V2.3.0

3. Supported Platforms

  • Linux: Kernel version >= 3.10 (Full support)
  • MacOS or FreeBSD (Only server side)

4. Dependencies

5. Installation

5.1 DIY installation

you can use Cluster Operation Tool to deploy FastCFS

step by step please see INSTALL

recommend to execute libfuse_setup.sh for compiling and installing libfuse

5.2 easy installation

libfastcommon, libserverframe, fastDIR, faststore and FastCFS can be compiled, installed and auto configurated by fastcfs.sh

fastcfs.sh can automatically pull or update above five projects codes from GitHub, compile and install according to dependency orders, and automatically generate cluster related configuration files according to the config templates.

git clone https://github.com/happyfish100/FastCFS.git; cd FastCFS/

fastcfs.sh usage:

* install: pull/update codes from gitee, then make and install
* config: copy config files and configure them with local ip
* start | stop | restart: for service processes control

one click to build (deploy and run) single node demo environment (MUST run by root):

./helloWorld.sh

or execute following commands (MUST run by root):

./fastcfs.sh install
./fastcfs.sh config --force
./fastcfs.sh restart

now you can see the mounted path of FastCFS by the command:

df -h /opt/fastcfs/fuse | grep fuse

6. Benchmark

FastCFS has huge better performance than Ceph: the IOPS ratio of sequential write is 6.x, sequential read is 2.x, random write is about 2.0.

7. K8s CSI Driver

fastcfs-csi

8. Chinese Relative articles

CSDN blog

9. TODO List

  • [fdir] use cache + external storage to support massive files (Doing & Will be completed in mid September)
  • [fstore] hierarchical storage & slice merging: supporting two-level storage, such as SSD + HDD
  • [fstore] provide cluster tools for automatic expansion
  • [fdir & fstore] binlog deduplication (fdir binlog, fstore replica & slice binlog)
  • [fstore] after the machine recovery, the data masters should be rebalanced

10. Contact us

email: 384681(at)qq(dot)com

WeChat subscription: search "fastdfs" for the related articles (Chinese Only)

About

A high performance distributed file system which can be used as the back-end storage of databases, K8s and VM etc.

License:GNU Affero General Public License v3.0


Languages

Language:C 88.5%Language:Shell 10.4%Language:Makefile 1.1%Language:Dockerfile 0.0%