diff --git a/README.md b/README.md index 49b6a6957b96be9424b2479e9c7b19c4e9b44f8c..e5d3e2449d8b163cea00f69d629842a935e331d8 100644 --- a/README.md +++ b/README.md @@ -1,212 +1,14 @@ -# Ceph - a scalable distributed storage system +# Ceph +## 介绍 +Ceph是一个专注于分布式的、弹性可扩展的、高可靠的、性能优异的存储系统平台,可以同时支持块设备、文件系统和对象网关三种类型的存储接口。 +详细特性介绍可参考[Ceph官网](https://ceph.com/en/) -Please see http://ceph.com/ for current info. +## 仓库说明 +EC Turbo是华为自研的Ceph纠删码存储池性能优化特性库,其提升了长度在一个条带内的数据的IO读写性能。本分支主要解决EC Turbo特性在Ceph 14.2.8的适配场景,可优化EC数据存储池性能。 +## 使用说明 +使用指南参考文档[EC Turbo-应用加速特性](https://www.hikunpeng.com/document/detail/zh/kunpengsdss/appAccelFeatures/ecturbo/kunpengecturbo_20_0001.html)。 -## Contributing Code - -Most of Ceph is licensed under the LGPL version 2.1. Some -miscellaneous code is under BSD-style license or is public domain. -The documentation is licensed under Creative Commons -Attribution Share Alike 3.0 (CC-BY-SA-3.0). There are a handful of headers -included here that are licensed under the GPL. Please see the file -COPYING for a full inventory of licenses by file. - -Code contributions must include a valid "Signed-off-by" acknowledging -the license for the modified or contributed file. Please see the file -SubmittingPatches.rst for details on what that means and on how to -generate and submit patches. - -We do not require assignment of copyright to contribute code; code is -contributed under the terms of the applicable license. - - -## Checking out the source - -You can clone from github with - - git clone git@github.com:ceph/ceph - -or, if you are not a github user, - - git clone git://github.com/ceph/ceph - -Ceph contains many git submodules that need to be checked out with - - git submodule update --init --recursive - - -## Build Prerequisites - -The list of Debian or RPM packages dependencies can be installed with: - - ./install-deps.sh - - -## Building Ceph - -Note that these instructions are meant for developers who are -compiling the code for development and testing. To build binaries -suitable for installation we recommend you build deb or rpm packages, -or refer to the `ceph.spec.in` or `debian/rules` to see which -configuration options are specified for production builds. - -Prerequisite: CMake 3.5.1 - -Build instructions: - - ./do_cmake.sh - cd build - make - -(Note: do_cmake.sh now defaults to creating a debug build of ceph that can -be up to 5x slower with some workloads. Please pass -"-DCMAKE_BUILD_TYPE=RelWithDebInfo" to do_cmake.sh to create a non-debug -release.) - -This assumes you make your build dir a subdirectory of the ceph.git -checkout. If you put it elsewhere, just replace `..` in do_cmake.sh with a -correct path to the checkout. Any additional CMake args can be specified -setting ARGS before invoking do_cmake. See [cmake options](#cmake-options) -for more details. Eg. - - ARGS="-DCMAKE_C_COMPILER=gcc-7" ./do_cmake.sh - -To build only certain targets use: - - make [target name] - -To install: - - make install - -### CMake Options - -If you run the `cmake` command by hand, there are many options you can -set with "-D". For example the option to build the RADOS Gateway is -defaulted to ON. To build without the RADOS Gateway: - - cmake -DWITH_RADOSGW=OFF [path to top level ceph directory] - -Another example below is building with debugging and alternate locations -for a couple of external dependencies: - - cmake -DLEVELDB_PREFIX="/opt/hyperleveldb" -DOFED_PREFIX="/opt/ofed" \ - -DCMAKE_INSTALL_PREFIX=/opt/accelio -DCMAKE_C_FLAGS="-O0 -g3 -gdwarf-4" \ - .. - -To view an exhaustive list of -D options, you can invoke `cmake` with: - - cmake -LH - -If you often pipe `make` to `less` and would like to maintain the -diagnostic colors for errors and warnings (and if your compiler -supports it), you can invoke `cmake` with: - - cmake -DDIAGNOSTICS_COLOR=always .. - -Then you'll get the diagnostic colors when you execute: - - make | less -R - -Other available values for 'DIAGNOSTICS_COLOR' are 'auto' (default) and -'never'. - - -## Building a source tarball - -To build a complete source tarball with everything needed to build from -source and/or build a (deb or rpm) package, run - - ./make-dist - -This will create a tarball like ceph-$version.tar.bz2 from git. -(Ensure that any changes you want to include in your working directory -are committed to git.) - - -## Running a test cluster - -To run a functional test cluster, - - cd build - make vstart # builds just enough to run vstart - ../src/vstart.sh --debug --new -x --localhost --bluestore - ./bin/ceph -s - -Almost all of the usual commands are available in the bin/ directory. -For example, - - ./bin/rados -p rbd bench 30 write - ./bin/rbd create foo --size 1000 - -To shut down the test cluster, - - ../src/stop.sh - -To start or stop individual daemons, the sysvinit script can be used: - - ./bin/init-ceph restart osd.0 - ./bin/init-ceph stop - - -## Running unit tests - -To build and run all tests (in parallel using all processors), use `ctest`: - - cd build - make - ctest -j$(nproc) - -(Note: Many targets built from src/test are not run using `ctest`. -Targets starting with "unittest" are run in `make check` and thus can -be run with `ctest`. Targets starting with "ceph_test" can not, and should -be run by hand.) - -When failures occur, look in build/Testing/Temporary for logs. - -To build and run all tests and their dependencies without other -unnecessary targets in Ceph: - - cd build - make check -j$(nproc) - -To run an individual test manually, run `ctest` with -R (regex matching): - - ctest -R [regex matching test name(s)] - -(Note: `ctest` does not build the test it's running or the dependencies needed -to run it) - -To run an individual test manually and see all the tests output, run -`ctest` with the -V (verbose) flag: - - ctest -V -R [regex matching test name(s)] - -To run an tests manually and run the jobs in parallel, run `ctest` with -the `-j` flag: - - ctest -j [number of jobs] - -There are many other flags you can give `ctest` for better control -over manual test execution. To view these options run: - - man ctest - - -## Building the Documentation - -### Prerequisites - -The list of package dependencies for building the documentation can be -found in `doc_deps.deb.txt`: - - sudo apt-get install `cat doc_deps.deb.txt` - -### Building the Documentation - -To build the documentation, ensure that you are in the top-level -`/ceph` directory, and execute the build script. For example: - - admin/build-doc - +## 参与贡献 +如果您想为本仓库贡献代码,请向本仓库任意maintainer发送邮件; +如果您找到产品中的任何Bug,欢迎您提出ISSUE \ No newline at end of file