Go to file
2020-01-08 19:45:36 +08:00
.github Create pull_request_template.md 2019-12-14 11:11:04 +08:00
authnode fix log pattern issue in authnode 2019-12-25 17:48:04 +08:00
authtool add call os api from authtool 2019-12-19 19:56:31 +08:00
build add go test for docker 2019-12-25 17:48:03 +08:00
client merge with master branch and resolve conflict 2019-12-25 23:34:07 +08:00
clientv2 merge with master branch and resolve conflict 2019-12-25 23:34:07 +08:00
cmd feature: object storage interface 2019-12-17 17:36:53 +08:00
datanode fix: resolve cycle import issue in unit test by move common entity struct to proto package. 2019-12-25 17:48:04 +08:00
docker fix miss apply ID when transfer data through raft snapshot iterator. 2019-12-31 02:04:24 +08:00
docs Add: volume setup information into document evaluation content. 2020-01-07 18:08:20 +08:00
master refactor: vol checkstatus task, delete data partition and meta partition synchronously 2019-12-30 18:09:18 +08:00
metanode Fix: metanode leak memory on DeleteMetaPartition operator 2020-01-05 17:42:20 +08:00
objectnode fix issue#329 2020-01-01 23:20:08 +08:00
proto fix: resolve cycle import issue in unit test by move common entity struct to proto package. 2019-12-25 17:48:04 +08:00
raftstore fix: remove unit tests with design issue. 2019-12-25 17:48:04 +08:00
repl refactor: refine labels of the disk error metric 2019-11-12 17:27:14 +08:00
sdk fix: resolve cycle import issue in unit test by move common entity struct to proto package. 2019-12-25 17:48:04 +08:00
storage merge with master branch and resolve conflict 2019-12-25 23:34:07 +08:00
util merge with master branch and resolve conflict 2019-12-25 23:34:07 +08:00
vendor Fix: metanode leak memory on DeleteMetaPartition operator 2020-01-05 17:42:20 +08:00
.gitignore add go test for docker 2019-12-25 17:48:03 +08:00
.gitlab-ci.yml add go test for docker 2019-12-25 17:48:03 +08:00
.travis.yml add cfs-base dockerfile 2019-06-18 20:55:18 +08:00
ADOPTERS.md Create ADOPTERS.md 2019-11-03 10:55:04 +08:00
CHANGELOG.md Update CHANGELOG.md from v1.4.0 to v1.5.0 2020-01-08 18:03:06 +08:00
CODE_OF_CONDUCT.md Add code of conduct 2019-04-25 15:15:17 -07:00
CONTRIBUTING.md Add CONTRIBUTING.md 2019-05-07 18:22:17 +08:00
GOVERNANCE.md Add governance 2019-05-06 11:26:33 -07:00
LICENSE Update LICENSE 2019-04-11 15:35:20 +08:00
MAINTAINERS.md supplementary licence information and documents 2019-12-19 19:03:30 +08:00
Makefile makefile: slience /bin/sh syntax warning 2019-11-28 12:38:14 +08:00
NOTICE init cfs docs 2019-03-04 17:28:58 +08:00
README.md Merge branch 'master' into readme 2019-12-18 10:03:38 -08:00
ROADMAP.md Update ROADMAP.md 2019-11-10 15:20:14 +08:00

ChubaoFS

Build Status LICENSE Language Go Report Card Docs FOSSA Status CII Best Practices

Overview

ChubaoFS (储宝文件系统 in Chinese) is a distributed file system and object storage service for cloud native applications. It is hosted by the Cloud Native Computing Foundation (CNCF) as a sandbox project.

ChubaoFS has been commonly used as the underlying storage infrastructure for online applications, database or data processing services and machine learning jobs orchestrated by Kubernetes. An advantage of doing so is to separate storage from compute - one can scale up or down based on the workload and independent of the other, providing total flexibility in matching resources to the actual storage and compute capacity required at any given time.

Some key features of ChubaoFS include:

  • Scale-out metadata management

  • Strong replication consistency

  • Specific performance optimizations for large/small files and sequential/random writes

  • Multi-tenancy

  • POSIX-compatible and mountable

  • S3-compatible object storage interface

We are committed to making ChubaoFS better and more mature. Please stay tuned.

Document

https://chubaofs.readthedocs.io/en/latest/

https://chubaofs.readthedocs.io/zh_CN/latest/

Build

$ git clone http://github.com/chubaofs/chubaofs.git
$ cd chubaofs
$ make

If the build succeeds, cfs-server and cfs-client can be found in build/bin

Docker

A helper tool called run_docker.sh (under the docker directory) has been provided to run ChubaoFS with docker-compose.

$ docker/run_docker.sh -r -d /data/disk

Note that /data/disk can be any directory but please make sure it has at least 10G available space.

To check the mount status, use the mount command in the client docker shell:

$ mount | grep chubaofs

To view grafana monitor metrics, open http://127.0.0.1:3000 in browser and login with admin/123456.

To run server and client separately, use the 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

License

ChubaoFS is licensed under the Apache License, Version 2.0. For detail see LICENSE and NOTICE.

FOSSA Status

Reference

Haifeng Liu, et al., CFS: A Distributed File System for Large Scale Container Platforms. SIGMOD19, June 30-July 5, 2019, Amsterdam, Netherlands.

For more information, please refer to https://dl.acm.org/citation.cfm?doid=3299869.3314046 and https://arxiv.org/abs/1911.03001

Community