18 Star 118 Fork 11

happyfish100 / FastCFS

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

FastCFS -- a high performance cloud native distributed file system for databases, K8s and VM

Chinese language please click: README in Chinese

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.0.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 (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:

  • pull -- pull or update codes from GitHub to subdir named "build"
  • makeinstall -- compile and install in order (make clean && make && make install)
  • init -- initialize the cluster directory and config files (NOT regenerated when already exist)
  • clean -- clean the compiled program files (make clean)

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

./helloWorld.sh --prefix=/usr/local/fastcfs-test

or execute following commands (MUST by root):

./libfuse_setup.sh
./fastcfs.sh pull
./fastcfs.sh makeinstall
IP=$(ifconfig -a | grep -w inet | grep -v 127.0.0.1 | awk '{print $2}' | tr -d 'addr:' | head -n 1)
./fastcfs.sh init \
	--auth-path=/usr/local/fastcfs-test/auth \
	--auth-server-count=1 \
	--auth-host=$IP  \
	--auth-cluster-port=61011 \
	--auth-service-port=71011 \
	--auth-bind-addr=  \
	--dir-path=/usr/local/fastcfs-test/fastdir \
	--dir-server-count=1 \
	--dir-host=$IP  \
	--dir-cluster-port=11011 \
	--dir-service-port=21011 \
	--dir-bind-addr=  \
	--store-path=/usr/local/fastcfs-test/faststore \
	--store-server-count=1 \
	--store-host=$IP  \
	--store-cluster-port=31011 \
	--store-service-port=41011 \
	--store-replica-port=51011 \
	--store-bind-addr= \
	--fuse-path=/usr/local/fastcfs-test/fuse \
	--fuse-mount-point=/usr/local/fastcfs-test/fuse/fuse1

Note:
   * you should set IP variable manually with multi local ip addresses. show local ip list:
     ifconfig -a | grep -w inet | grep -v 127.0.0.1 | awk '{print $2}' | tr -d 'addr:'
   * --fuse-mount-point is the path mounted to local, the files in FastCFS can be accessed by this local path

FCFS_SHELL_PATH=$(pwd)/build/shell
$FCFS_SHELL_PATH/fastdir-cluster.sh restart
$FCFS_SHELL_PATH/faststore-cluster.sh restart
$FCFS_SHELL_PATH/fuse.sh restart

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

df -h

6. Contact us

email: 384681(at)qq(dot)com

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

Comments ( 3 )

Sign in for post a comment

About

基于块存储的高性能通用分布式文件系统,可以作为数据库(MySQL、PostgresSQL、Oracle等)以及k8s和虚拟机(KVM等)的后端存储。 spread retract
C and 4 more languages
AGPL-3.0
Cancel

Releases

No release

FastCFS

Contributors

All

Activities

load more
can not load any more
C
1
https://gitee.com/fastdfs100/FastCFS.git
git@gitee.com:fastdfs100/FastCFS.git
fastdfs100
FastCFS
FastCFS
master

Search

101046 36f486cf 1899542 101055 4cb66026 1899542