ChubaoFS (储宝文件系统) is a distributed file system for cloud native applications. It has the following features:
-
scale-out metadata management
-
strong replication consistency for both append and random write
-
specific storage optimizations for large and small files
-
multiple volumes
-
POSIX-compatible
For more details, please refer to our SIGMOD 2019 paper "ChubaoFS: A Distributed File System for Large Scale Container Platforms".
https://chubaofs.readthedocs.io/en/latest/
https://chubaofs.readthedocs.io/zh_CN/latest/
Build latest version of chubaofs is simply as following:
$ git clone http://github.com/chubaofs/chubaofs.git
$ cd chubaofs
$ make
If the build is successful, cfs-server
and cfs-client
will be found in directory build/bin
Under the docker directory, a helper tool called run_docker.sh is provided to run ChubaoFS with docker-compose.
To start a minimal ChubaoFS cluster from scratch, note that /data/disk is arbitrary, and make sure there are at least 30G available space.
$ docker/run_docker.sh -r -d /data/disk
If client starts successfully, use mount
command in client docker shell to check mount status:
$ mount | grep chubaofs
Open http://127.0.0.1:3000 in browser, login with admin/123456
to view grafana monitor metrics.
Or run server and client seperately by following commands:
$ docker/run_docker.sh -b
$ docker/run_docker.sh -s -d /data/disk
$ docker/run_docker.sh -c
$ docker/run_docker.sh -m
For more usage:
$ docker/run_docker.sh -h
Licensed under the Apache License, Version 2.0. For detail see LICENSE and NOTICE.
Reference to cite when you use the system in a research paper or tech report:
Haifeng Liu, et al., CFS: A Distributed File System for Large Scale Container Platforms. SIGMOD‘19, June 30-July 5, 2019, Amsterdam, Netherlands.