在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:ceph开源软件地址:https://gitee.com/mirrors/ceph开源软件介绍:Ceph - a scalable distributed storage systemPlease see http://ceph.com/ for current info. Contributing CodeMost of Ceph is dual licensed under the LGPL version 2.1 or 3.0. Somemiscellaneous code is under a BSD-style license or is public domain.The documentation is licensed under Creative CommonsAttribution Share Alike 3.0 (CC-BY-SA-3.0). There are a handful of headersincluded here that are licensed under the GPL. Please see the fileCOPYING for a full inventory of licenses by file. Code contributions must include a valid "Signed-off-by" acknowledgingthe license for the modified or contributed file. Please see the fileSubmittingPatches.rst for details on what that means and on how togenerate and submit patches. We do not require assignment of copyright to contribute code; code iscontributed under the terms of the applicable license. Checking out the sourceYou can clone from github with git clone [email protected]: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 PrerequisitesThe list of Debian or RPM packages dependencies can be installed with: ./install-deps.sh Building CephNote that these instructions are meant for developers who arecompiling the code for development and testing. To build binariessuitable for installation we recommend you build deb or rpm packagesor refer to the Build instructions: ./do_cmake.shcd buildninja (do_cmake.sh now defaults to creating a debug build of ceph that canbe up to 5x slower with some workloads. Please pass"-DCMAKE_BUILD_TYPE=RelWithDebInfo" to do_cmake.sh to create a non-debugrelease. The number of jobs used by This assumes you make your build dir a subdirectory of the ceph.gitcheckout. If you put it elsewhere, just point ARGS="-DCMAKE_C_COMPILER=gcc-7" ./do_cmake.sh To build only certain targets use: ninja [target name] To install: ninja install CMake OptionsIf you run the cmake -DWITH_RADOSGW=OFF [path to top-level ceph directory] Another example below is building with debugging and alternate locationsfor a couple of external dependencies: cmake -DLEVELDB_PREFIX="/opt/hyperleveldb" \-DCMAKE_INSTALL_PREFIX=/opt/ceph -DCMAKE_C_FLAGS="-Og -g3 -gdwarf-4" \.. To view an exhaustive list of -D options, you can invoke cmake -LH If you often pipe cmake -DDIAGNOSTICS_COLOR=always ... Then you'll get the diagnostic colors when you execute: ninja | less -R Other available values for 'DIAGNOSTICS_COLOR' are 'auto' (default) and'never'. Building a source tarballTo build a complete source tarball with everything needed to build fromsource 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 directoryare committed to git.) Running a test clusterTo run a functional test cluster, cd buildninja 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 testsTo build and run all tests (in parallel using all processors), use cd buildninjactest -j$(nproc) (Note: Many targets built from src/test are not run using When failures occur, look in build/Testing/Temporary for logs. To build and run all tests and their dependencies without otherunnecessary targets in Ceph: cd buildninja check -j$(nproc) To run an individual test manually, run ctest -R [regex matching test name(s)] (Note: To run an individual test manually and see all the tests output, run ctest -V -R [regex matching test name(s)] To run tests manually and run the jobs in parallel, run ctest -j [number of jobs] There are many other flags you can give man ctest Building the DocumentationPrerequisitesThe list of package dependencies for building the documentation can befound in sudo apt-get install `cat doc_deps.deb.txt` Building the DocumentationTo build the documentation, ensure that you are in the top-level admin/build-doc Reporting IssuesTo report an issue and view existing issues, please visit https://tracker.ceph.com/projects/ceph. |
请发表评论