Skip to content
forked from ketor/curve

DingoFS is a project fork from Curve. Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage.

License

Notifications You must be signed in to change notification settings

dingodb/dingofs

 
 

Repository files navigation

DINGOFS

What's dingofs

DingoFS is a project fork from Curve.

Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage.

Requirements

gcc 13

dingo-eureka

Dependencies

Rocky 8.9/9.3

sudo dnf install -y epel-release
sudo dnf install -y gcc-toolset-13* fuse3-devel  libnl3-devel libunwind-devel python3-devel

wget https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz
tar zxvf cmake-3.30.1-linux-x86_64.tar.gz
sudo cp -rf cmake-3.30.1-linux-x86_64/bin/* /usr/local/bin/ &&   sudo cp -rf  cmake-3.30.1-linux-x86_64/share/* /usr/local/share && rm -rf cmake-3.30.1-linux-x86_64

source /opt/rh/gcc-toolset-13/enable

Ubuntu 22.04/24.04

sudo apt update
sudo apt install -y make gcc g++ libnl-genl-3-dev libunwind-dev libfuse3-dev python3-dev

wget https://github.com/Kitware/CMake/releases/download/v3.30.1/cmake-3.30.1-linux-x86_64.tar.gz
tar zxvf cmake-3.30.1-linux-x86_64.tar.gz
sudo cp -rf cmake-3.30.1-linux-x86_64/bin/* /usr/local/bin/ && sudo cp -rf  cmake-3.30.1-linux-x86_64/share/* /usr/local/share && rm -rf cmake-3.30.1-linux-x86_64

How to build

Build dingo-eureka

refer https://github.com/dingodb/dingo-eureka

Install jemalloc

wget https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2
tar -xjvf jemalloc-5.3.0.tar.bz2
cd jemalloc-5.3.0 && ./configure && make && make install

Build Etcd Client

bash build_thirdparties.sh

Build

mkdir builld
cd build
cmake ..
make -j 32

Build tools-v2

Dependencies

Install protobuf

PB_REL="https://github.com/protocolbuffers/protobuf/releases"
curl -LO $PB_REL/download/v25.1/protoc-25.1-linux-x86_64.zip
unzip protoc-25.1-linux-x86_64.zip -d $HOME/.local
export PATH="$PATH:$HOME/.local/bin"

Install musl-gcc

wget https://musl.libc.org/releases/musl-1.2.5.tar.gz
tar -xzvf musl-1.2.5.tar.gz
cd musl-1.2.5 && sudo ./configure && sudo make install
export PATH=$PATH:/usr/local/musl/bin

Install golang

wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

Build

cd tools-v2

make build

About

DingoFS is a project fork from Curve. Curve is a sandbox project hosted by the CNCF Foundation. It's cloud-native, high-performance, and easy to operate. Curve is an open-source distributed storage system for block and shared file storage.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 87.5%
  • Go 7.6%
  • Starlark 1.8%
  • CMake 1.2%
  • Shell 0.8%
  • C 0.7%
  • Other 0.4%